/usr/lib/Wt/examples/planner/MyCaptcha.C is in witty-examples 3.3.0-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /*
* Copyright (C) 2010 Emweb bvba, Kessel-Lo, Belgium.
*
* See the LICENSE file for terms of use.
*/
#include "MyCaptcha.h"
using namespace Wt;
MyCaptcha::MyCaptcha(WContainerWidget* parent,
const int width, const int height)
: WContainerWidget(parent),
completed_(this)
{
setStyleClass("captcha");
captchaMessage_ = new WText(this);
shapesWidget_ = new ShapesWidget(this);
shapesWidget_->resize(width, height);
shapesWidget_->clicked().connect(this, &MyCaptcha::handleClick);
regenerate();
}
void MyCaptcha::handleClick(const WMouseEvent& me)
{
if (shapesWidget_->correctlyClicked(me))
completed_.emit();
else
regenerate();
}
void MyCaptcha::regenerate()
{
shapesWidget_->initShapes();
shapesWidget_->update();
captchaMessage_->setText(tr("captcha.message")
.arg(shapesWidget_->selectedColor())
.arg(shapesWidget_->selectedShape()));
}
|