mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-09-28 12:26:29 +02:00
Fixed svn:eol-style settings
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@40456 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
63cbd15456
commit
9b43207884
@ -1,67 +1,67 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Tools for adding an optional protection question to a form.
|
* Tools for adding an optional protection question to a form.
|
||||||
* Remember to add MathSpamProtection::enabled(true); to _config.php for this question to be added to the comments form.
|
* Remember to add MathSpamProtection::enabled(true); to _config.php for this question to be added to the comments form.
|
||||||
*/
|
*/
|
||||||
class MathSpamProtection {
|
class MathSpamProtection {
|
||||||
|
|
||||||
private static $mathProtection = false;
|
private static $mathProtection = false;
|
||||||
|
|
||||||
static function isEnabled() {
|
static function isEnabled() {
|
||||||
return (self::$mathProtection != null) ? true : false;
|
return (self::$mathProtection != null) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function setEnabled($math = true) {
|
static function setEnabled($math = true) {
|
||||||
MathSpamProtection::$mathProtection = $math;
|
MathSpamProtection::$mathProtection = $math;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the question from random variables, which are also saved to the session.
|
* Creates the question from random variables, which are also saved to the session.
|
||||||
*/
|
*/
|
||||||
static function getMathQuestion(){
|
static function getMathQuestion(){
|
||||||
if(!Session::get("mathQuestionV1")&&!Session::get("mathQuestionV2")){
|
if(!Session::get("mathQuestionV1")&&!Session::get("mathQuestionV2")){
|
||||||
$v1 = rand(1,9);
|
$v1 = rand(1,9);
|
||||||
$v2 = rand(1,9);
|
$v2 = rand(1,9);
|
||||||
Session::set("mathQuestionV1",$v1);
|
Session::set("mathQuestionV1",$v1);
|
||||||
Session::set("mathQuestionV2",$v2);
|
Session::set("mathQuestionV2",$v2);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$v1 = Session::get("mathQuestionV1");
|
$v1 = Session::get("mathQuestionV1");
|
||||||
$v2 = Session::get("mathQuestionV2");
|
$v2 = Session::get("mathQuestionV2");
|
||||||
}
|
}
|
||||||
return "What is ".MathSpamProtection::digitToWord($v1)." plus ".MathSpamProtection::digitToWord($v2)."?";
|
return "What is ".MathSpamProtection::digitToWord($v1)." plus ".MathSpamProtection::digitToWord($v2)."?";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks the given answer if it matches the addition of the saved session variables. Users can answer using words or digits.
|
* Checks the given answer if it matches the addition of the saved session variables. Users can answer using words or digits.
|
||||||
*/
|
*/
|
||||||
static function correctAnswer($answer){
|
static function correctAnswer($answer){
|
||||||
$v1 = Session::get("mathQuestionV1");
|
$v1 = Session::get("mathQuestionV1");
|
||||||
$v2 = Session::get("mathQuestionV2");
|
$v2 = Session::get("mathQuestionV2");
|
||||||
|
|
||||||
Session::clear('mathQuestionV1');
|
Session::clear('mathQuestionV1');
|
||||||
Session::clear('mathQuestionV2');
|
Session::clear('mathQuestionV2');
|
||||||
|
|
||||||
if(MathSpamProtection::digitToWord($v1 + $v2) == $answer || ($v1 + $v2) == $answer){
|
if(MathSpamProtection::digitToWord($v1 + $v2) == $answer || ($v1 + $v2) == $answer){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper method for converting digits to their equivelant english words
|
* Helper method for converting digits to their equivelant english words
|
||||||
*/
|
*/
|
||||||
static function digitToWord($num){
|
static function digitToWord($num){
|
||||||
$numbers = array("zero","one","two","three","four","five","six","seven","eight","nine",
|
$numbers = array("zero","one","two","three","four","five","six","seven","eight","nine",
|
||||||
"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen");
|
"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen");
|
||||||
if($num < 0){
|
if($num < 0){
|
||||||
return "minus ".($numbers[-1*$num]);
|
return "minus ".($numbers[-1*$num]);
|
||||||
}
|
}
|
||||||
//TODO: add checking or return null for bad value??
|
//TODO: add checking or return null for bad value??
|
||||||
return $numbers[$num];
|
return $numbers[$num];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -1,52 +1,52 @@
|
|||||||
div.availableWidgetsHolder,
|
div.availableWidgetsHolder,
|
||||||
div.usedWidgetsHolder {
|
div.usedWidgetsHolder {
|
||||||
width: 49%;
|
width: 49%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.availableWidgetsHolder {
|
div.availableWidgetsHolder {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.usedWidgetsHolder {
|
div.usedWidgetsHolder {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.usedWidgets {
|
div.usedWidgets {
|
||||||
min-height: 100px;
|
min-height: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.usedWidgets div.Widget,
|
div.usedWidgets div.Widget,
|
||||||
div.availableWidgets div.Widget {
|
div.availableWidgets div.Widget {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
div.widgetDescription p,
|
div.widgetDescription p,
|
||||||
div.widgetFields {
|
div.widgetFields {
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.deleteWidget {
|
p.deleteWidget {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
height: 2.2em;
|
height: 2.2em;
|
||||||
line-height: 2.2em;
|
line-height: 2.2em;
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
}
|
}
|
||||||
span.widgetDelete {
|
span.widgetDelete {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
float: right;
|
float: right;
|
||||||
background: url(../images/delete.gif) no-repeat left center;
|
background: url(../images/delete.gif) no-repeat left center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
div.usedWidgets div.Widget h3,
|
div.usedWidgets div.Widget h3,
|
||||||
div.availableWidgets div.Widget h3 {
|
div.availableWidgets div.Widget h3 {
|
||||||
font-size: 1.3em;
|
font-size: 1.3em;
|
||||||
height: 1.5em;
|
height: 1.5em;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
text-indent: 5px;
|
text-indent: 5px;
|
||||||
background: #7ab7ec url(../images/widget-title-bg.gif);
|
background: #7ab7ec url(../images/widget-title-bg.gif);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
You have asked to view the content of our site on $ArchiveDate.Date
|
You have asked to view the content of our site on $ArchiveDate.Date
|
||||||
|
|
||||||
You can access the archived site at this link: $ArchiveURL
|
You can access the archived site at this link: $ArchiveURL
|
Loading…
Reference in New Issue
Block a user