Select Page

JArtForms component for Joomla 1.5 and SecurityImages 5

JArtForms component for Joomla 1.5 and SecurityImages 5

3028_logo-jext 
JArtForms seems to have issue with SecurityImages, as seen in my forum here, so here are the patched
versions working with SecurityImages 5.0.

ArtForms2.1b7.1-for-J1.5-RC1-Update-Only.zip is clearly developed for SecurityImages 4.X.X (Joomla 1.0.X)
and not for SecurityImages 5.X.X (Joomla 1.5.X)

The JArtForms component is a package for an easy From Generator for #Joomla 1.0.xx.
It allows you to generate as much Forms as you like, you can define all fields
that you need and also make file upload and attachment possible.
The idea of the JArtForms is to give a tool that is enabling you to create a
dynamic forms in minutes within your #Joomla! CMS.
The key features are:

  • Possibility for create an unlimited amount of forms with unlimited fields and contents.
  • Possibility to edit component’s CSS, language, settings and update easy from old versions.
  • Optional you can save all received forms in database.
  • Custom Lay-out for every field.
  • View received forms in Front End.
  • Joomla’s SEF support and added sh404sef support.
  • Joomfish support.
  • Newsletter Bridge (only Letterman for now).
  • Database Backups and easy updates from previous versions.
  • Captcha support with optional systems for every form (Alikon Mod, CaptchaForm,
    CaptchaTalk, reCaptcha, Alikon Mambot, SecurityImages and EasyCaptcha).
  • Language and Captcha audio support for spanish, english, german, hungarian,
    dutch, turkish, brazilian portuguese, french, italian and polish (polish without audio files).
  • And much more!

I wont maintain nor make any new versions of JArtForms. Please contact the authors and ask them to
patch their code, or with the next version my code will suddenly break…

For #Joomla 1.5, either download

For hacker, all you have to do is use the version  ArtForms2.1b7.1-for-J1.5-RC1-Update-Only.zip and follow
the tutorial below

 

in file administrator/components/com_artforms/lib/af.lib.afforms.php line 672 replace code producing captcha with

case '6':  //securityimages captcha component
if (file_exists(JPATH_SITE.DS."administrator".DS."components".DS."com_securityimages".DS."config.securityimages.php")) {
$html = '<div align="center">';
$html .= "<script type="text/javascript" src="".JURI :: root()."components/com_securityimages/js/securityImages.js"></script>";
$html .= "<img id='_artFormCaptcha' name='_artFormCaptcha' align='middle' src='".JURI :: root()."/index.php?option=com_securityimages&task=displayCaptcha'>";
$html .= "<a href="javascript:askNewSecurityImages('_artFormCaptcha');">";
$html .= "<img src="".JURI :: root()."/components/com_securityimages/buttons/reload.gif" id='_artFormCaptchaReload' name='_artFormCaptchaReload' border='0'>";
$html .= "</a>";
$html .= '</div>';
$html .= '<div>'.JText::_('ARTF_CAPTCHA_TITLE').'<input type="text" name="_artFormCaptchaUserTry" id="_artFormCaptchaUserTry" /></div>';
$html .= '</div>';
return $html;
} else {
return;
}
break;

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, “Courier New”, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

 

Line 164 for the code checking the captcha

if (file_exists(JPATH_SITE.DS."administrator".DS."components".DS."com_securityimages".DS."config.securityimages.php")) {
$checkSecurity = false;
$_artFormCaptchaUserTry = JArrayHelper::getValue( $_POST, '_artFormCaptchaUserTry', '' );
$mainframe->triggerEvent('onSecurityImagesCheck', array($_artFormCaptchaUserTry, &$checkSecurity));
if ( !$checkSecurity ) {
$msg = JText::_( 'ARTF_CAPTCHA_FAIL' ).'&afimg=0';
$mainframe->redirect( JRoute::_( $alink.'&formid='.$formid.'&Itemid='.$Itemid.'&afmsg='.$msg ) );
}

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, “Courier New”, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

 

 

 

.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, “Courier New”, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }

About The Author

I worked with various Insurances companies across Switzerland on online applications handling billion premium volumes. I love to continuously spark my creativity in many different and challenging open-source projects fueled by my great passion for innovation and blockchain technology.In my technical role as a senior software engineer and Blockchain consultant, I help to define and implement innovative solutions in the scope of both blockchain and traditional products, solutions, and services. I can support the full spectrum of software development activities, starting from analyzing ideas and business cases and up to the production deployment of the solutions.I'm the Founder and CEO of Disruptr GmbH.

Categories