Initial commit - Typo3 11.5.41
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg16"
|
||||
inkscape:version="0.92.1 r15371"
|
||||
sodipodi:docname="Extension.svg">
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="-452.59843"
|
||||
inkscape:cy="560"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="715"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata13">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline">
|
||||
<image
|
||||
y="55.265312"
|
||||
x="-19.604364"
|
||||
id="image26"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAG1BMVEXZK/r1rVn4t2z0okTvjh0W kgJ2Ylfyly3Wdwn05yRUAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsT AQCanBgAAAAHdElNRQfiBAIPJiFMOqolAAAAsElEQVRIx+3UPQ6CQBCGYSpju0eAyp5CD7DFXmDp DXGwh2QsiY1zbGf/xJ9QMQKJvpHEZJ6ChOTLsn9DG4DwZ0uxbwDOXwrXjqhfJTgTXYuQUopeiQiw FfApV66SO8gCOFkXv8gxgD3i5fmDyAD3VFCXPgadNrMDvvKvQWxnAYjygLPeNJhaHUgIEug0Jw7C dtwewHysyHQQjY6ZtwEQAmkG+U60GBjWuB9d/ungN7sDoYJS3KLTvjwAAAAASUVORK5CYII= "
|
||||
style="opacity:1;fill:#008000;image-rendering:optimizeQuality"
|
||||
preserveAspectRatio="none"
|
||||
height="228.077"
|
||||
width="228.022" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
BIN
typo3conf/ext/sr_freecap/Resources/Public/Images/audio.png
Normal file
BIN
typo3conf/ext/sr_freecap/Resources/Public/Images/audio.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
typo3conf/ext/sr_freecap/Resources/Public/Images/moduleicon.gif
Normal file
BIN
typo3conf/ext/sr_freecap/Resources/Public/Images/moduleicon.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 156 B |
108
typo3conf/ext/sr_freecap/Resources/Public/JavaScript/freeCap.js
Normal file
108
typo3conf/ext/sr_freecap/Resources/Public/JavaScript/freeCap.js
Normal file
@@ -0,0 +1,108 @@
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2007-2020 Stanislas Rolland <typo32020(arobas)sjbr.ca>
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project 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.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
* A copy is found in the textfile GPL.txt and important notices to the license
|
||||
* from the author is found in LICENSE.txt distributed with these scripts.
|
||||
*
|
||||
*
|
||||
* This script 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.
|
||||
*
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
/*
|
||||
* Javascript functions for TYPO3 extension freeCap CAPTCHA (sr_freecap)
|
||||
*
|
||||
*/
|
||||
(function () {
|
||||
SrFreecap = {
|
||||
|
||||
/*
|
||||
* Loads a new freeCap image
|
||||
*
|
||||
* @param string id: identifier used to uniiquely identify the image
|
||||
* @param string noImageMessage: message to be displayed if the image element cannot be found
|
||||
* @return void
|
||||
*/
|
||||
newImage: function (id, noImageMessage) {
|
||||
if (document.getElementById) {
|
||||
// extract image name from image source (i.e. cut off ?randomness)
|
||||
var theImage = document.getElementById('tx_srfreecap_captcha_image_' + id);
|
||||
var parts = theImage.src.split('&set');
|
||||
theImage.src = parts[0] + '&set=' + Math.round(Math.random()*100000);
|
||||
} else {
|
||||
alert(noImageMessage ? noImageMessage : 'Sorry, we cannot autoreload a new image. Submit the form and a new image will be loaded.');
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Plays the audio captcha
|
||||
*
|
||||
* @param string id: identifier used to uniquely identify the wav file
|
||||
* @param string wavUrl: url of the wave file generating script
|
||||
* @param string noPlayMessage: message to be displayed if the audio file cannot be rendered
|
||||
* @return void
|
||||
*/
|
||||
playCaptcha: function (id, wavUrl, noPlayMessage) {
|
||||
if (document.getElementById) {
|
||||
var theAudio = document.getElementById('tx_srfreecap_captcha_playAudio_' + id);
|
||||
var url = wavUrl + '&set=' + Math.round(Math.random()*100000);
|
||||
while (theAudio.firstChild) {
|
||||
theAudio.removeChild(theAudio.firstChild);
|
||||
}
|
||||
var audioElement = document.createElement('audio');
|
||||
if (audioElement.canPlayType) {
|
||||
// HTML 5 audio
|
||||
if (audioElement.canPlayType('audio/mpeg') === 'maybe' || audioElement.canPlayType('audio/mpeg') === 'probably') {
|
||||
url = url.replace('formatName=wav', 'formatName=mp3');
|
||||
}
|
||||
audioElement.setAttribute('src', url);
|
||||
audioElement.setAttribute('id', 'tx_srfreecap_captcha_playAudio_audio' + id);
|
||||
theAudio.appendChild(audioElement);
|
||||
audioElement.load();
|
||||
audioElement.play();
|
||||
} else {
|
||||
url = url.replace('formatName=wav', 'formatName=mp3');
|
||||
// In IE, use the default player for audio/mpeg, probably Windows Media Player
|
||||
var objectElement = document.createElement('object');
|
||||
objectElement.setAttribute('id', 'tx_srfreecap_captcha_playAudio_object' + id);
|
||||
objectElement.setAttribute('type', 'audio/mpeg');
|
||||
theAudio.appendChild(objectElement);
|
||||
objectElement.style.height = 0;
|
||||
objectElement.style.width = 0;
|
||||
var parameters = {
|
||||
autoplay: 'true',
|
||||
autostart: 'true',
|
||||
controller: 'false',
|
||||
showcontrols: 'false'
|
||||
};
|
||||
for (var parameter in parameters) {
|
||||
if (parameters.hasOwnProperty(parameter)) {
|
||||
var paramElement = document.createElement('param');
|
||||
paramElement.setAttribute('name', parameter);
|
||||
paramElement.setAttribute('value', parameters[parameter]);
|
||||
paramElement = objectElement.appendChild(paramElement);
|
||||
}
|
||||
}
|
||||
objectElement.setAttribute('altHtml', '<a style="display:inline-block; margin-left: 5px; width: 200px;" href="' + url + '">' + (noPlayMessage ? noPlayMessage : 'Sorry, we cannot play the word of the image.') + '</a>');
|
||||
}
|
||||
} else {
|
||||
alert(noPlayMessage ? noPlayMessage : 'Sorry, we cannot play the word of the image.');
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,28 @@
|
||||
.tx-srfreecap-captcha label {
|
||||
display: inline-block;
|
||||
width: 180px;
|
||||
}
|
||||
img.tx-srfreecap-image {
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.tx-srfreecap-image-accessible {
|
||||
background-color: transparent;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.tx-srfreecap-accessible-link {
|
||||
float: right;
|
||||
margin-right: 7em;
|
||||
vertical-align: middle;
|
||||
width: 10em;
|
||||
}
|
||||
.tx-srfreecap-cant-read {
|
||||
display: inline-block;
|
||||
width: 180px;
|
||||
}
|
||||
.tx-srfreecap-cant-read a:link {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
.sjbr-freecap-font-maker dl {
|
||||
margin: 0;
|
||||
padding: 1em 0 0 0;
|
||||
}
|
||||
.sjbr-freecap-font-maker dt,
|
||||
.sjbr-freecap-font-maker dd {
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0 0 .5em 0;
|
||||
}
|
||||
.sjbr-freecap-font-maker dt {
|
||||
clear: left;
|
||||
margin-top: 5px;
|
||||
padding-right: 1em;
|
||||
text-align: right;
|
||||
width: 25%;
|
||||
}
|
||||
.sjbr-freecap-font-maker dd {
|
||||
margin-top: 8px;
|
||||
text-align: left;
|
||||
width: 50%;
|
||||
}
|
||||
.sjbr-freecap-font-maker dd input {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.sjbr-freecap-font-maker dd label {
|
||||
margin-bottom: 3px;
|
||||
padding: 0 0 0 .5em;
|
||||
vertical-align: top;
|
||||
}
|
||||
.sjbr-freecap-font-maker ul.errors li {
|
||||
font-weight: bold;
|
||||
}
|
||||
.sjbr-freecap-font-maker-created dl {
|
||||
padding: 1em;
|
||||
}
|
||||
.sjbr-freecap-font-maker-created dd {
|
||||
margin-bottom: 10px;
|
||||
margin-left: 20px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
Reference in New Issue
Block a user