AAAAload_captcha.ctp000066600000003726151374562560007710 0ustar00
Load Captcha
input('action_load_captcha_{n}_fonts_config', array('type' => 'select', 'label' => "True Type Fonts Support", 'options' => array(0 => 'Without fonts support', 1 => 'With fonts support'), 'smalldesc' => 'With fonts support is nicer but it depends on the GD library config at your server.')); ?> input('action_load_captcha_{n}_refresh_button_config', array('type' => 'select', 'label' => "Refresh Button", 'options' => array(0 => 'Disabled', 1 => 'Enabled'), 'smalldesc' => 'Add a refresh image button beside the image, this can NOT be enabled if the encoded image setting is enabled.')); ?> input('action_load_captcha_{n}_encoded_image_config', array('type' => 'select', 'label' => "Load encoded image", 'options' => array(0 => 'No', 1 => 'Yes'), 'smalldesc' => 'With this setting enabled, the image data will be encoded and will be sent with the other page HTML code in the same request.')); ?>
background.png000066600000000307151374562560007413 0ustar00PNG  IHDRx(5>%gAMA7tEXtSoftwareAdobe ImageReadyqe<YIDATx 0IX;Ioc````,,,XXX 0````M=!~IENDB`load_captcha.php000066600000012321151374562560007700 0ustar00 'anti_spam', 'title' => 'Anti SPAM'); var $details = array('title' => 'Load Captcha', 'tooltip' => 'Renders the Captcha Image, you need a "CAPTCHA Input" as one of your form fields.'); function run($form, $actiondata){ $mainframe = JFactory::getApplication(); $uri = JFactory::getURI(); $params = new JParameter($actiondata->params); $CF_PATH = $uri->root(); $uri = JFactory::getURI(); if($uri->isSSL()){ $CF_PATH = str_replace('http:', 'https:', $CF_PATH); } //check IE 5,6,7 $old_ie = false; $ua = $_SERVER['HTTP_USER_AGENT']; if(preg_match('/\bmsie [567]/i', $ua) && !preg_match('/\bopera/i', $ua)){ $old_ie = true; } if($old_ie || ((bool)$params->get('encoded_image', 0) === false)){ if((bool)$params->get('refresh_button', 0) === true){ $form->form_details->content = str_replace('{chronocaptcha_img}', ' refresh', $form->form_details->content); }else{ $form->form_details->content = str_replace('{chronocaptcha_img}', ' ', $form->form_details->content); } }else{ ob_start(); $this->generate_encoded((int)$params->get('fonts', 0)); $imgbinary = ob_get_clean(); $form->form_details->content = str_replace('{chronocaptcha_img}', ' ', $form->form_details->content); } } function generate_encoded($fonts = 0){ $mainframe = JFactory::getApplication('site'); $session = JFactory::getSession(); //generate code string $alphanum = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghijkmnpqrstuvwxyz"; $rand = substr(str_shuffle($alphanum), 0, 5); $alphanum2 = "ABCDEFGHIJKLMNPQRSTUVWXYZ23456789abcdefghijkmnpqrstuvwxyz?><,.|\"'[{]}_=+*&^%$#@!~"; $rand2 = substr(str_shuffle($alphanum), 0, 7); $session->set("chrono_verification", md5(strtolower($rand)), md5('chrono')); //generate the image itself if($fonts){ $font = dirname(__FILE__).'/default.ttf'; $image_size = imagettfbbox(20, 0, $font, 'X'); $image_size = 5*(abs($image_size[2] - $image_size[0])+7); $im = imagecreatetruecolor($image_size, 40); // Create some colors $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $greylight = imagecolorallocate($im, 199, 199, 199); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, $image_size -1, 39, $white); // The text to draw $text = $rand; // Replace path by your own font path $font = dirname(__FILE__).'/default.ttf'; $chars = array(); $chars2 = array(); for ($i = 0; $i < strlen($text); $i++) { $chars[] = $text[$i]; } for ($i = 0; $i < strlen($rand2); $i++) { $chars2[] = $rand2[$i]; } //$chars = str_split($text); //$chars2 = str_split($rand2); // Add some shadow to the text //imagettftext($im, 20, 0, 11, 21, $grey, $font, $text); $size2 = 20; $angle2 = 0; $x2 = 10; $y2 = 25; $bbox2 = array(); $bbox2[0] = 0; $bbox2[2] = 0; foreach($chars2 as $char2){ $angle2 = rand(-20, 20); $size2 = rand(15, 20); $y2 = rand(0, 40); imagettftext($im, $size2, $angle2, $x2, $y2, $greylight, $font, $char2); $bbox2 = imagettfbbox($size2, $angle2, $font, $char2); $x2 = $x2 + abs($bbox2[2] - $bbox2[0]) + 3; } $size = 20; $angle = 0; $x = 10; $y = 25; $bbox = array(); $bbox[0] = 0; $bbox[2] = 0; // Add the text foreach($chars as $char){ $angle = rand(-20, 20); //$size = rand(15, 20); imagettftext($im, $size, $angle, $x, $y, $black, $font, $char); $bbox = imagettfbbox($size, $angle, $font, $char); $x = $x + abs($bbox[2] - $bbox[0]) + 3; } // Using imagepng() results in clearer text compared with imagejpeg() imagepng($im); imagedestroy($im); }else{ $image = imagecreatefrompng(dirname(__FILE__).'/background.png'); $greylight = imagecolorallocate($image, 199, 199, 199); $black = imagecolorallocate($image, 0, 0, 0); imagestring ($image, 5, 8, 14, $rand2, $greylight); imagestring ($image, 5, 5, 11, $rand, $black); imagepng($image); imagedestroy($image); } } function load($clear){ if($clear){ $action_params = array( 'fonts' => 0, 'refresh_button' => 0, 'encoded_image' => 0 ); } return array('action_params' => $action_params); } } ?>.htaccess000066600000000177151374562560006371 0ustar00 Order allow,deny Deny from all refresh.png000066600000000773151374562560006741 0ustar00PNG  IHDRaIDATxڕKA{3cPM j,B9x%xQ#^'` HZADH{Bb5āe}.S#6uu8mv`I9(ɡrn[Als (N ,TbwcSh($V|#I0lHqXD<.N(J8I+I㗻#^gZ@T^dD;XZB zWS7^S<[B'NYm$(.(-tdefault.ttf000066600000062224151374562560006737 0ustar00 0OS/2tNcmap,; glyfvXhead%ڋ]6hheal]$hmtxy1]loca`pmaxpjb name3cApostd` kernd} @ ,d !"#$%'&()`IJKBCDEFZN[PO]H W LjMk\l-./01G279,+86*>3@4A?:;<=5YXSRT_UVz{Qopmnsqrthiacfg|uyebwx" Sax    " & 0 :!"" R`x    & 0 9!"""d !"#$%'&()`IJKBCDEFZN[PO]H W LjMk\l-./01G279,+86*>3@4A?:;<=5{pqomnr}~YXSRQT_U|V^tvsxhifgeacbzywu  }EOjr$ET$3"m+!rN4)`@@_OT~z z +6^ X$W ^ [u7<z? 9^/a;T0? 9^/S;jz)t&T$3"m+!rN~P'`@@_OT~z zK #B|pOxOQD~SP@u% i  W-rDx#HJOCs /m O jz/j$35#UT+!rNNr!+@_Xhh[`@z?,68*@z xH{yUUB\ *W>) Mdj3F+!rN^HUT$35#yF8*@z z`@@_Xh^f xN||:m=Ui|RF]o7-`s'ynI)RuBC:dHr`oR5p[ J2> k7"qq<~~('Uia<rLLUOH  O` f^#"^: K65JWZyC Ch5Z0dgI0;-7{@7a?D-C?@65D'B'BByyBL&-4a@\h}2W U?]I-qyeV LbU#oPyZEoj %/3LKvKIw+vKIwuLKN:dodk`u^k`u_dodOR3 )2leMy82 7,; -mCy&]79RM F;J8|,8yBU,Wi<H`H}. ^_Rh.>_"!`+. +R^_[iLE.-FLKR-\V>{>V]R^hi^:^^9bn J`JTIaJh`hg0`0nni/6O p]\q_^kivu^%7}7&V+V4<+zx+<4hi5sq7B/V\YV\T0Bq\*LL)\ NGh[<o \ujE!:Q_-+v`m:;7DkB@ixI..zw9EL#vDf|0vwl!av,,`P:cl;;lK;78:MOI66roVzlc?`zd@/7u|AKiz/n<w`ay/{HPNjivd[ sv,,`nc;ol;[K;78:MmNhqq56$YtHVM|:OL{CB[  h*6OgZEK EZ\<ay/{HPNjiv`//?!cm8{y/0{HPNjivjiv[t U|;t~q~_/ r) ''H*)) xb##PY[ hBf>^')Z[!m_-+v;mm:[yk@AjB8hxx./ uZWu/U[ujknEargi{L3-HhJNq ;`<{oM!hdS(<7^s%4/PgKmqVgyjj=} / .1 !-PPKJ^]qsjgfk's:` Ps,> }dd|`//00h`/hg0/dO 8aw!-#ftO@&i<he R?=Q kQ-:;,So "`Ntq4#R}}R$5!5xv\T{sq@wt%TZ;C IVVf^zWT}CC:!/+,*F!L Sl0t(jHhy/ \PFlbZW{uZYzaaT4{lm{|u/\;(.{=.yy-.>{t~bn!b  `g`O @cMoG5\/W S X)LF&~r]Ca,xEqh%a][HJBfa=K\"3/E/g<Y0ECTb)*M0$}n/kaIyP.jCcWYTmly~~('KUia< ##jz/37j$35#UT+!rNNr!+q@_Xhh[`@z?,68*@z^##7z!%)?R@!+l\m0K[jh\{l|j@<lL:##V+/3V4<+zx+<4hi5sq7jB/V\YV\T0Bq\*LL)\##uZWu/U[ujkn##?0 #|WW|RK66K }EOW||WK66K*-jE};O""am.a STTam.aT kj3mygNI vzhl.-E}<O;.-$E}<O*X0hLHGPGQcYQsch0hh0QGYQsGi/hi/XGXrGiifc0fch0fG0fGfG0fGi/C%C<..<*%3@@"@Y@p<7 + +KVp K99WW886_V;<ilnJe (8cZA?> Z22459/cb d_ QL#c`:,-3*<]W [^e/?/5qmddr}MJX;9D22459/cb d_TUT44w|83<,-3*=]W [^:E :..3/320/320.9 66bbbT - c;}G8)Os}?,?9 ^xW||F(p_N&(r(F&-,)*,HGGG ^X,*)**'GGGH%=r;KF&-,)*,HGGG  lBB ;#$$$,*)**'GGGHOM~#"#'S*%A>**rDF&-,)*,HGGG?,%$*E/-fj.1pDEx,*)**'GGGH04FH31N z!Ar*-F&-,)*,HGGG>n>,*)**'GGGH-xJCrRF&-,)*,HGGGK41AExg@A|(2<%',*)**'GGGHG0%#nDBn;;q#"<M"!r<F&-,)*,HGGG.0DCwDKeu,*)**'GGGHT h6141;((LLjL`r%F&-,)*,HGGGXN,*)**'GGGH|4q?@X_,*PF+,])'{t^Z]_N.2nPP\# fwZs$$%*$+(MJ%$%7VRQO3S^XLM..8VcaG5jL$N=4#N(%8:&&(%8:&&`:(')(;'''&VKY5BZv}VmZVW%Yj-YRJzRMs}#+80|MHnMZDJ< $cI95<N53djB%-vz34yZjkW5Z0< Efe)ogV:' VW*)``('%99&'R;'')'$={0@A*%Y KJyOL=pi:%""5/rEE"7:%!$Ha$i.ZQJ{QNrH*80~KGn%r]%RRw{POc91NO52}TRUT{95OP83N< FFU0$,eR/-#GEo/VW)'(d_(<zBHk}HZ#=m+# 'TV% po##II$|Z41(Y[%41Z18`)/9% 9dna`opknroqb'*;*+-*).FGFFeZxYm&*)*)-* FFFFDIb2;F;*+-*).FGFFu<<P22afC$$<*)*)-* FFFF-t9 ~;2bC;*+-*).FGFFEsr__)^ECQ:9*)*)-* FFFF|{{{z< +)P&=l,r82b+95\!ea &,^F::7HW::%9 Z7-V&5V4 5NeLVL0I4{*WxNolq>,] ~   EkwRySwkEN7Npmgdb6SCHP#<5@4,801GP cojE'Xwz &^'YV*<98)8aJibX_bgM_jGLK{|JJrf[`djKac_e yQN;.*"#+H7wbyvyWWe++6+=36(';5Q0bW*$He%l<;zz<=g"kEHWW3+&1a/9R:5*&K+50B C22< 11FE31y=f!=<`6879.>6(;+(!GfC760*9aCP^m4AYo@A)&Y KKyNM>q j:%!WmO"4.rEE"7:%!ChBCicdehjgifgjfUcK  fcnERRMp6<9\(!+"" wmB?6 $Ny*TSS0`tsq6 N.,e40\XXXXn~C9mL!!Q!.Akjzz]eHED,vvo76z<:Q!_x4t]W==/=< ia`lm2{:8}~/'_<?p,,/ rj rKj/ xjj rI&C&j/R9}9+KbAnOV&&9&V9AK&dEK&K9-Mj1&dC99-bfO=K j7VKraaaHQQUXfffZC.*V@KReRen:b.ZThrhrhrhrhrhrhrh4sNVVeD<\:6$${%rNF$(B#9bbbbbb&p5IN8c;NWY6NWN=a-CzU 6NQQLLLL6`,Xl  |  Z  X^n:l"*|$P@x !b!"##T##%%&'$(P)6*N*++,f,,,-\-..J.../*/L/n////0(0J0l02 3r34 457n89;<=?h@.@AB\BCCnDrEEEFFFFGH*IJKLM MNOPZPQQRSTUJUV|WdXXYf3 ,I u , ,DIN 1451 MittelschriftRegularDIN 1451 MittelschriftDIN 1451 MittelschriftDIN 1451 MittelschriftRegularDIN 1451 MittelschriftDIN 1451 Mittelschriftindex.html000066600000000035151374562560006561 0ustar00