@@ -45,8 +45,7 @@ public function main($id, $mode)
4545 $ ext_meta_manager = $ ext_manager ->create_extension_metadata_manager ('paybas/recenttopics ' , $ phpbb_container ->get ('template ' ));
4646 $ meta_data = $ ext_meta_manager ->get_metadata ();
4747 $ ext_version = $ meta_data ['version ' ];
48- $ versionurl = $ meta_data ['extra ' ]['version-check ' ]['protocol ' ]. $ meta_data ['extra ' ]['version-check ' ]['host ' ].$ meta_data ['extra ' ]['version-check ' ]['directory ' ].'/ ' .$ meta_data ['extra ' ]['version-check ' ]['filename ' ];
49- $ latest_version = $ this ->version_check ($ versionurl , $ request ->variable ('versioncheck_force ' , false ));
48+ $ latest_version = $ this ->version_check ($ meta_data , $ request ->variable ('versioncheck_force ' , false ));
5049
5150 if ($ request ->is_set_post ('submit ' ))
5251 {
@@ -190,17 +189,30 @@ public function main($id, $mode)
190189 * @param int $ttl Cache version information for $ttl seconds. Defaults to 86400 (24 hours).
191190 * @return bool
192191 */
193- public final function version_check ($ versionurl , $ force_update = false , $ ttl = 86400 )
192+ public final function version_check ($ meta_data , $ force_update = false , $ ttl = 86400 )
194193 {
195- global $ user , $ cache ;
194+ global $ user , $ cache , $ phpbb_extension_manager , $ path_helper ;
195+
196+ $ pemfile = '' ;
197+ $ versionurl = ($ meta_data ['extra ' ]['version-check ' ]['ssl ' ] == '1 ' ? 'https:// ' : 'http:// ' ) .
198+ $ meta_data ['extra ' ]['version-check ' ]['host ' ].$ meta_data ['extra ' ]['version-check ' ]['directory ' ].'/ ' .$ meta_data ['extra ' ]['version-check ' ]['filename ' ];
199+ $ ssl = $ meta_data ['extra ' ]['version-check ' ]['ssl ' ] == '1 ' ? true : false ;
200+ if ($ ssl ) {
201+ //https://davidwalsh.name/php-ssl-curl-error
202+ $ pemfile = $ phpbb_extension_manager ->get_extension_path ('paybas/recenttopics ' , true ) . 'core/mozilla.pem ' ;
203+ if (!(file_exists ($ pemfile ) && is_readable ($ pemfile )))
204+ {
205+ $ ssl = false ;
206+ }
207+ }
196208
197209 //get latest productversion from cache
198210 $ latest_version = $ cache ->get ('recenttopics_versioncheck ' );
199211
200212 //if update is forced or cache expired then make the call to refresh latest productversion
201213 if ($ latest_version === false || $ force_update )
202214 {
203- $ data = parent ::curl ($ versionurl , false , false , false );
215+ $ data = parent ::curl ($ versionurl , $ ssl , $ pemfile , false , false , false );
204216 if (0 === count ($ data ) )
205217 {
206218 $ cache ->destroy ('recenttopics_versioncheck ' );
0 commit comments