X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fcaptcha%2Falternatecaptcha1.cpp;h=0b9db0846aa83ca59d5a11dfdc955c1e6ec0856c;hb=05ef25de71be91442b4cbd22dc7cc45629c5d5bb;hp=e76a57ce15b55247d9fdb3069b4ab58128cddcb4;hpb=f8c0410b12183ecb40aafbb44086fa146b25b528;p=fms.git diff --git a/src/freenet/captcha/alternatecaptcha1.cpp b/src/freenet/captcha/alternatecaptcha1.cpp index e76a57c..0b9db08 100644 --- a/src/freenet/captcha/alternatecaptcha1.cpp +++ b/src/freenet/captcha/alternatecaptcha1.cpp @@ -1,27 +1,23 @@ #include "../../../include/freenet/captcha/alternatecaptcha1.h" -#include -#include - #include +#include #ifdef ALTERNATE_CAPTCHA -bool AlternateCaptcha1::m_fontsloaded(false); -std::vector AlternateCaptcha1::m_fonts; - AlternateCaptcha1::AlternateCaptcha1() { - if(m_fontsloaded==false) - { - FreeImage_Initialise(true); - LoadFonts(); - m_fontsloaded=true; - } + AlternateCaptchaFonts fonts; + m_fonts=fonts.Fonts(); } void AlternateCaptcha1::Generate() { + if(m_fonts.size()==0) + { + return; + } + std::string puzzlestring=GenerateRandomString(5); FreeImage::Bitmap tempchar(50,50,32); tempchar.SetTransparent(); @@ -60,7 +56,7 @@ void AlternateCaptcha1::Generate() white.rgbGreen=255; white.rgbBlue=255; white.rgbReserved=255; - int numlines=(rand()%5)+10; + int numlines=(rand()%5)+5; for(int i=0; i &solution) return true; } -void AlternateCaptcha1::LoadFonts() -{ - - FreeImage::Bitmap bmp; - Poco::Path path("fonts"); - Poco::DirectoryIterator di(path); - Poco::DirectoryIterator end; - - while(di!=end) - { - if(di.name().find("bmp")!=std::string::npos) - { - bmp.Load("bmp",di.path().toString()); - m_fonts.push_back(FreeImage::Font(bmp)); - } - ++di; - } - -} - #endif // ALTERNATE_CAPTCHA