Skip to content

Commit e915688

Browse files
SajakiSajaki
authored andcommitted
local
1 parent be92bdf commit e915688

19 files changed

+3482
-58
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
21
### Changelog
32

3+
4+
- 2.2.8 (10/06/2018)
5+
- [FIX] #82 RT FIX
6+
- [FIX] make curl https compatible
7+
- [FIX] #108 poll layout issue
8+
49
- 2.2.7 (25/02/2018)
510
- [NEW] #82 recent topics is now available on a special page http://url/app.php/rt
611
- [CHG] now uses phpbb 3.2 language class

acp/recenttopics_info.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class recenttopics_info
2323
public function module()
2424
{
2525
return array(
26-
'filename' => '\paybas\recenttopics\recenttopics_module',
26+
'filename' => '\paybas\recenttopics\acp\recenttopics_module',
2727
'title' => 'RECENT_TOPICS',
2828
'modes' => array(
2929
'recenttopics_config' => array('title' => 'RT_CONFIG', 'auth' => 'ext_paybas/recenttopics && acl_a_board', 'cat' => array('RECENT_TOPICS')),

acp/recenttopics_module.php

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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']['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');

composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"type": "phpbb-extension",
44
"description": "Recent topics Extension for phpBB3.2. Adds a list with a number of recent topics to the index.php",
55
"homepage": "https://github.com/sajaki/RecentTopics",
6-
"version": "2.2.7",
7-
"time": "2018-02-04",
6+
"version": "2.2.8",
7+
"time": "2018-08-10",
88
"license": "GPL-2.0",
99
"authors": [
1010
{
@@ -36,7 +36,8 @@
3636
"version-check": {
3737
"host": "www.avathar.be",
3838
"directory": "/versioncheck",
39-
"filename": "recenttopics22.json"
39+
"filename": "recenttopics22.json",
40+
"ssl": true
4041
}
4142
}
4243
}

config/services.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,6 @@ services:
5252
- '@template'
5353
- '@user'
5454
- '@language'
55+
- '@dbal.conn'
5556
tags:
5657
- { name: event.listener }

core/admin.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ class admin
1616
* connects to remote site and gets xml or html using Curl
1717
*
1818
* @param $url
19+
* @param $ssl
1920
* @param bool $return_Server_Response_Header
2021
* @param bool $loud
2122
* @param bool $json
2223
* @return array
2324
*/
24-
public final function curl($url, $return_Server_Response_Header = false, $loud = true, $json = true)
25+
public final function curl($url, $ssl = false, $pemfile, $return_Server_Response_Header = false, $loud = true, $json = true)
2526
{
2627
global $phpbb_container, $user;
2728

@@ -47,19 +48,24 @@ public final function curl($url, $return_Server_Response_Header = false, $loud =
4748
// set options
4849
curl_setopt_array(
4950
$curl, array(
50-
CURLOPT_RETURNTRANSFER => 1,
51-
CURLOPT_URL => $url,
52-
CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0', //override
53-
CURLOPT_SSL_VERIFYHOST => false,
54-
CURLOPT_SSL_VERIFYPEER => false,
55-
CURLOPT_FOLLOWLOCATION, true,
51+
CURLOPT_USERAGENT => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0', //override
5652
CURLOPT_TIMEOUT => 60,
5753
CURLOPT_VERBOSE => true,
54+
CURLOPT_URL => $url,
5855
CURLOPT_HEADER => $return_Server_Response_Header,
59-
CURLOPT_HEADER => false
56+
CURLOPT_FOLLOWLOCATION, true,
57+
CURLOPT_RETURNTRANSFER => true, //return web page
6058
)
6159
);
6260

61+
// set ssl options
62+
if($ssl)
63+
{
64+
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,true);
65+
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
66+
curl_setopt($curl, CURLOPT_CAINFO, $pemfile);
67+
}
68+
6369
$response = curl_exec($curl);
6470
$headers = curl_getinfo($curl);
6571

0 commit comments

Comments
 (0)