Initial commit
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
index.php
|
||||
typo3
|
||||
typo3temp/*
|
||||
!typo3temp/.gitkeep
|
||||
typo3conf/ENABLE_INSTALL_TOOL
|
||||
typo3conf/deprecation.log
|
||||
404
.htaccess
Normal file
@@ -0,0 +1,404 @@
|
||||
#AuthType Basic
|
||||
#AuthName "Passwortgeschuetzter Bereich"
|
||||
#AuthUserFile /home/www/p265112/html/typo3/.htpasswd
|
||||
#require user oberstufenplaner
|
||||
|
||||
#####
|
||||
#
|
||||
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
|
||||
#
|
||||
# This file includes settings for the following configuration options:
|
||||
#
|
||||
# - Compression
|
||||
# - Caching
|
||||
# - MIME types
|
||||
# - Cross Origin requests
|
||||
# - Rewriting and Access
|
||||
# - Miscellaneous
|
||||
# - PHP optimisation
|
||||
#
|
||||
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
|
||||
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
|
||||
# adjust the 'AllowOverride' directive in your Apache configuration file.
|
||||
#
|
||||
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
|
||||
# Consider adding this file's content to your webserver's configuration directly for speed improvement
|
||||
#
|
||||
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
|
||||
#
|
||||
####
|
||||
|
||||
|
||||
### Begin: Compression ###
|
||||
|
||||
# Compressing resource files will save bandwidth and so improve loading speed especially for users
|
||||
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
|
||||
# *) Uncomment the following lines and
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
|
||||
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
|
||||
|
||||
#<FilesMatch "\.js\.gzip$">
|
||||
# AddType "text/javascript" .gzip
|
||||
#</FilesMatch>
|
||||
#<FilesMatch "\.css\.gzip$">
|
||||
# AddType "text/css" .gzip
|
||||
#</FilesMatch>
|
||||
#AddEncoding gzip .gzip
|
||||
|
||||
AddEncoding gzip .gzip
|
||||
<IfModule mod_deflate.c>
|
||||
AddOutputFilterByType DEFLATE text/plain
|
||||
AddOutputFilterByType DEFLATE text/html
|
||||
AddOutputFilterByType DEFLATE text/xml
|
||||
AddOutputFilterByType DEFLATE text/css
|
||||
AddOutputFilterByType DEFLATE text/javascript
|
||||
AddOutputFilterByType DEFLATE application/xml
|
||||
AddOutputFilterByType DEFLATE application/xhtml+xml
|
||||
AddOutputFilterByType DEFLATE application/rss+xml
|
||||
AddOutputFilterByType DEFLATE application/javascript
|
||||
AddOutputFilterByType DEFLATE application/x-javascript
|
||||
AddOutputFilterByType DEFLATE application/x-shockwave-flash
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
# Force compression for mangled `Accept-Encoding` request headers
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following media types
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/ld+json \
|
||||
application/manifest+json \
|
||||
application/rdf+xml \
|
||||
application/rss+xml \
|
||||
application/schema+json \
|
||||
application/vnd.geo+json \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/x-javascript \
|
||||
application/x-web-app-manifest+json \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/eot \
|
||||
font/opentype \
|
||||
image/bmp \
|
||||
image/svg+xml \
|
||||
image/vnd.microsoft.icon \
|
||||
image/x-icon \
|
||||
text/cache-manifest \
|
||||
text/css \
|
||||
text/html \
|
||||
text/javascript \
|
||||
text/plain \
|
||||
text/vcard \
|
||||
text/vnd.rim.location.xloc \
|
||||
text/vtt \
|
||||
text/x-component \
|
||||
text/x-cross-domain-policy \
|
||||
text/xml
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
### End: Compression ###
|
||||
|
||||
### BEGIN EXT:scriptmerger ###
|
||||
|
||||
# Removal of ETag (saves some bytes; the last modified header is still there)
|
||||
FileETag MTime Size
|
||||
<IfModule mod_headers.c>
|
||||
FileETag none
|
||||
</IfModule>
|
||||
|
||||
# Client caching of JS/CSS files (because they are merged with an applied hash!)
|
||||
# Note: Unsetting of the last modified header causes a permant 200 Ok status
|
||||
<FilesMatch "\.(merge|min|gz)(\.gz)?\.(js|css)">
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 year"
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
Header append Cache-Control "public"
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
# deliver the uncompressed file if gzip encoding isn't accepted
|
||||
AddEncoding x-gzip .gz
|
||||
RewriteCond %{HTTP:accept-encoding} !.*(x-)?gzip.* [NC,OR]
|
||||
RewriteCond %{HTTP:accept-encoding} .*(x-)?gzip;q=0.* [NC]
|
||||
RewriteRule ^typo3temp/scriptmerger/compressed/(.+)\.gz\.(js|css) typo3temp/scriptmerger/uncompressed/$1.$2 [L,NC]
|
||||
|
||||
### END EXT:scriptmerger ###
|
||||
|
||||
### Begin: Browser caching of resource files ###
|
||||
|
||||
# This affects Frontend and Backend and increases performance.
|
||||
<IfModule mod_expires.c>
|
||||
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 month"
|
||||
|
||||
ExpiresByType text/css "access plus 1 year"
|
||||
|
||||
ExpiresByType application/json "access plus 0 seconds"
|
||||
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||
ExpiresByType application/schema+json "access plus 0 seconds"
|
||||
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
|
||||
ExpiresByType application/xml "access plus 0 seconds"
|
||||
ExpiresByType text/xml "access plus 0 seconds"
|
||||
|
||||
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
||||
ExpiresByType image/x-icon "access plus 1 week"
|
||||
|
||||
ExpiresByType text/x-component "access plus 1 month"
|
||||
|
||||
ExpiresByType text/html "access plus 0 seconds"
|
||||
|
||||
ExpiresByType application/javascript "access plus 1 year"
|
||||
ExpiresByType application/x-javascript "access plus 1 year"
|
||||
ExpiresByType text/javascript "access plus 1 year"
|
||||
|
||||
ExpiresByType application/manifest+json "access plus 1 week"
|
||||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||
|
||||
ExpiresByType audio/ogg "access plus 1 month"
|
||||
ExpiresByType image/bmp "access plus 1 month"
|
||||
ExpiresByType image/gif "access plus 1 month"
|
||||
ExpiresByType image/jpeg "access plus 1 month"
|
||||
ExpiresByType image/png "access plus 1 month"
|
||||
ExpiresByType image/svg+xml "access plus 1 month"
|
||||
ExpiresByType image/webp "access plus 1 month"
|
||||
ExpiresByType video/mp4 "access plus 1 month"
|
||||
ExpiresByType video/ogg "access plus 1 month"
|
||||
ExpiresByType video/webm "access plus 1 month"
|
||||
|
||||
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||
ExpiresByType application/rdf+xml "access plus 1 hour"
|
||||
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||
|
||||
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
||||
ExpiresByType font/eot "access plus 1 month"
|
||||
ExpiresByType font/opentype "access plus 1 month"
|
||||
ExpiresByType application/x-font-ttf "access plus 1 month"
|
||||
ExpiresByType application/font-woff "access plus 1 month"
|
||||
ExpiresByType application/x-font-woff "access plus 1 month"
|
||||
ExpiresByType font/woff "access plus 1 month"
|
||||
ExpiresByType application/font-woff2 "access plus 1 month"
|
||||
|
||||
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
||||
|
||||
</IfModule>
|
||||
|
||||
### End: Browser caching of resource files ###
|
||||
|
||||
|
||||
### Begin: MIME types ###
|
||||
|
||||
# Proper MIME types for all files
|
||||
<IfModule mod_mime.c>
|
||||
|
||||
# Data interchange
|
||||
AddType application/atom+xml atom
|
||||
AddType application/json json map topojson
|
||||
AddType application/ld+json jsonld
|
||||
AddType application/rss+xml rss
|
||||
AddType application/vnd.geo+json geojson
|
||||
AddType application/xml rdf xml
|
||||
|
||||
# JavaScript
|
||||
AddType application/javascript js
|
||||
|
||||
# Manifest files
|
||||
AddType application/manifest+json webmanifest
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType text/cache-manifest appcache
|
||||
|
||||
# Media files
|
||||
|
||||
AddType audio/mp4 f4a f4b m4a
|
||||
AddType audio/ogg oga ogg opus
|
||||
AddType image/bmp bmp
|
||||
AddType image/svg+xml svg svgz
|
||||
AddType image/webp webp
|
||||
AddType video/mp4 f4v f4p m4v mp4
|
||||
AddType video/ogg ogv
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
AddType image/x-icon cur ico
|
||||
|
||||
# Web fonts
|
||||
AddType application/font-woff woff
|
||||
AddType application/font-woff2 woff2
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
AddType application/x-font-ttf ttc ttf
|
||||
AddType font/opentype otf
|
||||
|
||||
# Other
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-bb-appworld bbaw
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType text/vcard vcard vcf
|
||||
AddType text/vnd.rim.location.xloc xloc
|
||||
AddType text/vtt vtt
|
||||
AddType text/x-component htc
|
||||
|
||||
</IfModule>
|
||||
|
||||
# UTF-8 encoding
|
||||
AddDefaultCharset utf-8
|
||||
<IfModule mod_mime.c>
|
||||
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
|
||||
</IfModule>
|
||||
|
||||
### End: MIME types ###
|
||||
|
||||
|
||||
|
||||
### Begin: Cross Origin ###
|
||||
|
||||
# Send the CORS header for images when browsers request it.
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||
SetEnvIf Origin ":" IS_CORS
|
||||
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Allow cross-origin access to web fonts.
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
### End: Cross Origin ###
|
||||
|
||||
|
||||
|
||||
### Begin: Rewriting and Access ###
|
||||
|
||||
# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
# Enable URL rewriting
|
||||
RewriteEngine On
|
||||
|
||||
# Store the current location in an environment variable CWD to use
|
||||
# mod_rewrite in .htaccess files without knowing the RewriteBase
|
||||
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
||||
RewriteRule ^.*$ - [E=CWD:%2]
|
||||
|
||||
# Rules to set ApplicationContext based on hostname
|
||||
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
|
||||
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
|
||||
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
|
||||
|
||||
# Rule for versioned static files, configured through:
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
|
||||
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
|
||||
|
||||
# Access block for folders
|
||||
RewriteRule _(?:recycler|temp)_/ - [F]
|
||||
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
|
||||
RewriteRule typo3temp/logs/ - [F]
|
||||
RewriteRule ^(vendor|typo3_src) - [F]
|
||||
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?)/ - [F]
|
||||
|
||||
# Access block for files or folders starting with a dot
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule (?:^|/)\. - [F]
|
||||
|
||||
# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
|
||||
# NOTE: Add your additional local storages here
|
||||
RewriteRule (?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
|
||||
|
||||
# If the file/symlink/directory does not exist => Redirect to index.php.
|
||||
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-l
|
||||
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
|
||||
|
||||
</IfModule>
|
||||
|
||||
# Access block for files
|
||||
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$">
|
||||
# Apache < 2.3
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</IfModule>
|
||||
|
||||
# Apache ≥ 2.3
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
# Block access to vcs directories
|
||||
<IfModule mod_alias.c>
|
||||
RedirectMatch 404 /\.(?:git|svn|hg)/
|
||||
</IfModule>
|
||||
|
||||
### End: Rewriting and Access ###
|
||||
|
||||
|
||||
|
||||
### Begin: Miscellaneous ###
|
||||
|
||||
# 404 error prevention for non-existing redirected folders
|
||||
Options -MultiViews
|
||||
|
||||
# Make sure that directory listings are disabled.
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
# Force IE to render pages in the highest available mode
|
||||
Header set X-UA-Compatible "IE=edge"
|
||||
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
|
||||
# Reducing MIME type security risks
|
||||
Header set X-Content-Type-Options "nosniff"
|
||||
</IfModule>
|
||||
|
||||
# ETag removal
|
||||
<IfModule mod_headers.c>
|
||||
Header unset ETag
|
||||
</IfModule>
|
||||
FileETag None
|
||||
|
||||
### End: Miscellaneous ###
|
||||
|
||||
|
||||
# Add your own rules here.
|
||||
1
.htpasswd
Normal file
@@ -0,0 +1 @@
|
||||
oberstufenplaner:$apr1$Hv9r4My6$PajMgVfBXsmAmhSH7jdYq.
|
||||
1
.well-known/test.html
Normal file
@@ -0,0 +1 @@
|
||||
<h1>Hallo</h1>
|
||||
BIN
favicon.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
fileadmin/_processed_/preview_style_fd43f27f8d.gif
Normal file
|
After Width: | Height: | Size: 335 B |
6
fileadmin/_temp_/.htaccess
Normal file
@@ -0,0 +1,6 @@
|
||||
# This file restricts access to the fileadmin/_temp_ directory. It is
|
||||
# meant to protect temporary files which could contain sensible
|
||||
# information. Please do not touch.
|
||||
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
7
fileadmin/_temp_/index.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE></TITLE>
|
||||
<META http-equiv=Refresh Content="0; Url=/">
|
||||
</HEAD>
|
||||
</HTML>
|
||||
3
fileadmin/templates/Layouts/defaultLayout.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<div id="navbar"><a id="hamburger" href="#mobilemenu"></a></div>
|
||||
|
||||
<f:render section="content" />
|
||||
464
fileadmin/templates/css/jquery-ui.css
vendored
Normal file
@@ -0,0 +1,464 @@
|
||||
/*! jQuery UI - v1.8.24 - 2012-09-28
|
||||
* https://github.com/jquery/jquery-ui
|
||||
* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css
|
||||
* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden { display: none; }
|
||||
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
||||
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
||||
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
|
||||
.ui-helper-clearfix:after { clear: both; }
|
||||
.ui-helper-clearfix { zoom: 1; }
|
||||
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled { cursor: default !important; }
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
|
||||
/* IE/Win - Fix animation bug - #4615 */
|
||||
.ui-accordion { width: 100%; }
|
||||
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
||||
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; font-weight: bold; color:#333!important;}
|
||||
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
||||
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
||||
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
||||
.ui-accordion .ui-accordion-content { padding: 10px; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
||||
.ui-accordion .ui-accordion-content-active { display: block; }
|
||||
|
||||
.ui-autocomplete { position: absolute; cursor: default; }
|
||||
|
||||
/* workarounds */
|
||||
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
||||
|
||||
/*
|
||||
* jQuery UI Menu 1.8.24
|
||||
*
|
||||
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Menu#theming
|
||||
*/
|
||||
.ui-menu {
|
||||
list-style:none;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
display:block;
|
||||
float: left;
|
||||
}
|
||||
.ui-menu .ui-menu {
|
||||
margin-top: -3px;
|
||||
}
|
||||
.ui-menu .ui-menu-item {
|
||||
margin:0;
|
||||
padding: 0;
|
||||
zoom: 1;
|
||||
float: left;
|
||||
clear: left;
|
||||
width: 100%;
|
||||
}
|
||||
.ui-menu .ui-menu-item a {
|
||||
text-decoration:none;
|
||||
display:block;
|
||||
padding:.2em .4em;
|
||||
line-height:1.5;
|
||||
zoom:1;
|
||||
}
|
||||
.ui-menu .ui-menu-item a.ui-state-hover,
|
||||
.ui-menu .ui-menu-item a.ui-state-active {
|
||||
font-weight: normal;
|
||||
margin: -1px;
|
||||
}
|
||||
|
||||
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
||||
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
||||
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
||||
.ui-button-icons-only { width: 3.4em; }
|
||||
button.ui-button-icons-only { width: 3.7em; }
|
||||
|
||||
/*button text element */
|
||||
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
||||
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
||||
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
||||
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
||||
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
||||
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
||||
/* no icon support for input elements, provide padding by default */
|
||||
input.ui-button { padding: .4em 1em; }
|
||||
|
||||
/*button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
||||
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
||||
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
||||
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
||||
|
||||
/*button sets*/
|
||||
.ui-buttonset { margin-right: 7px; }
|
||||
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
||||
|
||||
/* workarounds */
|
||||
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
||||
|
||||
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
||||
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
||||
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
||||
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
||||
.ui-datepicker .ui-datepicker-next { right:2px; }
|
||||
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
||||
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
||||
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
||||
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
||||
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
||||
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
||||
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
||||
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
||||
.ui-datepicker td { border: 0; padding: 1px; }
|
||||
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
||||
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
||||
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
||||
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl { direction: rtl; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
||||
|
||||
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
||||
.ui-datepicker-cover {
|
||||
position: absolute; /*must have*/
|
||||
z-index: -1; /*must have*/
|
||||
filter: mask(); /*must have*/
|
||||
top: -4px; /*must have*/
|
||||
left: -4px; /*must have*/
|
||||
width: 200px; /*must have*/
|
||||
height: 200px; /*must have*/
|
||||
}
|
||||
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
||||
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
||||
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
||||
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
||||
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
||||
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
||||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
||||
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
||||
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
||||
|
||||
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
|
||||
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
||||
.ui-resizable { position: relative;}
|
||||
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
|
||||
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
||||
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
||||
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
||||
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
||||
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
||||
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
||||
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
||||
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
|
||||
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
||||
|
||||
.ui-slider { position: relative; text-align: left; }
|
||||
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
||||
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
||||
|
||||
.ui-slider-horizontal { height: .8em; }
|
||||
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
||||
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
||||
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
||||
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
||||
|
||||
.ui-slider-vertical { width: .8em; height: 100px; }
|
||||
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
||||
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
||||
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
||||
.ui-slider-vertical .ui-slider-range-max { top: 0; }
|
||||
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
||||
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
||||
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
||||
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
||||
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
||||
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
||||
.ui-tabs .ui-tabs-hide { display: none !important; }
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.ui-widget { font-size: 1.1em/*{fsDefault}*/; }
|
||||
.ui-widget .ui-widget { font-size: 1em; }
|
||||
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-size: 1em; }
|
||||
.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ /*url(images/ui-bg_flat_75_ffffff_40x100.png)*//*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
|
||||
/*.ui-widget-content a { color: #222222*//*{fcContent}*//*; }*/
|
||||
.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ /*url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)*//*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
|
||||
.ui-widget-header a { color: #222222/*{fcHeader}*/; }
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { background-color: #008ecd; font-weight: normal; color: #fff!important; padding:10px;text-transform: none;margin-bottom:0px;}
|
||||
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
|
||||
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { /*{borderColorDefault}*/ background-color: #008ecd/*{bgColorDefault}*/; font-weight: normal/*{fwDefault}*/; color: #003f77;/*{fcDefault}*/padding:10px;text-transform: none; margin-bottom:0px; }
|
||||
.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; }
|
||||
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/;background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
|
||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
|
||||
.ui-widget :active { outline: none; }
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
|
||||
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
|
||||
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
|
||||
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
|
||||
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
|
||||
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
||||
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
||||
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon { width: 16px; height: 16px; /*background-image: url(images/ui-icons_222222_256x240.png*/)/*{iconsContent}*/; }
|
||||
.ui-widget-content .ui-icon {/*background-image: url(images/ui-icons_222222_256x240.png*/)/*{iconsContent}*/; }
|
||||
.ui-widget-header .ui-icon {/*background-image: url(images/ui-icons_222222_256x240.png*/)/*{iconsHeader}*/; }
|
||||
.ui-state-default .ui-icon { /*background-image: url(images/ui-icons_888888_256x240.png*/)/*{iconsDefault}*/; }
|
||||
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {/*background-image: url(images/ui-icons_454545_256x240.png*/)/*{iconsHover}*/; }
|
||||
.ui-state-active .ui-icon {/*background-image: url(images/ui-icons_454545_256x240.png*/)/*{iconsActive}*/; }
|
||||
.ui-state-highlight .ui-icon {/*background-image: url(images/ui-icons_2e83ff_256x240.png*/)/*{iconsHighlight}*/; }
|
||||
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {/*background-image: url(images/ui-icons_cd0a0a_256x240.png*/)/*{iconsError}*/; }
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.ui-icon-extlink { background-position: -32px -80px; }
|
||||
.ui-icon-newwin { background-position: -48px -80px; }
|
||||
.ui-icon-refresh { background-position: -64px -80px; }
|
||||
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.ui-icon-document { background-position: -32px -96px; }
|
||||
.ui-icon-document-b { background-position: -48px -96px; }
|
||||
.ui-icon-note { background-position: -64px -96px; }
|
||||
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.ui-icon-comment { background-position: -128px -96px; }
|
||||
.ui-icon-person { background-position: -144px -96px; }
|
||||
.ui-icon-print { background-position: -160px -96px; }
|
||||
.ui-icon-trash { background-position: -176px -96px; }
|
||||
.ui-icon-locked { background-position: -192px -96px; }
|
||||
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.ui-icon-tag { background-position: -240px -96px; }
|
||||
.ui-icon-home { background-position: 0 -112px; }
|
||||
.ui-icon-flag { background-position: -16px -112px; }
|
||||
.ui-icon-calendar { background-position: -32px -112px; }
|
||||
.ui-icon-cart { background-position: -48px -112px; }
|
||||
.ui-icon-pencil { background-position: -64px -112px; }
|
||||
.ui-icon-clock { background-position: -80px -112px; }
|
||||
.ui-icon-disk { background-position: -96px -112px; }
|
||||
.ui-icon-calculator { background-position: -112px -112px; }
|
||||
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.ui-icon-search { background-position: -160px -112px; }
|
||||
.ui-icon-wrench { background-position: -176px -112px; }
|
||||
.ui-icon-gear { background-position: -192px -112px; }
|
||||
.ui-icon-heart { background-position: -208px -112px; }
|
||||
.ui-icon-star { background-position: -224px -112px; }
|
||||
.ui-icon-link { background-position: -240px -112px; }
|
||||
.ui-icon-cancel { background-position: 0 -128px; }
|
||||
.ui-icon-plus { background-position: -16px -128px; }
|
||||
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.ui-icon-minus { background-position: -48px -128px; }
|
||||
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.ui-icon-close { background-position: -80px -128px; }
|
||||
.ui-icon-closethick { background-position: -96px -128px; }
|
||||
.ui-icon-key { background-position: -112px -128px; }
|
||||
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.ui-icon-scissors { background-position: -144px -128px; }
|
||||
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.ui-icon-copy { background-position: -176px -128px; }
|
||||
.ui-icon-contact { background-position: -192px -128px; }
|
||||
.ui-icon-image { background-position: -208px -128px; }
|
||||
.ui-icon-video { background-position: -224px -128px; }
|
||||
.ui-icon-script { background-position: -240px -128px; }
|
||||
.ui-icon-alert { background-position: 0 -144px; }
|
||||
.ui-icon-info { background-position: -16px -144px; }
|
||||
.ui-icon-notice { background-position: -32px -144px; }
|
||||
.ui-icon-help { background-position: -48px -144px; }
|
||||
.ui-icon-check { background-position: -64px -144px; }
|
||||
.ui-icon-bullet { background-position: -80px -144px; }
|
||||
.ui-icon-radio-off { background-position: -96px -144px; }
|
||||
.ui-icon-radio-on { background-position: -112px -144px; }
|
||||
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.ui-icon-play { background-position: 0 -160px; }
|
||||
.ui-icon-pause { background-position: -16px -160px; }
|
||||
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.ui-icon-power { background-position: 0 -176px; }
|
||||
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.ui-icon-signal { background-position: -32px -176px; }
|
||||
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { }
|
||||
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { }
|
||||
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
|
||||
.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }
|
||||
1589
fileadmin/templates/css/jquery.mmenu.all.css
Normal file
353
fileadmin/templates/css/jquery.mmenu.css
Normal file
@@ -0,0 +1,353 @@
|
||||
/*
|
||||
jQuery.mmenu CSS
|
||||
*/
|
||||
/*
|
||||
jQuery.mmenu oncanvas CSS
|
||||
*/
|
||||
.mm-hidden {
|
||||
display: none !important; }
|
||||
|
||||
.mm-wrapper {
|
||||
overflow-x: hidden;
|
||||
position: relative; }
|
||||
|
||||
.mm-menu,
|
||||
.mm-menu > .mm-panel {
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 0; }
|
||||
|
||||
.mm-menu {
|
||||
background: inherit;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
padding: 0; }
|
||||
|
||||
.mm-panel {
|
||||
-webkit-transition: -webkit-transform 0.4s ease;
|
||||
-moz-transition: -moz-transform 0.4s ease;
|
||||
-ms-transition: -ms-transform 0.4s ease;
|
||||
-o-transition: -o-transform 0.4s ease;
|
||||
transition: transform 0.4s ease;
|
||||
-webkit-transform: translate3d(100%, 0, 0);
|
||||
-moz-transform: translate3d(100%, 0, 0);
|
||||
-ms-transform: translate3d(100%, 0, 0);
|
||||
-o-transform: translate3d(100%, 0, 0);
|
||||
transform: translate3d(100%, 0, 0); }
|
||||
.mm-panel.mm-opened {
|
||||
-webkit-transform: translate3d(0%, 0, 0);
|
||||
-moz-transform: translate3d(0%, 0, 0);
|
||||
-ms-transform: translate3d(0%, 0, 0);
|
||||
-o-transform: translate3d(0%, 0, 0);
|
||||
transform: translate3d(0%, 0, 0); }
|
||||
.mm-panel.mm-subopened {
|
||||
-webkit-transform: translate3d(-30%, 0, 0);
|
||||
-moz-transform: translate3d(-30%, 0, 0);
|
||||
-ms-transform: translate3d(-30%, 0, 0);
|
||||
-o-transform: translate3d(-30%, 0, 0);
|
||||
transform: translate3d(-30%, 0, 0); }
|
||||
.mm-panel.mm-highest {
|
||||
z-index: 1; }
|
||||
|
||||
.mm-menu > .mm-panel {
|
||||
background: inherit;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow: scroll;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
padding: 0 20px; }
|
||||
.mm-menu > .mm-panel.mm-hasheader {
|
||||
padding-top: 40px; }
|
||||
.mm-menu > .mm-panel:before, .mm-menu > .mm-panel:after {
|
||||
content: '';
|
||||
display: block;
|
||||
height: 20px; }
|
||||
|
||||
.mm-vertical .mm-panel {
|
||||
-webkit-transform: none !important;
|
||||
-moz-transform: none !important;
|
||||
-ms-transform: none !important;
|
||||
-o-transform: none !important;
|
||||
transform: none !important; }
|
||||
|
||||
.mm-vertical .mm-listview .mm-panel,
|
||||
.mm-listview .mm-vertical .mm-panel {
|
||||
display: none;
|
||||
padding: 10px 0 10px 10px; }
|
||||
.mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after,
|
||||
.mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after {
|
||||
border-color: transparent; }
|
||||
|
||||
.mm-vertical li.mm-opened > .mm-panel,
|
||||
li.mm-vertical.mm-opened > .mm-panel {
|
||||
display: block; }
|
||||
|
||||
.mm-vertical .mm-listview > li > .mm-next,
|
||||
.mm-listview > li.mm-vertical > .mm-next {
|
||||
height: 40px;
|
||||
bottom: auto; }
|
||||
.mm-vertical .mm-listview > li > .mm-next:after,
|
||||
.mm-listview > li.mm-vertical > .mm-next:after {
|
||||
top: 16px;
|
||||
bottom: auto; }
|
||||
.mm-vertical .mm-listview > li.mm-opened > .mm-next:after,
|
||||
.mm-listview > li.mm-vertical.mm-opened > .mm-next:after {
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
-o-transform: rotate(45deg);
|
||||
transform: rotate(45deg); }
|
||||
|
||||
.mm-header {
|
||||
border-bottom: 1px solid transparent;
|
||||
text-align: center;
|
||||
line-height: 20px;
|
||||
height: 40px;
|
||||
padding: 0 40px;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0; }
|
||||
.mm-header > a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 10px 0; }
|
||||
.mm-header .mm-title {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden; }
|
||||
.mm-header .mm-btn {
|
||||
box-sizing: border-box;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1; }
|
||||
.mm-header .mm-btn:first-child {
|
||||
padding-left: 20px;
|
||||
left: 0; }
|
||||
.mm-header .mm-btn:last-child {
|
||||
padding-right: 20px;
|
||||
right: 0; }
|
||||
|
||||
.mm-listview,
|
||||
.mm-listview > li {
|
||||
list-style: none;
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 0; }
|
||||
|
||||
.mm-listview {
|
||||
font: inherit;
|
||||
font-size: 14px; }
|
||||
.mm-listview a,
|
||||
.mm-listview a:hover {
|
||||
text-decoration: none; }
|
||||
.mm-listview > li {
|
||||
position: relative; }
|
||||
.mm-listview > li > a,
|
||||
.mm-listview > li > span {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
color: inherit;
|
||||
line-height: 20px;
|
||||
display: block;
|
||||
padding: 10px 10px 10px 20px;
|
||||
margin: 0; }
|
||||
.mm-listview > li:not(.mm-divider):after {
|
||||
content: '';
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0; }
|
||||
.mm-listview > li:not(.mm-divider):after {
|
||||
left: 20px; }
|
||||
.mm-listview .mm-next {
|
||||
background: rgba(3, 2, 1, 0);
|
||||
width: 50px;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 2; }
|
||||
.mm-listview .mm-next:before {
|
||||
content: '';
|
||||
border-left-width: 1px;
|
||||
border-left-style: solid;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0; }
|
||||
.mm-listview .mm-next + a,
|
||||
.mm-listview .mm-next + span {
|
||||
margin-right: 50px; }
|
||||
.mm-listview .mm-next.mm-fullsubopen {
|
||||
width: 100%; }
|
||||
.mm-listview .mm-next.mm-fullsubopen:before {
|
||||
border-left: none; }
|
||||
.mm-listview .mm-next.mm-fullsubopen + a,
|
||||
.mm-listview .mm-next.mm-fullsubopen + span {
|
||||
padding-right: 50px;
|
||||
margin-right: 0; }
|
||||
|
||||
.mm-menu > .mm-panel > .mm-listview {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px; }
|
||||
.mm-menu > .mm-panel > .mm-listview.mm-first {
|
||||
margin-top: -20px; }
|
||||
.mm-menu > .mm-panel > .mm-listview.mm-last {
|
||||
padding-bottom: 20px; }
|
||||
|
||||
.mm-prev:before,
|
||||
.mm-next:after {
|
||||
content: '';
|
||||
border: 2px solid transparent;
|
||||
display: inline-block;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
-webkit-transform: rotate(-45deg);
|
||||
-moz-transform: rotate(-45deg);
|
||||
-ms-transform: rotate(-45deg);
|
||||
-o-transform: rotate(-45deg);
|
||||
transform: rotate(-45deg); }
|
||||
|
||||
.mm-prev:before {
|
||||
border-right: none;
|
||||
border-bottom: none;
|
||||
left: 20px; }
|
||||
|
||||
.mm-next:after {
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
right: 20px; }
|
||||
|
||||
.mm-divider {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
font-size: 10px;
|
||||
text-transform: uppercase;
|
||||
text-indent: 20px;
|
||||
line-height: 25px; }
|
||||
|
||||
.mm-listview > li.mm-spacer {
|
||||
padding-top: 40px; }
|
||||
.mm-listview > li.mm-spacer > .mm-next {
|
||||
top: 40px; }
|
||||
.mm-listview > li.mm-spacer.mm-divider {
|
||||
padding-top: 25px; }
|
||||
|
||||
.mm-menu {
|
||||
background: #f3f3f3;
|
||||
color: rgba(0, 0, 0, 0.7); }
|
||||
.mm-menu .mm-header {
|
||||
border-color: rgba(0, 0, 0, 0.1); }
|
||||
.mm-menu .mm-header > a {
|
||||
color: rgba(0, 0, 0, 0.3); }
|
||||
.mm-menu .mm-header .mm-btn:before,
|
||||
.mm-menu .mm-header .mm-btn:after {
|
||||
border-color: rgba(0, 0, 0, 0.3); }
|
||||
.mm-menu .mm-listview > li:after {
|
||||
border-color: rgba(0, 0, 0, 0.1); }
|
||||
.mm-menu .mm-listview > li > a.mm-prev, .mm-menu .mm-listview > li > a.mm-next {
|
||||
color: rgba(0, 0, 0, 0.3); }
|
||||
.mm-menu .mm-listview > li > a.mm-prev:before, .mm-menu .mm-listview > li > a.mm-next:after {
|
||||
border-color: rgba(0, 0, 0, 0.3); }
|
||||
.mm-menu .mm-listview > li > a.mm-prev:after, .mm-menu .mm-listview > li > a.mm-next:before {
|
||||
border-color: rgba(0, 0, 0, 0.1); }
|
||||
.mm-menu .mm-listview > li.mm-selected > a:not(.mm-next),
|
||||
.mm-menu .mm-listview > li.mm-selected > span {
|
||||
background: rgba(255, 255, 255, 0.5); }
|
||||
.mm-menu.mm-vertical .mm-listview li.mm-opened > a.mm-next,
|
||||
.mm-menu.mm-vertical .mm-listview li.mm-opened > .mm-panel,
|
||||
.mm-menu .mm-listview li.mm-opened.mm-vertical > a.mm-next,
|
||||
.mm-menu .mm-listview li.mm-opened.mm-vertical > .mm-panel {
|
||||
background: rgba(0, 0, 0, 0.05); }
|
||||
.mm-menu .mm-divider {
|
||||
background: rgba(0, 0, 0, 0.05); }
|
||||
|
||||
/*
|
||||
jQuery.mmenu offcanvas addon CSS
|
||||
*/
|
||||
.mm-page {
|
||||
box-sizing: border-box;
|
||||
position: relative; }
|
||||
|
||||
.mm-slideout {
|
||||
-webkit-transition: -webkit-transform 0.4s ease;
|
||||
-ms-transition: -ms-transform 0.4s ease;
|
||||
transition: transform 0.4s ease; }
|
||||
|
||||
html.mm-opened {
|
||||
overflow: hidden;
|
||||
position: relative; }
|
||||
html.mm-opened body {
|
||||
overflow: hidden; }
|
||||
html.mm-opened .mm-page {
|
||||
min-height: 100vh; }
|
||||
|
||||
html.mm-background .mm-page {
|
||||
background: inherit; }
|
||||
|
||||
#mm-blocker {
|
||||
background: rgba(3, 2, 1, 0);
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 999999; }
|
||||
|
||||
html.mm-opened #mm-blocker,
|
||||
html.mm-blocking #mm-blocker {
|
||||
display: block; }
|
||||
|
||||
.mm-menu.mm-offcanvas {
|
||||
display: none;
|
||||
position: fixed; }
|
||||
.mm-menu.mm-current {
|
||||
display: block; }
|
||||
|
||||
.mm-menu {
|
||||
width: 80%;
|
||||
min-width: 140px;
|
||||
max-width: 440px; }
|
||||
|
||||
html.mm-opening .mm-slideout {
|
||||
-webkit-transform: translate(80%, 0);
|
||||
-moz-transform: translate(80%, 0);
|
||||
-ms-transform: translate(80%, 0);
|
||||
-o-transform: translate(80%, 0);
|
||||
transform: translate(80%, 0); }
|
||||
|
||||
@media all and (max-width: 175px) {
|
||||
html.mm-opening .mm-slideout {
|
||||
-webkit-transform: translate(140px, 0);
|
||||
-moz-transform: translate(140px, 0);
|
||||
-ms-transform: translate(140px, 0);
|
||||
-o-transform: translate(140px, 0);
|
||||
transform: translate(140px, 0); } }
|
||||
@media all and (min-width: 550px) {
|
||||
html.mm-opening .mm-slideout {
|
||||
-webkit-transform: translate(440px, 0);
|
||||
-moz-transform: translate(440px, 0);
|
||||
-ms-transform: translate(440px, 0);
|
||||
-o-transform: translate(440px, 0);
|
||||
transform: translate(440px, 0); } }
|
||||
129
fileadmin/templates/css/kontrast.css
Normal file
@@ -0,0 +1,129 @@
|
||||
#header .name, #header .name a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#header .nav,
|
||||
#header .nav > li > ul,
|
||||
#header .navbutton,
|
||||
.fortschritt li.hier span:before {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
#header .nav,
|
||||
#header .nav > li > ul {
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
#header .navbutton:hover {
|
||||
background: #fff;
|
||||
color: #333;
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
#header .nav > li a,
|
||||
#header .nav > li > ul > li a {
|
||||
border-color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#header .nav > li:hover,
|
||||
#header .nav > li > ul > li:hover {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#header .nav > li:hover a,
|
||||
#header .nav > li > ul > li:hover a,
|
||||
#header .nav > li.hatsub > ul > li:hover a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#header .nav > li.hatsub > ul > li a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#planer .blau th,
|
||||
#planer .orange th,
|
||||
#planer .gelb th,
|
||||
#planer .gruen th,
|
||||
select.blau, .blau option,
|
||||
select.orange, .orange option,
|
||||
select.gelb, .gelb option,
|
||||
select.gruen, .gruen option {
|
||||
background: #333;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#planer .blau td,
|
||||
#planer .orange td,
|
||||
#planer .gelb td,
|
||||
#planer .gruen td {
|
||||
background: #eee;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.planer-info {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#planer tfoot td.ergebnis-text.fehler,
|
||||
#planer #add_profilfach .fa-plus-circle,
|
||||
#planer tr .entfernen {
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
.weiter {
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.rueck {
|
||||
background-color: #fff;
|
||||
border: 2px solid #333;
|
||||
padding: 3px 8px;
|
||||
}
|
||||
|
||||
.fortschritt li.ok, .fortschritt li.hier {
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
select {
|
||||
background-color: #fff;
|
||||
border: 2px solid #333;
|
||||
padding: 3px 8px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#inhalt .indexbox h2,
|
||||
.indexbox a.button {
|
||||
background: #333 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
#inhalt .indexbox h2:after {
|
||||
border-color: #333 transparent transparent #333 !important;
|
||||
}
|
||||
|
||||
|
||||
#header .nav:after {
|
||||
right: -28px;
|
||||
border-color: #333 transparent transparent #333;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.schule_autocomplete {
|
||||
border: 2px solid #333;
|
||||
}
|
||||
|
||||
ul.ui-autocomplete {
|
||||
background: #333 !important;
|
||||
}
|
||||
|
||||
ul.ui-autocomplete li {
|
||||
border-color: #333;
|
||||
}
|
||||
3
fileadmin/templates/css/schrift-gross.css
Normal file
@@ -0,0 +1,3 @@
|
||||
body {
|
||||
font-size: 18px;
|
||||
}
|
||||
184
fileadmin/templates/css/startseite.css
Normal file
@@ -0,0 +1,184 @@
|
||||
.intro {
|
||||
width: 720px;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
.indexbox {
|
||||
width: 460px;
|
||||
height: 310px;
|
||||
float: left;
|
||||
background-color: #eee;
|
||||
padding: 10px 260px 10px 25px;
|
||||
margin-bottom: 40px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.indexbox a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
.indexbox a:hover {
|
||||
color: #004766;
|
||||
}
|
||||
.indexbox.orange a:hover {
|
||||
color: #c64117;
|
||||
}
|
||||
.indexbox.gelb a:hover {
|
||||
color: #af8300;
|
||||
}
|
||||
.indexbox.gruen a:hover {
|
||||
color: #2e7d31;
|
||||
}
|
||||
.indexbox a.button {
|
||||
display: inline-block;
|
||||
background: #008ecd;
|
||||
padding: 5px 10px 3px;
|
||||
border-bottom: 2px solid #004766;
|
||||
font-weight: 500;
|
||||
font-size: 17.5px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
width: 100%;
|
||||
}
|
||||
.indexbox a.button:hover {
|
||||
background: #40aada;
|
||||
}
|
||||
.indexbox a.button:before {
|
||||
content: '\f0a4';
|
||||
font-family: "FontAwesome";
|
||||
font-size: 20px;
|
||||
margin-right: .5em;
|
||||
}
|
||||
.indexbox.blau {
|
||||
margin-right: 40px;
|
||||
background: url(../img/indexbox-blau.jpg) top left no-repeat;
|
||||
}
|
||||
.indexbox.orange {
|
||||
background: url(../img/indexbox-orange.jpg) top left no-repeat;
|
||||
}
|
||||
.indexbox.gelb {
|
||||
margin-right: 40px;
|
||||
background: url(../img/indexbox-gelb.jpg) top left no-repeat;
|
||||
}
|
||||
.indexbox.gruen {
|
||||
background: url(../img/indexbox-gruen.jpg) top left no-repeat;
|
||||
}
|
||||
#inhalt .indexbox h2 {
|
||||
background: #008ecd;
|
||||
color: #fff;
|
||||
font-weight: 500;
|
||||
font-size: 17.5px;
|
||||
padding: 10px 15px;
|
||||
margin: 0 -15px 20px;
|
||||
position: relative;
|
||||
}
|
||||
#inhalt .indexbox.orange h2 {
|
||||
background: #ff5722;
|
||||
color: #000;
|
||||
}
|
||||
#inhalt .indexbox.gelb h2 {
|
||||
background: #ffc107;
|
||||
color: #000;
|
||||
}
|
||||
#inhalt .indexbox.gruen h2 {
|
||||
background: #4baf4f;
|
||||
}
|
||||
#inhalt .indexbox h2:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
display: block;
|
||||
right: 0;
|
||||
bottom: -18px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 8px solid #008ecd;
|
||||
border-color: #008ecd transparent transparent #008ecd;
|
||||
}
|
||||
#inhalt .indexbox.orange h2:after {
|
||||
border-color: #ff5722 transparent transparent #ff5722;
|
||||
}
|
||||
#inhalt .indexbox.gelb h2:after {
|
||||
border-color: #ffc107 transparent transparent #ffc107;
|
||||
}
|
||||
#inhalt .indexbox.gruen h2:after {
|
||||
border-color: #4baf4f transparent transparent #4baf4f;
|
||||
}
|
||||
|
||||
.indexbox ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
.indexbox li {
|
||||
padding-left: 15px;
|
||||
position: relative;
|
||||
margin-bottom: .25em;
|
||||
}
|
||||
.indexbox li:before {
|
||||
content: '\f105';
|
||||
font-family: "FontAwesome";
|
||||
color: #004766;
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 0;
|
||||
top: 5px;
|
||||
}
|
||||
.indexbox.orange li:before {
|
||||
color: #c64117;
|
||||
}
|
||||
.indexbox.gelb li:before {
|
||||
color: #af8300;
|
||||
}
|
||||
.indexbox.gruen li:before {
|
||||
color: #2e7d31;
|
||||
}
|
||||
@media (max-width: 759px) {
|
||||
.intro {
|
||||
width: 240px;
|
||||
float: right;
|
||||
}
|
||||
.indexbox.blau {
|
||||
margin-top: 1em;
|
||||
}
|
||||
}
|
||||
@media (max-width: 759px) {
|
||||
.intro {
|
||||
width: auto;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 479px) {
|
||||
.intro {
|
||||
display: none;
|
||||
}
|
||||
.indexbox {
|
||||
width: 100%;
|
||||
padding-right: 25px;
|
||||
height: auto;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.indexbox.blau {
|
||||
background: #008ecd;
|
||||
margin-top: 0;
|
||||
}
|
||||
.indexbox.orange {
|
||||
background: #ff5722;
|
||||
}
|
||||
.indexbox.gelb {
|
||||
background: #ffc107;
|
||||
}
|
||||
.indexbox.gruen {
|
||||
background: #4baf4f;
|
||||
}
|
||||
#inhalt .indexbox h2 {
|
||||
background: none;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#inhalt .indexbox h2:after {
|
||||
display: none;
|
||||
}
|
||||
.indexbox a.button {
|
||||
background: #fff;
|
||||
color: #004766;
|
||||
}
|
||||
}
|
||||
2472
fileadmin/templates/css/style-1.css
Normal file
1066
fileadmin/templates/css/style-2.css
Normal file
1129
fileadmin/templates/css/style-3.css
Normal file
96
fileadmin/templates/css/style.additional.css
Normal file
@@ -0,0 +1,96 @@
|
||||
#navbar {
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
background-color:#fff;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
a#hamburger {
|
||||
background: #008ecd;
|
||||
border-radius: 50px;
|
||||
display: block;
|
||||
height: 40px;
|
||||
left: 10px;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
a#hamburger:before {
|
||||
content: '\f0c9';
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
display: block;
|
||||
font: 25px "FontAwesome";
|
||||
margin-top: 7px;
|
||||
}
|
||||
|
||||
#schrift_toggle,
|
||||
#kontrast_toggle {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#header .name a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media (min-width: 760px) {
|
||||
#navbar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 759px) {
|
||||
body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
padding: 0 10px;
|
||||
background-color: white;
|
||||
overflow:hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.mm-menu {
|
||||
background: #40aada !important;
|
||||
}
|
||||
|
||||
.mm-menu a {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.mm-selected a {
|
||||
color: #008ecd !important;
|
||||
}
|
||||
|
||||
.mm-header {
|
||||
background: #008ecd !important;
|
||||
}
|
||||
|
||||
.mm-menu.mm-vertical .mm-listview li.mm-opened > a.mm-next,
|
||||
.mm-menu.mm-vertical .mm-listview li.mm-opened > .mm-panel,
|
||||
.mm-menu .mm-listview li.mm-opened.mm-vertical > a.mm-nextm
|
||||
.mm-menu .mm-listview li.mm-opened.mm-vertical > .mm-panel {
|
||||
background: none !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
|
||||
.mm-menu .mm-listview > li::after {
|
||||
border-color: #a0d5ed !important;
|
||||
}
|
||||
|
||||
.mm-menu .mm-listview .mm-listview li:after {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.mm-listview .mm-next::before {
|
||||
border-left: none !important;
|
||||
}
|
||||
|
||||
.mm-menu .mm-listview > li > a.mm-prev::before, .mm-menu .mm-listview > li > a.mm-next::after {
|
||||
border-color: #fff !important;
|
||||
}
|
||||
|
||||
1194
fileadmin/templates/css/style.css
Normal file
BIN
fileadmin/templates/favicon.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
fileadmin/templates/img/header.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
fileadmin/templates/img/indexbox-blau.jpg
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
fileadmin/templates/img/indexbox-gelb.jpg
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
fileadmin/templates/img/indexbox-gruen.jpg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
fileadmin/templates/img/indexbox-orange.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
fileadmin/templates/img/select.png
Normal file
|
After Width: | Height: | Size: 202 B |
6
fileadmin/templates/img/select.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
|
||||
<polygon opacity="0.5" points="10,0 10,10 0,10 "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 433 B |
BIN
fileadmin/templates/img/wappen-ministerium.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
fileadmin/templates/img/wappen.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
13
fileadmin/templates/js/jquery-ui.min.js
vendored
Normal file
133
fileadmin/templates/js/jquery.mmenu.min.all.js
Normal file
20
fileadmin/templates/js/jquery.mmenu.min.js
vendored
Normal file
43
fileadmin/templates/js/script.js
Normal file
@@ -0,0 +1,43 @@
|
||||
jQuery(document).ready(function( $ ) {
|
||||
$("#mobilemenu").mmenu({
|
||||
"slidingSubmenus": false,
|
||||
"navbar": {
|
||||
"title": "Der Oberstufen- und Abiturplaner für Bayern"
|
||||
},
|
||||
"navbars": [
|
||||
{
|
||||
"position": "top"
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
$('#wrapper').on('click', '#kontrast_toggle, #schrift_toggle', function() {
|
||||
var controller = 'tx_ifaccessbuttons_pi1[controller]=AccessibilityButtons';
|
||||
var action = 'tx_ifaccessbuttons_pi1[action]=ajax';
|
||||
var typeNum = 123;
|
||||
var btn;
|
||||
|
||||
if ($(this).attr('id') == 'kontrast_toggle') {
|
||||
btn = 'kontrast';
|
||||
}
|
||||
|
||||
if ($(this).attr('id') == 'schrift_toggle') {
|
||||
btn = 'schriftgroesse';
|
||||
}
|
||||
|
||||
var path = 'index.php';
|
||||
|
||||
jQuery.ajax({
|
||||
url: path + '?' + controller + '&' + action + '&type=' + typeNum,
|
||||
data: 'tx_ifaccessbuttons_pi1[btn]=' + btn,
|
||||
|
||||
success: function (resultData) {
|
||||
document.location.reload();
|
||||
},
|
||||
error: function (error) {
|
||||
alert('Diese Funktion steht zur Zeit nicht zur Verfügung');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
46
fileadmin/templates/template.html
Normal file
@@ -0,0 +1,46 @@
|
||||
<f:layout name="defaultLayout" />
|
||||
|
||||
<f:section name="content">
|
||||
|
||||
<div id="wrapper">
|
||||
<div id="header">
|
||||
<f:cObject typoscriptObjectPath="lib.header" />
|
||||
<f:cObject typoscriptObjectPath="lib.accessibilitybuttons" />
|
||||
</div>
|
||||
|
||||
<div id="inhalt" class="clearfix">
|
||||
<f:if condition="{backendLayout} == 3">
|
||||
<f:then>
|
||||
<f:format.html parseFuncTSPath=""><div class="main">{inhalt}</div>
|
||||
<div class="related">{inhaltRechts}</div></f:format.html>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:format.html parseFuncTSPath="">{inhalt}</f:format.html>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="spalte spalte1">
|
||||
<a href="http://www.km.bayern.de/" target="_blank"><img src="fileadmin/templates/img/wappen-ministerium.png" alt="Bayerisches Staatsministerium für Bildung und Kultus, Wissenschaft und Kunst" class="wappen"></a>
|
||||
</div>
|
||||
<div class="spalte spalte2">
|
||||
<h3> <br> </h3>
|
||||
<f:cObject typoscriptObjectPath="lib.footermenue_links" />
|
||||
</div>
|
||||
<div class="spalte spalte3">
|
||||
<h3>Fächerwahl zur 11. Jahrgangsstufe</h3>
|
||||
<f:cObject typoscriptObjectPath="lib.footermenue_mitte" />
|
||||
</div>
|
||||
<div class="spalte spalte4">
|
||||
<h3>Informationen zum<br>Abitur</h3>
|
||||
<f:cObject typoscriptObjectPath="lib.footermenue_rechts" />
|
||||
</div>
|
||||
|
||||
<f:cObject typoscriptObjectPath="lib.socialButtons" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<f:cObject typoscriptObjectPath="lib.mobilemenue" />
|
||||
|
||||
</f:section>
|
||||
@@ -0,0 +1,9 @@
|
||||
# Session fuer Kontrastansicht gesetzt
|
||||
[globalVar = TSFE:fe_user|sesData|accessibility|kontrast > 0]
|
||||
page.includeCSS.tx_ifaccessbuttons_kontrast = {$plugin.tx_ifaccessbuttons_pi1.settings.cssFileKontrast}
|
||||
[global]
|
||||
|
||||
# Session fuer Schriftgroesse gesetzt
|
||||
[globalVar = TSFE:fe_user|sesData|accessibility|schriftgroesse > 0]
|
||||
page.includeCSS.tx_ifaccessbuttons_schriftgroesse = {$plugin.tx_ifaccessbuttons_pi1.settings.cssFileFontsize}
|
||||
[global]
|
||||
44
fileadmin/templates/typoscript/grundkonfiguration.setup.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
config {
|
||||
doctype = html5
|
||||
htmlTag_setParams = lang="de"
|
||||
disablePrefixComment = 1
|
||||
language = de
|
||||
admPanel = 1
|
||||
simulateStaticDocuments = 0
|
||||
baseURL = https://oberstufe.wtrinkl.de/
|
||||
# baseURL = http://p265112.mittwaldserver.info/
|
||||
tx_realurl_enable = 1
|
||||
index_enable = 1
|
||||
|
||||
spamProtectEmailAddresses = 1
|
||||
|
||||
# Client-seitiges Caching aktivieren
|
||||
no_cache = 0
|
||||
sendCacheHeaders = 1
|
||||
cache_clearAtMidnight = true
|
||||
cache_period = 86400
|
||||
}
|
||||
|
||||
# CSC-Wraps anpassen
|
||||
lib.stdheader.stdWrap.dataWrap >
|
||||
lib.stdheader.2.headerStyle >
|
||||
lib.stdheader.3.headerClass >
|
||||
tt_content.stdWrap.dataWrap =
|
||||
tt_content.stdWrap.innerWrap >
|
||||
|
||||
# RTE-Anpassungen
|
||||
lib.parseFunc_RTE {
|
||||
# entfernt 'class="bodytext"' bei p-Tags
|
||||
nonTypoTagStdWrap.encapsLines.addAttributes.P.class >
|
||||
|
||||
# Bugfix "ueberfluessige P-Tags in Listen"
|
||||
externalBlocks {
|
||||
p.stripNL = 1
|
||||
ol >
|
||||
ul >
|
||||
ol.stripNL = 1
|
||||
ol.stdWrap.parseFunc = < lib.parseFunc
|
||||
ul.stripNL = 1
|
||||
ul.stdWrap.parseFunc = < lib.parseFunc
|
||||
}
|
||||
}
|
||||
21
fileadmin/templates/typoscript/grundmenue.setup.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
temp.menu = HMENU
|
||||
temp.menu.1 = TMENU
|
||||
temp.menu.1 {
|
||||
expAll = 1
|
||||
stdWrap.wrap = <ul>|</ul>
|
||||
NO = 1
|
||||
NO.wrapItemAndSub = <li> | </li>
|
||||
NO.stdWrap.htmlSpecialChars = 1
|
||||
ACT = 1
|
||||
ACT.wrapItemAndSub = <li> | </li>
|
||||
ACT.stdWrap.htmlSpecialChars = 1
|
||||
CUR = 1
|
||||
CUR.wrapItemAndSub = <li> | </li>
|
||||
CUR.stdWrap.htmlSpecialChars = 1
|
||||
}
|
||||
|
||||
# zweite Navigationsebene
|
||||
temp.menu.2 < temp.menu.1
|
||||
|
||||
# dritte Navigationsebene
|
||||
temp.menu.3 < temp.menu.1
|
||||
112
fileadmin/templates/typoscript/menues.setup.ts
Normal file
@@ -0,0 +1,112 @@
|
||||
# Hauptmenue
|
||||
temp.menue_navbutton < temp.menu
|
||||
temp.menue_navbutton {
|
||||
1 {
|
||||
stdWrap.wrap = <ul class="nav">|</ul>
|
||||
|
||||
IFSUB = 1
|
||||
IFSUB.wrapItemAndSub = <li class="hatsub"> | </li>
|
||||
IFSUB.stdWrap.htmlSpecialChars = 1
|
||||
|
||||
ACTIFSUB = 1
|
||||
ACTIFSUB < .IFSUB
|
||||
}
|
||||
}
|
||||
|
||||
temp.menue_navbutton.wrap = <div class="navbutton">Info | </div>
|
||||
|
||||
# Footermenue links
|
||||
lib.footermenue_links < temp.menu
|
||||
lib.footermenue_links {
|
||||
special = directory
|
||||
special.value = 9
|
||||
1 {
|
||||
NO {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
ACT {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
CUR {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Footermenue Mitte
|
||||
lib.footermenue_mitte < temp.menu
|
||||
lib.footermenue_mitte {
|
||||
special = directory
|
||||
special.value = 10
|
||||
1 {
|
||||
NO {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
ACT {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
CUR {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Footermenue rechts
|
||||
lib.footermenue_rechts < temp.menu
|
||||
lib.footermenue_rechts {
|
||||
special = directory
|
||||
special.value = 11
|
||||
1 {
|
||||
NO {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
ACT {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
CUR {
|
||||
stdWrap.field = nav_title // title
|
||||
stdWrap.htmlSpecialChars = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#################
|
||||
# Mobiles Menue #
|
||||
#################
|
||||
lib.mobilemenue = COA
|
||||
lib.mobilemenue {
|
||||
10 < temp.menue_navbutton
|
||||
10 {
|
||||
1 {
|
||||
stdWrap.wrap = |
|
||||
|
||||
IFSUB.wrapItemAndSub = <li> | </li>
|
||||
ACT.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
CUR.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
}
|
||||
|
||||
2 {
|
||||
stdWrap.wrap = <ul> | </ul>
|
||||
ACT.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
CUR.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
}
|
||||
|
||||
3 {
|
||||
stdWrap.wrap = <ul> | </ul>
|
||||
ACT.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
CUR.wrapItemAndSub = <li class="Selected"> | </li>
|
||||
}
|
||||
|
||||
wrap = |
|
||||
}
|
||||
|
||||
stdWrap.wrap = <nav id="mobilemenu"><ul> | </ul></nav>
|
||||
}
|
||||
16
fileadmin/templates/typoscript/scriptmerger.setup.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
plugin.tx_scriptmerger {
|
||||
javascript {
|
||||
parseBody = 1
|
||||
minify.ignore = \.com\/
|
||||
compress.ignore = \.com\/
|
||||
merge.ignore = \.com\/
|
||||
mergedHeadFilePosition = </head>
|
||||
}
|
||||
|
||||
css {
|
||||
minify.ignore = \.min\.,\.com\.
|
||||
compress.ignore = \.gz\.,\.min\.,\.com\.
|
||||
merge.ignore = \.min\.,\.com\.
|
||||
mergedFilePosition = </head>
|
||||
}
|
||||
}
|
||||
119
fileadmin/templates/typoscript/seitenkonfiguration.setup.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
lib.header = COA
|
||||
lib.header {
|
||||
10 = TEXT
|
||||
10.value = <img src="fileadmin/templates/img/wappen-ministerium.png" alt="Bayerisches Staatsministerium für Bildung und Kultus, Wissenschaft und Kunst" class="logo">
|
||||
|
||||
20 = TEXT
|
||||
20 {
|
||||
value = Der Oberstufen- und<br>Abiturplaner für Bayern
|
||||
typolink.parameter = 1
|
||||
wrap = <div class="name"> | </div>
|
||||
}
|
||||
|
||||
30 < temp.menue_navbutton
|
||||
}
|
||||
|
||||
## Accessibility Buttons
|
||||
#temp.accessbuttons = USER
|
||||
#temp.accessbuttons {
|
||||
# userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
# pluginName = Pi1
|
||||
# extensionName = IfAccessButtons
|
||||
# vendorName = Ifabrik
|
||||
# controller = AccessibilityButtons
|
||||
# view < plugin.tx_ifaccessbuttons_pi1.view
|
||||
# persistence < plugin.tx_ifaccessbuttons_pi1.persistence
|
||||
# settings < plugin.tx_ifaccessbuttons_pi1.settings
|
||||
#}
|
||||
#
|
||||
#lib.accessibilitybuttons < temp.accessbuttons
|
||||
|
||||
page = PAGE
|
||||
page {
|
||||
meta.viewport = width=device-width, initial-scale=1.0
|
||||
|
||||
shortcutIcon = fileadmin/templates/favicon.ico
|
||||
|
||||
includeCSS {
|
||||
# Googlefonts vom CDN einbinden
|
||||
googlefonts1 = //fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800
|
||||
googlefonts1.external = 1
|
||||
|
||||
googlefonts2 = //fonts.googleapis.com/css?family=Open+Sans+Condensed:300
|
||||
googlefonts2.external = 1
|
||||
|
||||
# Fontawesome Fonts vom CDN einbinden
|
||||
fontawesome = //maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css
|
||||
fontawesome.external = 1
|
||||
|
||||
# eigene CSS-Datei
|
||||
file1 = fileadmin/templates/css/style.css
|
||||
|
||||
# CSS fuer mobiles Menue
|
||||
mmenu = fileadmin/templates/css/jquery.mmenu.all.css
|
||||
|
||||
# eigene CSS-Datei
|
||||
file2 = fileadmin/templates/css/style.additional.css
|
||||
}
|
||||
|
||||
includeJSFooter {
|
||||
# JS fuer mobiles Menue
|
||||
mmenu = fileadmin/templates/js/jquery.mmenu.min.all.js
|
||||
|
||||
# eigenes JS
|
||||
file1 = fileadmin/templates/js/script.js
|
||||
}
|
||||
|
||||
|
||||
10 = FLUIDTEMPLATE
|
||||
10 {
|
||||
file = fileadmin/templates/template.html
|
||||
|
||||
layoutRootPaths {
|
||||
10 = fileadmin/templates/Layouts
|
||||
}
|
||||
|
||||
partialRootPaths {
|
||||
10 = fileadmin/templates/Partials
|
||||
}
|
||||
|
||||
variables {
|
||||
backendLayout = TEXT
|
||||
backendLayout.data = levelfield:-2,backend_layout_next_level,slide
|
||||
backendLayout.override.field = backend_layout
|
||||
|
||||
inhalt < styles.content.get
|
||||
|
||||
inhaltRechts < styles.content.getRight
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# CSS nur fuer Startseite
|
||||
[globalVar = TSFE:id = 1]
|
||||
page.includeCSS.startseite = fileadmin/templates/css/startseite.css
|
||||
[global]
|
||||
|
||||
# Accessibility Buttons
|
||||
temp.accessbuttons = USER
|
||||
temp.accessbuttons {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
pluginName = Pi1
|
||||
extensionName = IfAccessButtons
|
||||
vendorName = Ifabrik
|
||||
controller = AccessibilityButtons
|
||||
view < plugin.tx_ifaccessbuttons_pi1.view
|
||||
persistence < plugin.tx_ifaccessbuttons_pi1.persistence
|
||||
settings < plugin.tx_ifaccessbuttons_pi1.settings
|
||||
}
|
||||
|
||||
lib.accessibilitybuttons < temp.accessbuttons
|
||||
|
||||
ajax = PAGE
|
||||
ajax {
|
||||
typeNum = 123
|
||||
config.disableAllHeaderCode = 1
|
||||
config.metaCharset = UTF-8
|
||||
10 = COA
|
||||
10 < tt_content.list.20.ifaccessbuttons_pi1
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
plugin.tx_tgmsocialshareprivacy {
|
||||
|
||||
settings {
|
||||
include_jquery = 0
|
||||
include_to_footer = 0
|
||||
}
|
||||
}
|
||||
6
fileadmin/templates/typoscript/socialbuttons.setup.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
lib.socialButtons < styles.content.get
|
||||
lib.socialButtons {
|
||||
select.where = colPos = 5
|
||||
slide = -1
|
||||
stdWrap.wrap = <div class="socialbuttons"> | </div>
|
||||
}
|
||||
BIN
fileadmin/user_upload/_Bilder/Einbringungsverpflichtung.gif
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
fileadmin/user_upload/_Bilder/International.jpg
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
fileadmin/user_upload/_Bilder/Noten_Abitur.jpg
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
fileadmin/user_upload/_Bilder/Noten_Abitur.pdf
Normal file
BIN
fileadmin/user_upload/_Bilder/Zulassungsvoraussetzung.jpg
Normal file
|
After Width: | Height: | Size: 273 KiB |
BIN
fileadmin/user_upload/_Bilder/abiturpruefungen.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
fileadmin/user_upload/_Bilder/additum.jpg
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
fileadmin/user_upload/_Bilder/belegung.jpg
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
fileadmin/user_upload/_Bilder/belegungsbeispielges.jpg
Normal file
|
After Width: | Height: | Size: 242 KiB |
BIN
fileadmin/user_upload/_Bilder/belegungsbeispielkm.jpg
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
fileadmin/user_upload/_Bilder/belegungsbeispielmn.jpg
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
fileadmin/user_upload/_Bilder/belegungsbeispielspr.jpg
Normal file
|
After Width: | Height: | Size: 206 KiB |
BIN
fileadmin/user_upload/_Bilder/gesamtqualifikation.gif
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 46 KiB |
BIN
fileadmin/user_upload/_Bilder/seminare.jpg
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
fileadmin/user_upload/_PDF/P_Seminar_externe_Partner.pdf
Normal file
BIN
fileadmin/user_upload/_PDF/belegungsbeispielges.pdf
Normal file
BIN
fileadmin/user_upload/_PDF/belegungsbeispielkm.pdf
Normal file
BIN
fileadmin/user_upload/_PDF/belegungsbeispielmn.pdf
Normal file
BIN
fileadmin/user_upload/_PDF/belegungsbeispielspr.pdf
Normal file
BIN
fileadmin/user_upload/_PDF/spaet_beginnende_fs.pdf
Normal file
0
fileadmin/user_upload/_temp_/.htaccess
Normal file
0
fileadmin/user_upload/_temp_/importexport/.htaccess
Normal file
0
fileadmin/user_upload/_temp_/index.html
Normal file
0
fileadmin/user_upload/index.html
Normal file
BIN
fileadmin/user_upload/siblerI_455.jpg
Normal file
|
After Width: | Height: | Size: 175 KiB |
BIN
fileadmin/user_upload/sibler_160.jpg
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
fileadmin/user_upload/sibler_455.jpg
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
fileadmin/user_upload/spaet_beginnende_fs.pdf
Normal file
21
typo3_src-7.6.24/CONTRIBUTING.md
Normal file
@@ -0,0 +1,21 @@
|
||||
Contributing
|
||||
------------
|
||||
|
||||
TYPO3 CMS core is a volunteer effort. We encourage you to join the project by submitting changes.
|
||||
|
||||
Have a look at our [detailed contribution walkthrough][1].
|
||||
|
||||
If you like to contribute code, please use the [main git repository][2], all changes are
|
||||
processed in our [review system][3]. The [GitHub repository][4] is a synchronized
|
||||
mirror of the primary git repository and pull requests via GitHub are not supported at the moment.
|
||||
|
||||
If you like to contribute to our [documentation][5], use the "Edit me on GitHub" button
|
||||
in the top right of each manual or reference or just make a pull request in any of the repositories
|
||||
that can be found in the TYPO3 [documentation team GitHub organisation][6].
|
||||
|
||||
[1]: https://docs.typo3.org/typo3cms/ContributionWorkflowGuide/
|
||||
[2]: https://git.typo3.org/Packages/TYPO3.CMS.git
|
||||
[3]: https://review.typo3.org/#/q/project:Packages/TYPO3.CMS,n,z
|
||||
[4]: https://github.com/TYPO3/TYPO3.CMS
|
||||
[5]: https://docs.typo3.org/typo3cms/
|
||||
[6]: https://github.com/TYPO3-Documentation
|
||||
17118
typo3_src-7.6.24/ChangeLog
Normal file
305
typo3_src-7.6.24/INSTALL.md
Normal file
@@ -0,0 +1,305 @@
|
||||
INSTALLING TYPO3
|
||||
================
|
||||
|
||||
TYPO3 is an open source PHP based web content management system released
|
||||
under the GNU GPL. TYPO3 is copyright (c) 1999-2015 by Kasper Skaarhoj.
|
||||
|
||||
This document describes:
|
||||
|
||||
* System requirements for TYPO3
|
||||
* Installation routine
|
||||
* Upgrade routine
|
||||
|
||||
Client browser support
|
||||
----------------------
|
||||
|
||||
The TYPO3 backend is accessed through a web browser. TYPO3 CMS 7
|
||||
supports the following web browsers:
|
||||
|
||||
* Internet Explorer 9 and later
|
||||
* Google Chrome (Windows, MacOS, Linux)
|
||||
* Firefox (Windows, MacOS, Linux)
|
||||
* Safari on MacOS
|
||||
* and other compatible modern browsers
|
||||
|
||||
Server system requirements
|
||||
--------------------------
|
||||
|
||||
TYPO3 requires a web server with a PHP environment and a database. The minimum
|
||||
system requirements for running TYPO3 CMS 7 are:
|
||||
|
||||
* Webserver capable of running PHP applications (Apache, Nginx, IIS or other)
|
||||
* PHP 5.5 up to 7
|
||||
* MySQL 5.5 up to 5.7 or compatible
|
||||
* more than 200 MB of disk space
|
||||
|
||||
Note: If you use any other webserver than Apache, make sure you add the necessary configuration normally
|
||||
provided in the various `.htaccess` files inside the TYPO3 core. This configuration is security relevant,
|
||||
therefore only experienced server administrators should create such configuration.
|
||||
|
||||
### MySQL environment
|
||||
|
||||
TYPO3 works with MySQL in the above mentioned versions. It will also work on
|
||||
compatible "drop-in" replacements like MariaDB or Percona.
|
||||
|
||||
### MySQL required privileges
|
||||
|
||||
The MySQL user needs a least the following privileges on the TYPO3 database:
|
||||
|
||||
* SELECT, INSERT, UPDATE, DELETE
|
||||
* CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES
|
||||
|
||||
It is recommended to also grant the following privileges:
|
||||
|
||||
* CREATE VIEW, SHOW VIEW
|
||||
* EXECUTE, CREATE ROUTINE, ALTER ROUTINE
|
||||
|
||||
### PHP environment
|
||||
|
||||
* memory_limit set to at least 64M
|
||||
* max_execution_time set to at least 30s (240s recommended)
|
||||
* register_globals disabled
|
||||
* AllowOverride in the Apache configuration includes "Indexes" and "FileInfo"
|
||||
(see FAQ below)
|
||||
|
||||
### PHP required extensions
|
||||
|
||||
Your PHP needs to support the following extensions. Install will
|
||||
check if these are available.
|
||||
|
||||
* These are usually part of the standard PHP package on most distributions:
|
||||
* filter
|
||||
* hash
|
||||
* openssl
|
||||
* pcre >= 8.30
|
||||
* session
|
||||
* soap
|
||||
* SPL
|
||||
* standard
|
||||
* xml
|
||||
* zip
|
||||
* zlib
|
||||
|
||||
* These might have to be installed separately:
|
||||
* gd
|
||||
* json
|
||||
* mysqli
|
||||
|
||||
### Recommended setup
|
||||
|
||||
There are plenty of possible setups for high performance TYPO3 installations
|
||||
(i.e. using Varnish Cache, Nginx, PHP-FPM, etc). Consider this resource for
|
||||
more ideas or suggestions: http://wiki.typo3.org/Performance_tuning
|
||||
|
||||
This is a basic recommended setup for best performance and increased
|
||||
functionality:
|
||||
|
||||
* Apache with mod_expires and mod_rewrite enabled
|
||||
|
||||
* MySQL 5.5 or newer
|
||||
|
||||
* GraphicsMagick or ImageMagick v6 or newer installed on the server
|
||||
|
||||
* PHP
|
||||
* version 5.5 or later
|
||||
* memory_limit set to at least 128M
|
||||
* max_execution_time set to at least 240s
|
||||
* max_input_vars set to at least 1500
|
||||
* always_populate_raw_post_data set to -1 (PHP version >= 5.6, <7.0)
|
||||
|
||||
* Additional PHP extensions:
|
||||
* PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer, wincache (in case of an IIS installation)
|
||||
* apcu caching (with at least 100 MB of memory available)
|
||||
* curl
|
||||
* mbstring
|
||||
* FreeType 2 (usually included within the PHP distribution)
|
||||
* bcmath or gmp (needed if you'd like to use the openid system extension)
|
||||
* fileinfo (mandatory for proper file type detection)
|
||||
|
||||
* PHP access to /dev/urandom or /dev/random on Unix-like platforms for
|
||||
increased security. Make sure to add "/dev/random:/dev/urandom" to
|
||||
open_basedir settings if you use it. If these paths are unavailable, TYPO3
|
||||
will attempt to simulate random number generation. This is less secure,
|
||||
reduces performance and throws out warnings in the TYPO3 system log.
|
||||
|
||||
* TYPO3 works with PHP's IPv6 support, which is enabled by default.
|
||||
If you compile PHP on your own, be aware not to use option "--disable-ipv6",
|
||||
because this will break the IPv6 support and the according unit tests.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
### Important note for upgrades from TYPO3 CMS versions **below 6.2 LTS**
|
||||
|
||||
It is not possible to upgrade any version below 6.2 LTS to 7 directly,
|
||||
since some upgrade wizards are not available anymore on 7.
|
||||
|
||||
It is highly recommended to upgrade to 6.2 LTS first and continue with
|
||||
a second upgrade to 7.
|
||||
|
||||
### If SSH and symlinks are possible
|
||||
|
||||
If you have SSH access to your webserver and are able to create symlinks,
|
||||
this is the recommended way of setting up TYPO3 so that it can easily
|
||||
be upgraded later through the Install Tool:
|
||||
|
||||
* Uncompress the `typo3_src-7.6.x.tar.gz` file one level above the Document
|
||||
Root of your Web server:
|
||||
```
|
||||
/var/www/site/htdocs/ $ cd ..
|
||||
/var/www/site/ $ tar xzf typo3_src-7.6.x.tar.gz
|
||||
```
|
||||
|
||||
* Important: If you use GIT to fetch the sources, don't forget to run the following commands,
|
||||
otherwise your installation won't work!
|
||||
```
|
||||
cd typo3_src
|
||||
composer install --no-dev
|
||||
cd ..
|
||||
```
|
||||
|
||||
* Create the symlinks in your Document Root:
|
||||
```
|
||||
cd htdocs
|
||||
ln -s ../typo3_src-7.6.x typo3_src
|
||||
ln -s typo3_src/index.php
|
||||
ln -s typo3_src/typo3
|
||||
```
|
||||
|
||||
* In case you use Apache, copy the .htaccess to your Document Root:
|
||||
```
|
||||
cp typo3_src/_.htaccess .htaccess
|
||||
```
|
||||
|
||||
You end up with the follow structure of files:
|
||||
|
||||
```
|
||||
typo3_src-7.6.x/
|
||||
htdocs/typo3_src -> ../typo3_src-7.6.x/
|
||||
htdocs/typo3 -> typo3_src/typo3/
|
||||
htdocs/index.php -> typo3_src/index.php
|
||||
htdocs/.htaccess
|
||||
```
|
||||
|
||||
This allows you to upgrade TYPO3 later by simply replacing the symlink
|
||||
with a newer version, or by using the integrated "Core Updater" which can
|
||||
be found in the Install Tool.
|
||||
|
||||
### Windows specifics
|
||||
|
||||
On Windows Vista and newer you can create symbolic links using the `mklink` tool:
|
||||
```
|
||||
mklink /D C:\<dir>\example.com\typo3_src C:\<dir>\typo3_src-7.6.x
|
||||
mklink C:\<dir>\example.com\index.php C:\<dir>\typo3_src-7.6.x\index.php
|
||||
```
|
||||
|
||||
Windows users might need to copy `index.php` from the source directory to the
|
||||
web site root directory in case the Windows version does not support links
|
||||
for files.
|
||||
|
||||
TYPO3 Core upgrades through the Install Tool is not supported under
|
||||
Windows.
|
||||
|
||||
### No SSH and symlinks possible (not recommended)
|
||||
|
||||
In case you only have FTP or SFTP access to your hosting environment, you
|
||||
can still install TYPO3, but you won't easily be able to upgrade your
|
||||
installation once a new patch-level release is out.
|
||||
|
||||
Please note that this is not a recommended setup!
|
||||
|
||||
* Uncompress `typo3_src-7.6.x.zip` locally
|
||||
* Upload all files and subdirectories directly in your Document Root
|
||||
(where files that are served by your webserver are located).
|
||||
* In case your provider uses Apache, rename the file `_.htaccess` to `.htaccess`.
|
||||
|
||||
You end up with this files in your Document Root:
|
||||
|
||||
```
|
||||
.htaccess
|
||||
ChangeLog
|
||||
GPL.txt
|
||||
index.php
|
||||
INSTALL.md
|
||||
LICENSE.txt
|
||||
NEWS.txt
|
||||
README.md
|
||||
typo3/
|
||||
```
|
||||
|
||||
Installation: further steps
|
||||
---------------------------
|
||||
|
||||
Now access the web server using a web browser. You will be redirected to the
|
||||
Install Tool which will walk you through the steps for setting up TYPO3 for
|
||||
the first time.
|
||||
|
||||
It will check if your environment conforms to the minimum system requirements
|
||||
and gives you some suggestions on what to change in case there are any
|
||||
discrepancies.
|
||||
|
||||
The Install Tool will create the required directory structure for you
|
||||
(typo3conf, uploads, fileadmin, typo3temp).
|
||||
|
||||
Former versions of TYPO3 required the download of a "Dummy Package"
|
||||
(or "Blank Package"). This is no longer required since version 6.2!
|
||||
|
||||
TYPO3 Security
|
||||
--------------
|
||||
|
||||
To ensure a secure installation, you have to make sure that you keep your
|
||||
TYPO3 core and the extensions up to date.
|
||||
|
||||
* Subscribe to the announcement mailing list. This will inform you about new
|
||||
releases of the TYPO3 core and security bulletins of core and community
|
||||
extensions.
|
||||
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-announce
|
||||
|
||||
* Use the scheduler task "Update Extension List (em)" to update the list of
|
||||
available extensions regularly. You should check regularly, if new versions
|
||||
of these extensions are available and apply these updates.
|
||||
|
||||
* Please refer to official TYPO3 Security Guide for further information
|
||||
about security-related topics of TYPO3 CMS and the resources compiled by
|
||||
the Security Team.
|
||||
https://docs.typo3.org/typo3cms/SecurityGuide/
|
||||
https://typo3.org/teams/security/resources/
|
||||
|
||||
Installation FAQ
|
||||
----------------
|
||||
|
||||
### 1
|
||||
Q: Why do I get "500 Server error" when I navigate to my TYPO3 web site
|
||||
immediately after installation?
|
||||
|
||||
A: If you are using Apache web server, check the Apache error log for specifics
|
||||
on the error. The cause might be some missing module, or some syntax error
|
||||
in your .htaccess file. The error log is usually located in /var/log/apache2
|
||||
or /var/log/httpd. Check with your hosting provider if you are in doubt
|
||||
where the logs are located.
|
||||
|
||||
### 2
|
||||
Q: I went through the setup process and created an admin user. Why can't I log
|
||||
in now?
|
||||
|
||||
A: If you use MySQL 5.x or newer, try setting it to "compatible" mode. Open the
|
||||
TYPO3 Install Tool under http://example.com/typo3/install/ (where
|
||||
example.com is the web site domain), navigate to "All configuration".
|
||||
Find "setDBinit", and add this line to the top of the input field:
|
||||
```
|
||||
SET SESSION sql_mode=''
|
||||
```
|
||||
|
||||
### 3
|
||||
Q: Some modules or extensions make Apache crash on Windows. What is the cause?
|
||||
|
||||
A: Fluid uses complex regular expressions which require a lot of stack space
|
||||
during the first processing. On Windows the default stack size for Apache
|
||||
is a lot smaller than on unix. You can increase the size to 8MB (default on
|
||||
unix) by adding to the httpd.conf:
|
||||
```
|
||||
<IfModule mpm_winnt_module>
|
||||
ThreadStackSize 8388608
|
||||
</IfModule>
|
||||
```
|
||||
Restart Apache after this change.
|
||||
345
typo3_src-7.6.24/LICENSE.txt
Normal file
@@ -0,0 +1,345 @@
|
||||
Some icons used in the TYPO3 project are retrieved from the "Silk" icon set of
|
||||
Mark James, which can be found at http://famfamfam.com/lab/icons/silk/. This
|
||||
set is distributed under a Creative Commons Attribution 2.5 License. The
|
||||
license can be found at http://creativecommons.org/licenses/by/2.5/.
|
||||
---------------------------------
|
||||
|
||||
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.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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.
|
||||
|
||||
<signature of Ty Coon>, 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.
|
||||
158
typo3_src-7.6.24/README.md
Normal file
@@ -0,0 +1,158 @@
|
||||
TYPO3 CMS
|
||||
=========
|
||||
|
||||
[](https://travis-ci.org/TYPO3/TYPO3.CMS)
|
||||
|
||||
TYPO3 is an open source PHP based web content management system released
|
||||
under the GNU GPL. TYPO3 is copyright (c) 1999-2017 by Kasper Skaarhoj.
|
||||
|
||||
This document provides a basic introduction to TYPO3.
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
TYPO3 requires a webserver with PHP and a database (MySQL recommended).
|
||||
Accessing the backend through a supported browser.
|
||||
|
||||
Please see the INSTALL.md in this folder in order to set up a basic TYPO3
|
||||
installation on your webserver.
|
||||
|
||||
What is TYPO3?
|
||||
--------------
|
||||
|
||||
TYPO3 is a free and open source Content Management Framework. It is released
|
||||
under the GNU General Public License. It can run on several web servers, such
|
||||
as Apache or IIS, on top of many operating systems, among them Linux, Microsoft
|
||||
Windows, FreeBSD or MacOS X.
|
||||
|
||||
TYPO3 was initially authored by Kasper Skårhøj and is now further developed
|
||||
by a community of Active Contributors around a small TYPO3 CMS Team.
|
||||
|
||||
To get more info about the GPL license, visit
|
||||
http://www.opensource.org/licenses/gpl-license.php
|
||||
|
||||
What is a Content Management Framework?
|
||||
---------------------------------------
|
||||
|
||||
A Content Management Framework is more than just a content management system,
|
||||
due to the separation of the streamlined core and optional plugins
|
||||
(extensions). TYPO3 has an open API that allows you to extend the frontend (web
|
||||
site) and/or backend (administration) functionalities.
|
||||
|
||||
The concept of extensions makes TYPO3 capable of being developed and used
|
||||
in almost any way you can imagine, either by using any of the many extensions
|
||||
which are available for download, or by writing your own.
|
||||
|
||||
TYPO3 System requirements
|
||||
-----------------------------
|
||||
|
||||
TYPO3 is based upon PHP and uses a MySQL database. For more information
|
||||
regarding these requirements see the [INSTALL.md](INSTALL.md) file in this folder.
|
||||
|
||||
Using the Database Abstraction Layer (DBAL) allows one to use TYPO3 with other
|
||||
Database Management Systems, like PostgreSQL, Oracle and MSSQL.
|
||||
|
||||
TYPO3 resources
|
||||
---------------
|
||||
|
||||
Here is an overview of the most important TYPO3 resources to help you get
|
||||
started:
|
||||
|
||||
### Get more information
|
||||
|
||||
* https://typo3.org is the main project website. It provides up to
|
||||
date official news, information about events, access to downloading the
|
||||
products and extensions.
|
||||
|
||||
* https://wiki.typo3.org is a collaborative wiki, providing access to
|
||||
all kind of information around the TYPO3 ecosphere.
|
||||
|
||||
* https://docs.typo3.org/: TYPO3 is one of the most thoroughly
|
||||
documented OpenSource products around, with manuals covering basic
|
||||
tutorials, TypoScript, administration, development, core structure, etc.
|
||||
You should make the time to locate the various documents, and read those
|
||||
that apply to the work you want to do.
|
||||
|
||||
### Chat with us
|
||||
|
||||
The TYPO3 team is using a tool called Slack to openly communicate with each
|
||||
other and with the public. Several teams use Slack as a way to communicate
|
||||
internally and most channels are a welcome place for you to join and get
|
||||
yourself involved.
|
||||
|
||||
* Register: https://forger.typo3.org/slack/
|
||||
* Slack: https://typo3.slack.com/
|
||||
|
||||
### Exchange information, ask questions, get help
|
||||
|
||||
Slack is nice for short discussions, but when asking questions, most
|
||||
answers are lost in the noise after a few minutes. To let everyone
|
||||
profit from an answer, we recommend to ask questions on StackOverflow.
|
||||
If you like, you can then post a link into the corresponding Slack
|
||||
channel to raise attention. And please, do not forget to tag your
|
||||
questions correctly with `TYPO3` (and possibly other tags like `Fluid`
|
||||
or `Extbase`).
|
||||
|
||||
* [StackOverflow questions tagged "TYPO3"](https://stackoverflow.com/questions/tagged/typo3)
|
||||
|
||||
The community and all TYPO3 teams communicate through newsgroups, which can
|
||||
also be accessed through mailing lists and forums. Any of these three ways
|
||||
provide access to the same communication channels:
|
||||
|
||||
* Forum (Web): https://forum.typo3.org/
|
||||
* Mailing Lists (Mail): https://typo3.org/support/mailing-lists/
|
||||
* Newsgroups (NNTP): news://lists.typo3.org/
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
If you want to contribute to the TYPO3 CMS source code, take a look at our
|
||||
Contributors Walkthrough and Review System:
|
||||
|
||||
* https://wiki.typo3.org/CWT
|
||||
* https://review.typo3.org/
|
||||
|
||||
The [repository at GitHub](https://github.com/TYPO3/TYPO3.CMS) is a
|
||||
synchronized mirror of the primary TYPO3 CMS core git repository:
|
||||
|
||||
* https://git.typo3.org/Packages/TYPO3.CMS.git
|
||||
|
||||
If you want to file a bug report, maintain your own extension using our
|
||||
infrastructure (Git, Issue Tracker, Wiki, etc), take a look at:
|
||||
|
||||
* https://forge.typo3.org
|
||||
|
||||
Final notes
|
||||
-----------
|
||||
|
||||
TYPO3 is said to be one of the most sophisticated PHP / Internet related
|
||||
applications available, and the more you play with it, the more you will agree.
|
||||
|
||||
Due to the advanced level of the code and functionality, a degree of study,
|
||||
time and perseverance is required to fully understand it, and get the best from
|
||||
it. You should keep trying, as we say it's definitely worth it. TYPO3 is the
|
||||
Enterprise Content Management System "for all".
|
||||
|
||||
The GPL license allows for developments that are based upon TYPO3 to also be
|
||||
freely available under the GPL. Please remember this, because TYPO3 is about
|
||||
"Inspiring People To Share". If you are making money with TYPO3 you can donate
|
||||
or become a member of the TYPO3 Association.
|
||||
|
||||
By becoming a supporting member, individuals and organisations mainly fund
|
||||
core development of TYPO3. The decision about what the funds are used for, is
|
||||
made by all members of the Association and the Expert Advisory Board (EAB).
|
||||
The decisions will be made transparent to the community and especially the
|
||||
supporting members. Your funds will also serve for other purposes as laid
|
||||
out in the bylaws.
|
||||
|
||||
* Donate: https://typo3.org/donate
|
||||
* Become a member of the TYPO3 Association:
|
||||
https://typo3.org/association/membership/levels/
|
||||
|
||||
Copyleft
|
||||
--------
|
||||
|
||||
This document is a part of the TYPO3 project.
|
||||
|
||||
Written by Nigel Jackson, Ingmar Schlecht, Ernesto Baschny, Michael Stucki,
|
||||
Oliver Hader, Ben van 't Ende and others.
|
||||
366
typo3_src-7.6.24/_.htaccess
Normal file
@@ -0,0 +1,366 @@
|
||||
#####
|
||||
#
|
||||
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
|
||||
#
|
||||
# This file includes settings for the following configuration options:
|
||||
#
|
||||
# - Compression
|
||||
# - Caching
|
||||
# - MIME types
|
||||
# - Cross Origin requests
|
||||
# - Rewriting and Access
|
||||
# - Miscellaneous
|
||||
# - PHP optimisation
|
||||
#
|
||||
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
|
||||
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
|
||||
# adjust the 'AllowOverride' directive in your Apache configuration file.
|
||||
#
|
||||
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
|
||||
# Consider adding this file's content to your webserver's configuration directly for speed improvement
|
||||
#
|
||||
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
|
||||
#
|
||||
####
|
||||
|
||||
|
||||
### Begin: Compression ###
|
||||
|
||||
# Compressing resource files will save bandwidth and so improve loading speed especially for users
|
||||
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
|
||||
# *) Uncomment the following lines and
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
|
||||
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
|
||||
|
||||
#<FilesMatch "\.js\.gzip$">
|
||||
# AddType "text/javascript" .gzip
|
||||
#</FilesMatch>
|
||||
#<FilesMatch "\.css\.gzip$">
|
||||
# AddType "text/css" .gzip
|
||||
#</FilesMatch>
|
||||
#AddEncoding gzip .gzip
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
# Force compression for mangled `Accept-Encoding` request headers
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following media types.
|
||||
#
|
||||
# (!) For Apache versions below version 2.3.7 you don't need to
|
||||
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
|
||||
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
|
||||
# the core directives.
|
||||
#
|
||||
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
|
||||
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/ld+json \
|
||||
application/manifest+json \
|
||||
application/rdf+xml \
|
||||
application/rss+xml \
|
||||
application/schema+json \
|
||||
application/vnd.geo+json \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/x-javascript \
|
||||
application/x-web-app-manifest+json \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/eot \
|
||||
font/opentype \
|
||||
image/bmp \
|
||||
image/svg+xml \
|
||||
image/vnd.microsoft.icon \
|
||||
image/x-icon \
|
||||
text/cache-manifest \
|
||||
text/css \
|
||||
text/html \
|
||||
text/javascript \
|
||||
text/plain \
|
||||
text/vcard \
|
||||
text/vnd.rim.location.xloc \
|
||||
text/vtt \
|
||||
text/x-component \
|
||||
text/x-cross-domain-policy \
|
||||
text/xml
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
### End: Compression ###
|
||||
|
||||
|
||||
|
||||
### Begin: Browser caching of resource files ###
|
||||
|
||||
# This affects Frontend and Backend and increases performance.
|
||||
<IfModule mod_expires.c>
|
||||
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 month"
|
||||
|
||||
ExpiresByType text/css "access plus 1 year"
|
||||
|
||||
ExpiresByType application/json "access plus 0 seconds"
|
||||
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||
ExpiresByType application/schema+json "access plus 0 seconds"
|
||||
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
|
||||
ExpiresByType application/xml "access plus 0 seconds"
|
||||
ExpiresByType text/xml "access plus 0 seconds"
|
||||
|
||||
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
||||
ExpiresByType image/x-icon "access plus 1 week"
|
||||
|
||||
ExpiresByType text/x-component "access plus 1 month"
|
||||
|
||||
ExpiresByType text/html "access plus 0 seconds"
|
||||
|
||||
ExpiresByType application/javascript "access plus 1 year"
|
||||
ExpiresByType application/x-javascript "access plus 1 year"
|
||||
ExpiresByType text/javascript "access plus 1 year"
|
||||
|
||||
ExpiresByType application/manifest+json "access plus 1 week"
|
||||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||
|
||||
ExpiresByType audio/ogg "access plus 1 month"
|
||||
ExpiresByType image/bmp "access plus 1 month"
|
||||
ExpiresByType image/gif "access plus 1 month"
|
||||
ExpiresByType image/jpeg "access plus 1 month"
|
||||
ExpiresByType image/png "access plus 1 month"
|
||||
ExpiresByType image/svg+xml "access plus 1 month"
|
||||
ExpiresByType image/webp "access plus 1 month"
|
||||
ExpiresByType video/mp4 "access plus 1 month"
|
||||
ExpiresByType video/ogg "access plus 1 month"
|
||||
ExpiresByType video/webm "access plus 1 month"
|
||||
|
||||
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||
ExpiresByType application/rdf+xml "access plus 1 hour"
|
||||
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||
|
||||
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
||||
ExpiresByType font/eot "access plus 1 month"
|
||||
ExpiresByType font/opentype "access plus 1 month"
|
||||
ExpiresByType application/x-font-ttf "access plus 1 month"
|
||||
ExpiresByType application/font-woff "access plus 1 month"
|
||||
ExpiresByType application/x-font-woff "access plus 1 month"
|
||||
ExpiresByType font/woff "access plus 1 month"
|
||||
ExpiresByType application/font-woff2 "access plus 1 month"
|
||||
|
||||
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
||||
|
||||
</IfModule>
|
||||
|
||||
### End: Browser caching of resource files ###
|
||||
|
||||
|
||||
### Begin: MIME types ###
|
||||
|
||||
# Proper MIME types for all files
|
||||
<IfModule mod_mime.c>
|
||||
|
||||
# Data interchange
|
||||
AddType application/atom+xml atom
|
||||
AddType application/json json map topojson
|
||||
AddType application/ld+json jsonld
|
||||
AddType application/rss+xml rss
|
||||
AddType application/vnd.geo+json geojson
|
||||
AddType application/xml rdf xml
|
||||
|
||||
# JavaScript
|
||||
AddType application/javascript js
|
||||
|
||||
# Manifest files
|
||||
AddType application/manifest+json webmanifest
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType text/cache-manifest appcache
|
||||
|
||||
# Media files
|
||||
|
||||
AddType audio/mp4 f4a f4b m4a
|
||||
AddType audio/ogg oga ogg opus
|
||||
AddType image/bmp bmp
|
||||
AddType image/svg+xml svg svgz
|
||||
AddType image/webp webp
|
||||
AddType video/mp4 f4v f4p m4v mp4
|
||||
AddType video/ogg ogv
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
AddType image/x-icon cur ico
|
||||
|
||||
# Web fonts
|
||||
AddType application/font-woff woff
|
||||
AddType application/font-woff2 woff2
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
AddType application/x-font-ttf ttc ttf
|
||||
AddType font/opentype otf
|
||||
|
||||
# Other
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-bb-appworld bbaw
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType text/vcard vcard vcf
|
||||
AddType text/vnd.rim.location.xloc xloc
|
||||
AddType text/vtt vtt
|
||||
AddType text/x-component htc
|
||||
|
||||
</IfModule>
|
||||
|
||||
# UTF-8 encoding
|
||||
AddDefaultCharset utf-8
|
||||
<IfModule mod_mime.c>
|
||||
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
|
||||
</IfModule>
|
||||
|
||||
### End: MIME types ###
|
||||
|
||||
|
||||
|
||||
### Begin: Cross Origin ###
|
||||
|
||||
# Send the CORS header for images when browsers request it.
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||
SetEnvIf Origin ":" IS_CORS
|
||||
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Allow cross-origin access to web fonts.
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
### End: Cross Origin ###
|
||||
|
||||
|
||||
|
||||
### Begin: Rewriting and Access ###
|
||||
|
||||
# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
# Enable URL rewriting
|
||||
RewriteEngine On
|
||||
|
||||
# Store the current location in an environment variable CWD to use
|
||||
# mod_rewrite in .htaccess files without knowing the RewriteBase
|
||||
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
||||
RewriteRule ^.*$ - [E=CWD:%2]
|
||||
|
||||
# Rules to set ApplicationContext based on hostname
|
||||
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
|
||||
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
|
||||
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
|
||||
|
||||
# Rule for versioned static files, configured through:
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
|
||||
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ %{ENV:CWD}$1.$3 [L]
|
||||
|
||||
# Access block for folders
|
||||
RewriteRule _(?:recycler|temp)_/ - [F]
|
||||
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
|
||||
RewriteRule ^(?:vendor|typo3_src|typo3temp/logs) - [F]
|
||||
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F]
|
||||
|
||||
# Block access to all hidden files and directories with the exception of
|
||||
# the visible content from within the `/.well-known/` hidden directory (RFC 5785).
|
||||
RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule (?:^|/)\. - [F]
|
||||
|
||||
# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
|
||||
# NOTE: Add your additional local storages here
|
||||
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
|
||||
|
||||
# If the file/symlink/directory does not exist => Redirect to index.php.
|
||||
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-l
|
||||
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
|
||||
|
||||
</IfModule>
|
||||
|
||||
# Access block for files
|
||||
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$">
|
||||
# Apache < 2.3
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</IfModule>
|
||||
|
||||
# Apache ≥ 2.3
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
# Block access to vcs directories
|
||||
<IfModule mod_alias.c>
|
||||
RedirectMatch 404 /\.(?:git|svn|hg)/
|
||||
</IfModule>
|
||||
|
||||
### End: Rewriting and Access ###
|
||||
|
||||
|
||||
|
||||
### Begin: Miscellaneous ###
|
||||
|
||||
# 404 error prevention for non-existing redirected folders
|
||||
Options -MultiViews
|
||||
|
||||
# Make sure that directory listings are disabled.
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
# Force IE to render pages in the highest available mode
|
||||
Header set X-UA-Compatible "IE=edge"
|
||||
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
|
||||
# Reducing MIME type security risks
|
||||
Header set X-Content-Type-Options "nosniff"
|
||||
</IfModule>
|
||||
|
||||
# ETag removal
|
||||
<IfModule mod_headers.c>
|
||||
Header unset ETag
|
||||
</IfModule>
|
||||
FileETag None
|
||||
|
||||
### End: Miscellaneous ###
|
||||
|
||||
|
||||
# Add your own rules here.
|
||||
232
typo3_src-7.6.24/composer.json
Normal file
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"name": "typo3/cms",
|
||||
"description": "TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.",
|
||||
"keywords": ["typo3", "cms", "content management system", "extbase"],
|
||||
"homepage": "https://typo3.org/",
|
||||
"type": "typo3-cms-core",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"authors": [
|
||||
{
|
||||
"name": "TYPO3 CMS Core Team",
|
||||
"role": "Developer",
|
||||
"homepage": "https://forge.typo3.org/projects/typo3cms-core"
|
||||
},
|
||||
{
|
||||
"name": "The TYPO3 Community",
|
||||
"role": "Contributor",
|
||||
"homepage": "https://typo3.org/community/"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"general": "https://typo3.org/support/",
|
||||
"issues": "https://forge.typo3.org",
|
||||
"irc": "irc://irc.freenode.net/#typo3-cms",
|
||||
"news": "nntp://lists.typo3.org"
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
"bin-dir": "bin",
|
||||
"platform": {
|
||||
"php": "5.5"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.0",
|
||||
"ext-json": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-session": "*",
|
||||
"ext-xml": "*",
|
||||
"psr/log": "~1.0.0",
|
||||
"pear/http_request2": "~2.3.0",
|
||||
"swiftmailer/swiftmailer": "~5.4.5",
|
||||
"symfony/console": "^2.7",
|
||||
"symfony/finder": "^2.7",
|
||||
"doctrine/instantiator": "~1.0.4",
|
||||
"typo3/class-alias-loader": "^1.0",
|
||||
"typo3/cms-composer-installers": "^1.2.8",
|
||||
"psr/http-message": "~1.0",
|
||||
"cogpowered/finediff": "~0.3.1",
|
||||
"mso/idna-convert": "^0.9.1",
|
||||
"symfony/debug": "^2.7"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.8.0",
|
||||
"mikey179/vfsStream": "1.6.0",
|
||||
"symfony/polyfill-mbstring": "~1.0",
|
||||
"friendsofphp/php-cs-fixer": "^2.2",
|
||||
"symfony/stopwatch": "^2.8",
|
||||
"symfony/process": "^2.8",
|
||||
"symfony/options-resolver": "^2.8",
|
||||
"symfony/filesystem": "^2.8",
|
||||
"symfony/event-dispatcher": "^2.8",
|
||||
"symfony/yaml": "^2.8"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images",
|
||||
"ext-fileinfo": "Used for proper file type detection in the file abstraction layer",
|
||||
"ext-zlib": "TYPO3 uses zlib for amongst others output compression and un/packing t3x extension files",
|
||||
"ext-openssl": "",
|
||||
"ext-soap": "",
|
||||
"ext-zip": "",
|
||||
"ext-mysqli": ""
|
||||
},
|
||||
"extra": {
|
||||
"typo3/class-alias-loader": {
|
||||
"always-add-alias-loader": true
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-TYPO3_7-6": "7.x-dev"
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"typo3/cms-about": "self.version",
|
||||
"typo3/cms-aboutmodules": "self.version",
|
||||
"typo3/cms-adodb": "self.version",
|
||||
"typo3-ter/adodb": "*",
|
||||
"typo3/cms-backend": "self.version",
|
||||
"typo3/cms-belog": "self.version",
|
||||
"typo3/cms-beuser": "self.version",
|
||||
"typo3/cms-context-help": "self.version",
|
||||
"typo3/cms-core": "self.version",
|
||||
"typo3/cms-cshmanual": "self.version",
|
||||
"typo3/cms-css-styled-content": "self.version",
|
||||
"typo3/cms-dbal": "self.version",
|
||||
"typo3-ter/dbal": "*",
|
||||
"typo3/cms-documentation": "self.version",
|
||||
"typo3/cms-extbase": "self.version",
|
||||
"typo3/cms-extensionmanager": "self.version",
|
||||
"typo3/cms-feedit": "self.version",
|
||||
"typo3/cms-felogin": "self.version",
|
||||
"typo3/cms-filelist": "self.version",
|
||||
"typo3/cms-filemetadata": "self.version",
|
||||
"typo3/cms-fluid": "self.version",
|
||||
"typo3/cms-fluid-styled-content": "self.version",
|
||||
"typo3/cms-form": "self.version",
|
||||
"typo3/cms-frontend": "self.version",
|
||||
"typo3/cms-func": "self.version",
|
||||
"typo3-ter/func": "*",
|
||||
"typo3/cms-func-wizards": "self.version",
|
||||
"typo3/cms-impexp": "self.version",
|
||||
"typo3/cms-indexed-search": "self.version",
|
||||
"typo3/cms-indexed-search-mysql": "self.version",
|
||||
"typo3/cms-info": "self.version",
|
||||
"typo3/cms-info-pagetsconfig": "self.version",
|
||||
"typo3/cms-install": "self.version",
|
||||
"typo3/cms-lang": "self.version",
|
||||
"typo3/cms-linkvalidator": "self.version",
|
||||
"typo3/cms-lowlevel": "self.version",
|
||||
"typo3/cms-opendocs": "self.version",
|
||||
"typo3/cms-recordlist": "self.version",
|
||||
"typo3/cms-recycler": "self.version",
|
||||
"typo3/cms-reports": "self.version",
|
||||
"typo3/cms-rsaauth": "self.version",
|
||||
"typo3/cms-rtehtmlarea": "self.version",
|
||||
"typo3-ter/rtehtmlarea": "*",
|
||||
"typo3/cms-saltedpasswords": "self.version",
|
||||
"typo3/cms-scheduler": "self.version",
|
||||
"typo3/cms-setup": "self.version",
|
||||
"typo3/cms-sv": "self.version",
|
||||
"typo3/cms-sys-action": "self.version",
|
||||
"typo3/cms-sys-note": "self.version",
|
||||
"typo3/cms-t3editor": "self.version",
|
||||
"typo3/cms-t3skin": "self.version",
|
||||
"typo3/cms-taskcenter": "self.version",
|
||||
"typo3/cms-tstemplate": "self.version",
|
||||
"typo3/cms-version": "self.version",
|
||||
"typo3/cms-viewpage": "self.version",
|
||||
"typo3/cms-wizard-crpages": "self.version",
|
||||
"typo3/cms-wizard-sortpages": "self.version",
|
||||
"typo3/cms-workspaces": "self.version"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"TYPO3\\CMS\\About\\": "typo3/sysext/about/Classes/",
|
||||
"TYPO3\\CMS\\Aboutmodules\\": "typo3/sysext/aboutmodules/Classes/",
|
||||
"TYPO3\\CMS\\Backend\\": "typo3/sysext/backend/Classes/",
|
||||
"TYPO3\\CMS\\Belog\\": "typo3/sysext/belog/Classes/",
|
||||
"TYPO3\\CMS\\Beuser\\": "typo3/sysext/beuser/Classes/",
|
||||
"TYPO3\\CMS\\ContextHelp\\": "typo3/sysext/context_help/Classes/",
|
||||
"TYPO3\\CMS\\Core\\": "typo3/sysext/core/Classes/",
|
||||
"TYPO3\\CMS\\Cshmanual\\": "typo3/sysext/cshmanual/Classes/",
|
||||
"TYPO3\\CMS\\CssStyledContent\\": "typo3/sysext/css_styled_content/Classes/",
|
||||
"TYPO3\\CMS\\Dbal\\": "typo3/sysext/dbal/Classes/",
|
||||
"TYPO3\\CMS\\Documentation\\": "typo3/sysext/documentation/Classes/",
|
||||
"TYPO3\\CMS\\Extbase\\": "typo3/sysext/extbase/Classes/",
|
||||
"TYPO3\\CMS\\Extensionmanager\\": "typo3/sysext/extensionmanager/Classes/",
|
||||
"TYPO3\\CMS\\Feedit\\": "typo3/sysext/feedit/Classes/",
|
||||
"TYPO3\\CMS\\Felogin\\": "typo3/sysext/felogin/Classes/",
|
||||
"TYPO3\\CMS\\Filelist\\": "typo3/sysext/filelist/Classes/",
|
||||
"TYPO3\\CMS\\Fluid\\": "typo3/sysext/fluid/Classes/",
|
||||
"TYPO3\\CMS\\FluidStyledContent\\": "typo3/sysext/fluid_styled_content/Classes/",
|
||||
"TYPO3\\CMS\\Form\\": "typo3/sysext/form/Classes/",
|
||||
"TYPO3\\CMS\\Frontend\\": "typo3/sysext/frontend/Classes/",
|
||||
"TYPO3\\CMS\\Func\\": "typo3/sysext/func/Classes/",
|
||||
"TYPO3\\CMS\\Impexp\\": "typo3/sysext/impexp/Classes/",
|
||||
"TYPO3\\CMS\\IndexedSearch\\": "typo3/sysext/indexed_search/Classes/",
|
||||
"TYPO3\\CMS\\IndexedSearchMysql\\": "typo3/sysext/indexed_search_mysql/Classes/",
|
||||
"TYPO3\\CMS\\Info\\": "typo3/sysext/info/Classes/",
|
||||
"TYPO3\\CMS\\InfoPagetsconfig\\": "typo3/sysext/info_pagetsconfig/Classes/",
|
||||
"TYPO3\\CMS\\Install\\": "typo3/sysext/install/Classes/",
|
||||
"TYPO3\\CMS\\Lang\\": "typo3/sysext/lang/Classes/",
|
||||
"TYPO3\\CMS\\Linkvalidator\\": "typo3/sysext/linkvalidator/Classes/",
|
||||
"TYPO3\\CMS\\Lowlevel\\": "typo3/sysext/lowlevel/Classes/",
|
||||
"TYPO3\\CMS\\Opendocs\\": "typo3/sysext/opendocs/Classes/",
|
||||
"TYPO3\\CMS\\Recordlist\\": "typo3/sysext/recordlist/Classes/",
|
||||
"TYPO3\\CMS\\Recycler\\": "typo3/sysext/recycler/Classes/",
|
||||
"TYPO3\\CMS\\Reports\\": "typo3/sysext/reports/Classes/",
|
||||
"TYPO3\\CMS\\Rsaauth\\": "typo3/sysext/rsaauth/Classes/",
|
||||
"TYPO3\\CMS\\Rtehtmlarea\\": "typo3/sysext/rtehtmlarea/Classes/",
|
||||
"TYPO3\\CMS\\Saltedpasswords\\": "typo3/sysext/saltedpasswords/Classes/",
|
||||
"TYPO3\\CMS\\Scheduler\\": "typo3/sysext/scheduler/Classes/",
|
||||
"TYPO3\\CMS\\Setup\\": "typo3/sysext/setup/Classes/",
|
||||
"TYPO3\\CMS\\Sv\\": "typo3/sysext/sv/Classes/",
|
||||
"TYPO3\\CMS\\SysAction\\": "typo3/sysext/sys_action/Classes/",
|
||||
"TYPO3\\CMS\\SysNote\\": "typo3/sysext/sys_note/Classes/",
|
||||
"TYPO3\\CMS\\T3editor\\": "typo3/sysext/t3editor/Classes/",
|
||||
"TYPO3\\CMS\\Taskcenter\\": "typo3/sysext/taskcenter/Classes/",
|
||||
"TYPO3\\CMS\\Tstemplate\\": "typo3/sysext/tstemplate/Classes/",
|
||||
"TYPO3\\CMS\\Version\\": "typo3/sysext/version/Classes/",
|
||||
"TYPO3\\CMS\\Viewpage\\": "typo3/sysext/viewpage/Classes/",
|
||||
"TYPO3\\CMS\\WizardCrpages\\": "typo3/sysext/wizard_crpages/Classes/",
|
||||
"TYPO3\\CMS\\WizardSortpages\\": "typo3/sysext/wizard_sortpages/Classes/",
|
||||
"TYPO3\\CMS\\Workspaces\\": "typo3/sysext/workspaces/Classes/"
|
||||
},
|
||||
"classmap": [
|
||||
"typo3/sysext/core/Resources/PHP/",
|
||||
"typo3/sysext/fluid/Resources/PHP/"
|
||||
],
|
||||
"files": [
|
||||
"typo3/sysext/core/Resources/PHP/GlobalDebugFunctions.php"
|
||||
]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"TYPO3\\CMS\\Backend\\Tests\\": "typo3/sysext/backend/Tests/",
|
||||
"TYPO3\\CMS\\Belog\\Tests\\": "typo3/sysext/belog/Tests/",
|
||||
"TYPO3\\CMS\\Beuser\\Tests\\": "typo3/sysext/beuser/Tests/",
|
||||
"TYPO3\\CMS\\Core\\Tests\\": "typo3/sysext/core/Tests/",
|
||||
"TYPO3\\CMS\\Dbal\\Tests\\": "typo3/sysext/dbal/Tests/",
|
||||
"TYPO3\\CMS\\Documentation\\Tests\\": "typo3/sysext/documentation/Tests/",
|
||||
"TYPO3\\CMS\\Extbase\\Tests\\": "typo3/sysext/extbase/Tests/",
|
||||
"TYPO3\\CMS\\Extensionmanager\\Tests\\": "typo3/sysext/extensionmanager/Tests/",
|
||||
"TYPO3\\CMS\\Felogin\\Tests\\": "typo3/sysext/felogin/Tests/",
|
||||
"TYPO3\\CMS\\Fluid\\Tests\\": "typo3/sysext/fluid/Tests/",
|
||||
"TYPO3\\CMS\\Form\\Tests\\": "typo3/sysext/form/Tests/",
|
||||
"TYPO3\\CMS\\Frontend\\Tests\\": "typo3/sysext/frontend/Tests/",
|
||||
"TYPO3\\CMS\\Impexp\\Tests\\": "typo3/sysext/impexp/Tests/",
|
||||
"TYPO3\\CMS\\IndexedSearch\\Tests\\": "typo3/sysext/indexed_search/Tests/",
|
||||
"TYPO3\\CMS\\Install\\Tests\\": "typo3/sysext/install/Tests/",
|
||||
"TYPO3\\CMS\\Lang\\Tests\\": "typo3/sysext/lang/Tests/",
|
||||
"TYPO3\\CMS\\Lowlevel\\Tests\\": "typo3/sysext/lowlevel/Tests/",
|
||||
"TYPO3\\CMS\\Recordlist\\Tests\\": "typo3/sysext/recordlist/Tests/",
|
||||
"TYPO3\\CMS\\Reports\\Tests\\": "typo3/sysext/reports/Tests/",
|
||||
"TYPO3\\CMS\\Rsaauth\\Tests\\": "typo3/sysext/rsaauth/Tests/",
|
||||
"TYPO3\\CMS\\Saltedpasswords\\Tests\\": "typo3/sysext/saltedpasswords/Tests/",
|
||||
"TYPO3\\CMS\\Scheduler\\Tests\\": "typo3/sysext/scheduler/Tests/",
|
||||
"TYPO3\\CMS\\Sv\\Tests\\": "typo3/sysext/sv/Tests/",
|
||||
"TYPO3\\CMS\\Workspaces\\Tests\\": "typo3/sysext/workspaces/Tests/",
|
||||
"TYPO3\\CMS\\Recycler\\Tests\\": "typo3/sysext/recycler/Tests/"
|
||||
},
|
||||
"classmap": ["typo3/sysext/extbase/Tests/Unit/Object/Container/Fixtures/"]
|
||||
}
|
||||
}
|
||||
2851
typo3_src-7.6.24/composer.lock
generated
Normal file
14
typo3_src-7.6.24/vendor/autoload.php
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
|
||||
|
||||
|
||||
// autoload.php @generated by typo3/class-alias-loader
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_alias_loader_real.php';
|
||||
|
||||
return ClassAliasLoaderInit21f34c26fff4d7a212f91dfdd964dc90::initializeClassAliasLoader(ComposerAutoloaderInit21f34c26fff4d7a212f91dfdd964dc90::getLoader());
|
||||
120
typo3_src-7.6.24/vendor/cogpowered/finediff/README.md
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
FineDiff
|
||||
========
|
||||
|
||||
Originally written by Raymond Hill ([https://github.com/gorhill/PHP-FineDiff](https://github.com/gorhill/PHP-FineDiff)) FineDiff has been tweaked to bring it up to date with the modern world. That means documented, nicely formatted, tested code that can be easily extended.
|
||||
|
||||
[](https://travis-ci.org/cogpowered/FineDiff)
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
**Composer**
|
||||
|
||||
The preferred way of using FineDiff is through [Composer](http://getcomposer.org).
|
||||
|
||||
Add the following to your composer.json file:
|
||||
|
||||
```json
|
||||
{
|
||||
"require": {
|
||||
"cogpowered/finediff": "0.3.*"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Upgrading
|
||||
---------
|
||||
|
||||
**0.3.x** introduces a backwards incompatible version, so if you have stored opcodes do not upgrade!
|
||||
|
||||
`0.3.x` fixes a double encoding issue that generates a longer opcode than is needed.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
**Render HTML**
|
||||
|
||||
|
||||
Render as HTML the difference between two strings:
|
||||
|
||||
```php
|
||||
$diff = new cogpowered\FineDiff\Diff;
|
||||
echo $diff->render('string one', 'string two');
|
||||
```
|
||||
|
||||
This would then output:
|
||||
|
||||
```html
|
||||
string <ins>tw</ins>o<del>ne</del>
|
||||
```
|
||||
|
||||
You could change the granularity to `cogpowered\FineDiff\Granularity\Word` so the output is:
|
||||
|
||||
```html
|
||||
string <del>one</del><ins>two</ins>
|
||||
```
|
||||
|
||||
You do this by passing it into the Diff constructor:
|
||||
|
||||
```php
|
||||
$granularity = new cogpowered\FineDiff\Granularity\Word;
|
||||
$diff = new cogpowered\FineDiff\Diff($granularity);
|
||||
```
|
||||
|
||||
**Grab opcode instructions**
|
||||
|
||||
Opcode instructions are what tell FineDiff how to change one string into another.
|
||||
|
||||
```php
|
||||
$diff = new cogpowered\FineDiff\Diff;
|
||||
echo $diff->getOpcodes('string one', 'string two');
|
||||
```
|
||||
|
||||
This would then output:
|
||||
|
||||
```html
|
||||
c7d3i3:two
|
||||
```
|
||||
|
||||
Render text using the opcodes:
|
||||
```php
|
||||
$render = new cogpowered\FineDiff\Render\Text;
|
||||
echo $render->process('string one', 'c7d3i3:two');
|
||||
```
|
||||
|
||||
Would output:
|
||||
```html
|
||||
string two
|
||||
```
|
||||
|
||||
Same with HTML:
|
||||
```php
|
||||
$render = new cogpowered\FineDiff\Render\Html;
|
||||
echo $render->process('string one', 'c7d3i3:two');
|
||||
```
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright (c) 2011 Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
Copyright (c) 2013 Rob Crowe (http://cogpowered.com)
|
||||
|
||||
Licensed under The MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
27
typo3_src-7.6.24/vendor/cogpowered/finediff/composer.json
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "cogpowered/finediff",
|
||||
"description": "PHP implementation of a Fine granularity Diff engine",
|
||||
"homepage": "https://github.com/cogpowered/FineDiff",
|
||||
"license": "MIT",
|
||||
"keywords": ["finediff", "diff", "text", "string", "opcode"],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Raymond Hill"
|
||||
},
|
||||
{
|
||||
"name": "Rob Crowe",
|
||||
"email": "rob@cogpowered.com"
|
||||
}
|
||||
],
|
||||
"type": "library",
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "*",
|
||||
"phpunit/phpunit": "*"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": { "cogpowered\\FineDiff": "src/" }
|
||||
}
|
||||
}
|
||||
38
typo3_src-7.6.24/vendor/cogpowered/finediff/phpunit.xml.dist
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit
|
||||
colors="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
stopOnError="false"
|
||||
stopOnFailure="false"
|
||||
stopOnIncomplete="false"
|
||||
bootstrap="vendor/autoload.php">
|
||||
|
||||
<testsuites>
|
||||
<testsuite name="Delimiters">
|
||||
<directory suffix=".php">tests/Delimiters</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Diff">
|
||||
<directory suffix=".php">tests/Diff</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Granularity">
|
||||
<directory suffix=".php">tests/Granularity</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Parser">
|
||||
<directory suffix=".php">tests/Parser</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Render">
|
||||
<directory suffix=".php">tests/Render</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Usage">
|
||||
<directory suffix=".php">tests/Usage</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<blacklist>
|
||||
<directory suffix=".php">PEAR_INSTALL_DIR</directory>
|
||||
<directory suffix=".php">PHP_LIBDIR</directory>
|
||||
<directory suffix=".php">vendor</directory>
|
||||
</blacklist>
|
||||
</filter>
|
||||
</phpunit>
|
||||
37
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Delimiters.php
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff;
|
||||
|
||||
/**
|
||||
* Used by classes implementing cogpowered\FineDiff\Granularity\GranularityInterface.
|
||||
*
|
||||
* Class is used more like an Enum type; the class can not be instantiated.
|
||||
*/
|
||||
abstract class Delimiters
|
||||
{
|
||||
const PARAGRAPH = "\n\r";
|
||||
const SENTENCE = ".\n\r";
|
||||
const WORD = " \t.\n\r";
|
||||
const CHARACTER = "";
|
||||
|
||||
/**
|
||||
* Do not allow this class to be instantiated.
|
||||
*/
|
||||
private function __construct() {}
|
||||
}
|
||||
164
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Diff.php
vendored
Normal file
@@ -0,0 +1,164 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff;
|
||||
|
||||
use cogpowered\FineDiff\Granularity\GranularityInterface;
|
||||
use cogpowered\FineDiff\Render\RendererInterface;
|
||||
use cogpowered\FineDiff\Parser\ParserInterface;
|
||||
use cogpowered\FineDiff\Granularity\Character;
|
||||
use cogpowered\FineDiff\Render\Html;
|
||||
use cogpowered\FineDiff\Parser\Parser;
|
||||
|
||||
/**
|
||||
* Diff class.
|
||||
*/
|
||||
class Diff
|
||||
{
|
||||
/**
|
||||
* @var cogpowered\FineDiff\Granularity\GranularityInterface
|
||||
*/
|
||||
protected $granularity;
|
||||
|
||||
/**
|
||||
* @var cogpowered\FineDiff\Render\RendererInterface
|
||||
*/
|
||||
protected $renderer;
|
||||
|
||||
/**
|
||||
* @var cogpowered\FineDiff\Parser\ParserInterface
|
||||
*/
|
||||
protected $parser;
|
||||
|
||||
/**
|
||||
* Instantiate a new instance of Diff.
|
||||
*
|
||||
* @param cogpowered\FineDiff\Granularity\GranularityInterface $granularity Level of diff.
|
||||
* @param cogpowered\FineDiff\Render\RenderInterface $renderer Diff renderer.
|
||||
* @param cogpowered\FineDiff\Parser\ParserInterface $parser Parser used to generate opcodes.
|
||||
*
|
||||
* @throws cogpowered\FineDiff\Exceptions\GranularityCountException
|
||||
* @throws cogpowered\FineDiff\Exceptions\OperationException
|
||||
*/
|
||||
public function __construct(GranularityInterface $granularity = null, RendererInterface $renderer = null, ParserInterface $parser = null)
|
||||
{
|
||||
// Set some sensible defaults
|
||||
|
||||
// Set the granularity of the diff
|
||||
$this->granularity = ($granularity !== null) ? $granularity : new Character;
|
||||
|
||||
// Set the renderer to use when calling Diff::render
|
||||
$this->renderer = ($renderer !== null) ? $renderer : new Html;
|
||||
|
||||
// Set the diff parser
|
||||
$this->parser = ($parser !== null) ? $parser : new Parser($this->granularity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the granularity object used by the parser.
|
||||
*
|
||||
* @return @cogpowered\FineDiff\Granularity\GranularityInterface
|
||||
*/
|
||||
public function getGranularity()
|
||||
{
|
||||
return $this->parser->getGranularity();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the granularity level of the parser.
|
||||
*
|
||||
* @param cogpowered\FineDiff\Granularity\GranularityInterface $granularity
|
||||
* @return void
|
||||
*/
|
||||
public function setGranularity(GranularityInterface $granularity)
|
||||
{
|
||||
$this->parser->setGranularity($granularity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the render.
|
||||
*
|
||||
* @return cogpowered\FineDiff\Render\RendererInterface
|
||||
*/
|
||||
public function getRenderer()
|
||||
{
|
||||
return $this->renderer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the renderer.
|
||||
*
|
||||
* @param cogpowered\FineDiff\Render\RendererInterface $renderer
|
||||
* @return void
|
||||
*/
|
||||
public function setRenderer(RendererInterface $renderer)
|
||||
{
|
||||
$this->renderer = $renderer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the parser responsible for generating the diff/opcodes.
|
||||
*
|
||||
* @return cogpowered\FineDiff\Parser\ParserInterface
|
||||
*/
|
||||
public function getParser()
|
||||
{
|
||||
return $this->parser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the parser.
|
||||
*
|
||||
* @param cogpowered\FineDiff\Parser\ParserInterface $parser
|
||||
* @return void
|
||||
*/
|
||||
public function setParser(ParserInterface $parser)
|
||||
{
|
||||
$this->parser = $parser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the diff / opcodes between two strings.
|
||||
*
|
||||
* Returns the opcode diff which can be used for example, to
|
||||
* to generate a HTML report of the differences.
|
||||
*
|
||||
* @return cogpowered\FineDiff\Parser\Opcodes
|
||||
*/
|
||||
public function getOpcodes($from_text, $to_text)
|
||||
{
|
||||
return $this->parser->parse($from_text, $to_text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the difference between two strings.
|
||||
*
|
||||
* By default will return the difference as HTML.
|
||||
*
|
||||
* @param string $from_text
|
||||
* @param string $to_text
|
||||
* @return string
|
||||
*/
|
||||
public function render($from_text, $to_text)
|
||||
{
|
||||
// First we need the opcodes
|
||||
$opcodes = $this->getOpcodes($from_text, $to_text);
|
||||
|
||||
return $this->renderer->process($from_text, $opcodes);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Exceptions;
|
||||
|
||||
/**
|
||||
* A granularity must have at least one thing to match against. Thrown when this isn't the case.
|
||||
*/
|
||||
class GranularityCountException extends \Exception {}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Exceptions;
|
||||
|
||||
/**
|
||||
* Thrown when trying to set an opcode that doesn't implement cogpowered\FineDiff\Parser\Operations\OperationInterface.
|
||||
*/
|
||||
class OperationException extends \Exception {}
|
||||
34
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Granularity/Character.php
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
use cogpowered\FineDiff\Delimiters;
|
||||
|
||||
/**
|
||||
* Character level granularity.
|
||||
*/
|
||||
class Character extends Granularity
|
||||
{
|
||||
protected $delimiters = array(
|
||||
Delimiters::PARAGRAPH,
|
||||
Delimiters::SENTENCE,
|
||||
Delimiters::WORD,
|
||||
Delimiters::CHARACTER,
|
||||
);
|
||||
}
|
||||
92
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Granularity/Granularity.php
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
/**
|
||||
* Granularities should extend this class.
|
||||
*/
|
||||
abstract class Granularity implements GranularityInterface, \ArrayAccess, \Countable
|
||||
{
|
||||
/**
|
||||
* @var array Extending granularities should override this.
|
||||
*/
|
||||
protected $delimiters = array();
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->delimiters[$offset]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return isset($this->delimiters[$offset]) ? $this->delimiters[$offset] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if (is_null($offset)) {
|
||||
$this->delimiters[] = $value;
|
||||
} else {
|
||||
$this->delimiters[$offset] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->delimiters[$offset]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of delimiters this granularity contains.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->delimiters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getDelimiters()
|
||||
{
|
||||
return $this->delimiters;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function setDelimiters(array $delimiters)
|
||||
{
|
||||
$this->delimiters = $delimiters;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
interface GranularityInterface
|
||||
{
|
||||
public function offsetExists($offset);
|
||||
public function offsetGet($offset);
|
||||
public function offsetSet($offset, $value);
|
||||
public function offsetUnset($offset);
|
||||
|
||||
/**
|
||||
* Get the delimiters that make up the granularity.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getDelimiters();
|
||||
|
||||
/**
|
||||
* Set the delimiters that make up the granularity.
|
||||
*
|
||||
* @param array $delimiters
|
||||
* @return void
|
||||
*/
|
||||
public function setDelimiters(array $delimiters);
|
||||
}
|
||||
31
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Granularity/Paragraph.php
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
use cogpowered\FineDiff\Delimiters;
|
||||
|
||||
/**
|
||||
* Paragraph level granularity.
|
||||
*/
|
||||
class Paragraph extends Granularity
|
||||
{
|
||||
protected $delimiters = array(
|
||||
Delimiters::PARAGRAPH,
|
||||
);
|
||||
}
|
||||
32
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Granularity/Sentence.php
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
use cogpowered\FineDiff\Delimiters;
|
||||
|
||||
/**
|
||||
* Sentence level granularity.
|
||||
*/
|
||||
class Sentence extends Granularity
|
||||
{
|
||||
protected $delimiters = array(
|
||||
Delimiters::PARAGRAPH,
|
||||
Delimiters::SENTENCE,
|
||||
);
|
||||
}
|
||||
33
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Granularity/Word.php
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Granularity;
|
||||
|
||||
use cogpowered\FineDiff\Delimiters;
|
||||
|
||||
/**
|
||||
* Word level granularity.
|
||||
*/
|
||||
class Word extends Granularity
|
||||
{
|
||||
protected $delimiters = array(
|
||||
Delimiters::PARAGRAPH,
|
||||
Delimiters::SENTENCE,
|
||||
Delimiters::WORD,
|
||||
);
|
||||
}
|
||||
74
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Parser/Opcodes.php
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Parser;
|
||||
|
||||
use cogpowered\FineDiff\Exceptions\OperationException;
|
||||
|
||||
/**
|
||||
* Holds all the opcodes returned by the parser.
|
||||
*/
|
||||
class Opcodes implements OpcodesInterface
|
||||
{
|
||||
/**
|
||||
* @var array Individual opcodes.
|
||||
*/
|
||||
protected $opcodes = array();
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getOpcodes()
|
||||
{
|
||||
return $this->opcodes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function setOpcodes(array $opcodes)
|
||||
{
|
||||
$this->opcodes = array();
|
||||
|
||||
// Ensure that all elements of the array
|
||||
// are of the correct type
|
||||
foreach ($opcodes as $opcode) {
|
||||
if (!is_a($opcode, 'cogpowered\FineDiff\Parser\Operations\OperationInterface')) {
|
||||
throw new OperationException('Invalid opcode object');
|
||||
}
|
||||
|
||||
$this->opcodes[] = $opcode->getOpcode();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function generate()
|
||||
{
|
||||
return implode('', $this->opcodes);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->generate();
|
||||
}
|
||||
}
|
||||
53
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Parser/OpcodesInterface.php
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Parser;
|
||||
|
||||
interface OpcodesInterface
|
||||
{
|
||||
/**
|
||||
* Get the opcodes.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getOpcodes();
|
||||
|
||||
/**
|
||||
* Set the opcodes for this parse.
|
||||
*
|
||||
* @param array $opcodes Elements must be an instance of cogpowered\FineDiff\Parser\Operations\OperationInterface.
|
||||
* @throws cogpowered\FineDiff\Exceptions\OperationException
|
||||
* @return void
|
||||
*/
|
||||
public function setOpcodes(array $opcodes);
|
||||
|
||||
/**
|
||||
* Return the opcodes in a format that can then be rendered.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function generate();
|
||||
|
||||
/**
|
||||
* When object is cast to a string returns opcodes as string.
|
||||
*
|
||||
* @see Opcodes::generate
|
||||
* @return string
|
||||
*/
|
||||
public function __toString();
|
||||
}
|
||||
74
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Parser/Operations/Copy.php
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Parser\Operations;
|
||||
|
||||
/**
|
||||
* Generates the opcode for a copy operation.
|
||||
*/
|
||||
class Copy implements OperationInterface
|
||||
{
|
||||
/**
|
||||
* Set the initial length.
|
||||
*
|
||||
* @param int $len Length of string.
|
||||
*/
|
||||
public function __construct($len)
|
||||
{
|
||||
$this->len = $len;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getFromLen()
|
||||
{
|
||||
return $this->len;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getToLen()
|
||||
{
|
||||
return $this->len;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getOpcode()
|
||||
{
|
||||
if ($this->len === 1) {
|
||||
return 'c';
|
||||
}
|
||||
|
||||
return "c{$this->len}";
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase the length of the string.
|
||||
*
|
||||
* @param int $size Amount to increase the string length by.
|
||||
* @return int New length
|
||||
*/
|
||||
public function increase($size)
|
||||
{
|
||||
return $this->len += $size;
|
||||
}
|
||||
}
|
||||
63
typo3_src-7.6.24/vendor/cogpowered/finediff/src/cogpowered/FineDiff/Parser/Operations/Delete.php
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* FINE granularity DIFF
|
||||
*
|
||||
* Computes a set of instructions to convert the content of
|
||||
* one string into another.
|
||||
*
|
||||
* Originally created by Raymond Hill (https://github.com/gorhill/PHP-FineDiff), brought up
|
||||
* to date by Cog Powered (https://github.com/cogpowered/FineDiff).
|
||||
*
|
||||
* @copyright Copyright 2011 (c) Raymond Hill (http://raymondhill.net/blog/?p=441)
|
||||
* @copyright Copyright 2013 (c) Robert Crowe (http://cogpowered.com)
|
||||
* @link https://github.com/cogpowered/FineDiff
|
||||
* @version 0.0.1
|
||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
|
||||
namespace cogpowered\FineDiff\Parser\Operations;
|
||||
|
||||
/**
|
||||
* Generates the opcode for a delete operation.
|
||||
*/
|
||||
class Delete implements OperationInterface
|
||||
{
|
||||
/**
|
||||
* Set the initial length.
|
||||
*
|
||||
* @param int $len Length of string.
|
||||
*/
|
||||
public function __construct($len)
|
||||
{
|
||||
$this->fromLen = $len;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getFromLen()
|
||||
{
|
||||
return $this->fromLen;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getToLen()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getOpcode()
|
||||
{
|
||||
if ($this->fromLen === 1) {
|
||||
return 'd';
|
||||
}
|
||||
|
||||
return "d{$this->fromLen}";
|
||||
}
|
||||
}
|
||||