1111
1212class ModJDSimpleContactFormHelper {
1313
14+ const JOOMLA_VERSION = \Joomla \CMS \Version::MAJOR_VERSION ;
15+
1416 public static function renderForm ($ params , $ module ) {
1517 $ fields = $ params ->get ('fields ' , []);
1618 foreach ($ fields as $ field ) {
@@ -82,17 +84,35 @@ public static function submitForm($ajax = false) {
8284
8385 $ captchaType = $ params ->get ('captchaPlugins ' ) == "" ? JFactory::getConfig ()->get ('captcha ' ) : $ params ->get ('captchaPlugins ' );
8486 JPluginHelper::importPlugin ('captcha ' , $ captchaType );
85- $ dispatcher = \Joomla \CMS \Factory::getApplication ();
87+ if ( ModJDSimpleContactFormHelper::getJoomlaVersion () < 4 ) {
88+ $ dispatcher = JEventDispatcher::getInstance ();
89+ } else {
90+ $ dispatcher = \Joomla \CMS \Factory::getApplication ();
91+ }
8692
8793 if ( $ captchaType == "recaptcha " ) {
88- $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [ $ jinput ->get ('recaptcha_response_field ' ) ] );
94+ if ( ModJDSimpleContactFormHelper::getJoomlaVersion () < 4 ) {
95+ $ check_captcha = $ dispatcher ->trigger ('onCheckAnswer ' , $ jinput ->get ('recaptcha_response_field ' ));
96+ } else {
97+ $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [ $ jinput ->get ('recaptcha_response_field ' ) ] );
98+ }
99+
89100 if (!$ check_captcha [0 ]) {
90101 throw new \Exception (JText::_ ('Invalid Captcha ' ), 0 );
91102 }
92103 } elseif ( $ captchaType == "recaptcha_invisible " ) {
93- $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [ $ jinput ->get ('g-recaptcha-response ' ) ] );
104+ if ( ModJDSimpleContactFormHelper::getJoomlaVersion () < 4 ) {
105+ $ check_captcha = $ dispatcher ->trigger ('onCheckAnswer ' , $ jinput ->get ('g-recaptcha-response ' ));
106+ } else {
107+ $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [ $ jinput ->get ('g-recaptcha-response ' ) ] );
108+ }
109+
94110 } elseif (!empty ($ captchaType )) {
95- $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [] );
111+ if ( ModJDSimpleContactFormHelper::getJoomlaVersion () < 4 ) {
112+ $ check_captcha = $ dispatcher ->trigger ('onCheckAnswer ' );
113+ } else {
114+ $ check_captcha = $ dispatcher ->triggerEvent ('onCheckAnswer ' , [] );
115+ }
96116 }
97117 }
98118
@@ -447,7 +467,12 @@ public static function uploadFile($name, $src) {
447467 $ filename = JFile::makeSafe ($ fullFileName ."_ " .mt_rand (10000000 ,99999999 ).". " .$ filetype );
448468
449469 $ params = JComponentHelper::getParams ('com_media ' );
450- $ allowable = array_map ('trim ' , explode (', ' , $ params ->get ('restrict_uploads_extensions ' )));
470+
471+ if ( ModJDSimpleContactFormHelper::getJoomlaVersion () < 4 ) {
472+ $ allowable = array_map ('trim ' , explode (', ' , $ params ->get ('upload_extensions ' )));
473+ } else {
474+ $ allowable = array_map ('trim ' , explode (', ' , $ params ->get ('restrict_uploads_extensions ' )));
475+ }
451476
452477 if ($ filetype == '' || $ filetype == false || (!in_array ($ filetype , $ allowable ) ))
453478 {
@@ -472,4 +497,9 @@ public static function uploadFile($name, $src) {
472497 return $ return ;
473498 }
474499 }
500+
501+ public static function getJoomlaVersion () {
502+ $ jversion = new JVersion ();
503+ return $ jversion ::MAJOR_VERSION ;
504+ }
475505}
0 commit comments