mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-16 06:58:55 +00:00
Compare commits
15 commits
45af18d830
...
040e2b786c
Author | SHA1 | Date | |
---|---|---|---|
|
040e2b786c | ||
|
bdbd0be548 | ||
|
1b2ac50cfd | ||
|
779bec5fcf | ||
|
f512af1823 | ||
|
bc1e1732cf | ||
|
ee889ac98b | ||
|
b7d2243f6c | ||
|
59e8875fa8 | ||
|
f11512b580 | ||
|
1ae9a49811 | ||
|
5ef1a40083 | ||
|
d95437682e | ||
|
99ffd9205f | ||
|
80a08d9c54 |
12 changed files with 394 additions and 256 deletions
1
.github/setup-exiftool.sh
vendored
1
.github/setup-exiftool.sh
vendored
|
@ -10,5 +10,4 @@
|
||||||
#
|
#
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y parallel libimage-exiftool-perl
|
sudo apt-get install -y parallel libimage-exiftool-perl
|
||||||
|
|
3
.github/setup-sphinx.sh
vendored
3
.github/setup-sphinx.sh
vendored
|
@ -11,7 +11,6 @@
|
||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -q -y sphinxsearch
|
sudo apt-get install -q -y sphinxsearch
|
||||||
|
|
||||||
DIR=$(dirname "$0")
|
DIR=$(dirname "$0")
|
||||||
|
@ -135,7 +134,7 @@ searchd
|
||||||
read_timeout = 5
|
read_timeout = 5
|
||||||
max_children = 30
|
max_children = 30
|
||||||
pid_file = $SPHINX_DATA_DIR/searchd.pid
|
pid_file = $SPHINX_DATA_DIR/searchd.pid
|
||||||
binlog_path = $SPHINX_DATA_DIR/
|
binlog_path = $SPHINX_DATA_DIR
|
||||||
}
|
}
|
||||||
" > $SPHINX_CONF
|
" > $SPHINX_CONF
|
||||||
|
|
||||||
|
|
1
.github/setup-unbuffer.sh
vendored
1
.github/setup-unbuffer.sh
vendored
|
@ -10,5 +10,4 @@
|
||||||
#
|
#
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y expect-dev
|
sudo apt-get install -y expect-dev
|
||||||
|
|
1
.github/setup-webserver.sh
vendored
1
.github/setup-webserver.sh
vendored
|
@ -11,7 +11,6 @@
|
||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y nginx coreutils
|
sudo apt-get install -y nginx coreutils
|
||||||
|
|
||||||
sudo service nginx stop
|
sudo service nginx stop
|
||||||
|
|
16
.github/workflows/tests.yml
vendored
16
.github/workflows/tests.yml
vendored
|
@ -28,6 +28,10 @@ jobs:
|
||||||
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
|
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Update Ubuntu package lists
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y --allow-releaseinfo-change
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
|
@ -169,6 +173,10 @@ jobs:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Update Ubuntu package lists
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y --allow-releaseinfo-change
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
@ -308,6 +316,10 @@ jobs:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Update Ubuntu package lists
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y --allow-releaseinfo-change
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
@ -412,6 +424,10 @@ jobs:
|
||||||
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Update Ubuntu package lists
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -y --allow-releaseinfo-change
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
|
BIN
composer.phar
BIN
composer.phar
Binary file not shown.
579
phpBB/composer.lock
generated
579
phpBB/composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -952,7 +952,7 @@ class fulltext_sphinx implements search_backend_interface
|
||||||
array('read_timeout', '5'),
|
array('read_timeout', '5'),
|
||||||
array('max_children', '30'),
|
array('max_children', '30'),
|
||||||
array('pid_file', $this->config['fulltext_sphinx_data_path'] . 'searchd.pid'),
|
array('pid_file', $this->config['fulltext_sphinx_data_path'] . 'searchd.pid'),
|
||||||
array('binlog_path', $this->config['fulltext_sphinx_data_path']),
|
array('binlog_path', rtrim($this->config['fulltext_sphinx_data_path'], '/\\')), // Trim trailing slash
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,12 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case
|
||||||
|
|
||||||
// Ensure search index has been actually created
|
// Ensure search index has been actually created
|
||||||
$crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid);
|
$crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid);
|
||||||
$posts_indexed = (int) $crawler->filter('#acp_search_index_' . str_replace('\\', '-', $search_type) . ' td')->eq(1)->text();
|
$posts_indexed = (int) $crawler->filter('#acp_search_index_' . str_replace('\\', '-', $search_type) . ' td')->reduce(
|
||||||
|
function ($node, $i) {
|
||||||
|
// Find the value of total posts indexed
|
||||||
|
return (strpos($node->text(), $this->lang('FULLTEXT_MYSQL_TOTAL_POSTS')) !== false || strpos($node->text(), $this->lang('TOTAL_WORDS')) !== false);
|
||||||
|
})
|
||||||
|
->nextAll()->eq(0)->text();
|
||||||
$this->assertTrue($posts_indexed > 0);
|
$this->assertTrue($posts_indexed > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +305,12 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case
|
||||||
|
|
||||||
// Ensure search index has been actually removed
|
// Ensure search index has been actually removed
|
||||||
$crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid);
|
$crawler = self::request('GET', 'adm/index.php?i=acp_search&mode=index&sid=' . $this->sid);
|
||||||
$posts_indexed = (int) $crawler->filter('#acp_search_index_' . str_replace('\\', '-', $this->search_backend) . ' td')->eq(1)->text();
|
$posts_indexed = (int) $crawler->filter('#acp_search_index_' . str_replace('\\', '-', $this->search_backend) . ' td')->reduce(
|
||||||
|
function ($node, $i) {
|
||||||
|
// Find the value of total posts indexed
|
||||||
|
return (strpos($node->text(), $this->lang('FULLTEXT_MYSQL_TOTAL_POSTS')) !== false || strpos($node->text(), $this->lang('TOTAL_WORDS')) !== false);
|
||||||
|
})
|
||||||
|
->nextAll()->eq(0)->text();
|
||||||
$this->assertEquals(0, $posts_indexed);
|
$this->assertEquals(0, $posts_indexed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,8 +27,10 @@ class phpbb_functional_search_sphinx_test extends phpbb_functional_search_base
|
||||||
|
|
||||||
if (!$backend || $this->search_backend == $backend)
|
if (!$backend || $this->search_backend == $backend)
|
||||||
{
|
{
|
||||||
|
$output = $retval = null;
|
||||||
|
|
||||||
// After creating phpBB search index, build Sphinx index
|
// After creating phpBB search index, build Sphinx index
|
||||||
exec('sudo -S service sphinxsearch stop', $output, $retval); // Attemtp to stop sphinxsearch service in case it's running
|
exec('sudo -S service sphinxsearch stop', $output, $retval); // Attempt to stop sphinxsearch service in case it's running
|
||||||
exec('sudo -S indexer --all', $output, $retval); // Run sphinxsearch indexer
|
exec('sudo -S indexer --all', $output, $retval); // Run sphinxsearch indexer
|
||||||
exec('sudo -S service sphinxsearch start', $output, $retval); // Attempt to start sphinxsearch service again
|
exec('sudo -S service sphinxsearch start', $output, $retval); // Attempt to start sphinxsearch service again
|
||||||
}
|
}
|
||||||
|
|
|
@ -601,7 +601,16 @@ class phpbb_functional_visibility_softdelete_test extends phpbb_functional_test_
|
||||||
// Assert new topic title is indexed as well
|
// Assert new topic title is indexed as well
|
||||||
$this->add_lang('search');
|
$this->add_lang('search');
|
||||||
self::request('GET', "search.php?keywords=bang&sid={$this->sid}");
|
self::request('GET', "search.php?keywords=bang&sid={$this->sid}");
|
||||||
$this->assertStringContainsString(sprintf($this->lang['FOUND_SEARCH_MATCHES'][1], 1), self::get_content());
|
|
||||||
|
// Sphinx search doesn't apply to unapproved or softdeleted posts
|
||||||
|
if (strpos($this->get_search_type(), 'fulltext_sphinx'))
|
||||||
|
{
|
||||||
|
$this->assertStringContainsString(sprintf($this->lang['FOUND_SEARCH_MATCHES'][2], 0), self::get_content());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->assertStringContainsString(sprintf($this->lang['FOUND_SEARCH_MATCHES'][1], 1), self::get_content());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_move_topic_back()
|
public function test_move_topic_back()
|
||||||
|
|
|
@ -895,6 +895,24 @@ class phpbb_functional_test_case extends phpbb_test_case
|
||||||
return $group_id;
|
return $group_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get current board's search type
|
||||||
|
*
|
||||||
|
* @return string Current search type setting
|
||||||
|
*/
|
||||||
|
protected function get_search_type()
|
||||||
|
{
|
||||||
|
$db = $this->get_db();
|
||||||
|
$sql = 'SELECT config_value as search_type
|
||||||
|
FROM ' . CONFIG_TABLE . "
|
||||||
|
WHERE config_name = '" . $db->sql_escape('search_type') . "'";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$search_type = $db->sql_fetchfield('search_type');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
|
return $search_type;
|
||||||
|
}
|
||||||
|
|
||||||
protected function remove_user_group($group_name, $usernames)
|
protected function remove_user_group($group_name, $usernames)
|
||||||
{
|
{
|
||||||
global $db, $cache, $auth, $config, $phpbb_dispatcher, $phpbb_log, $phpbb_container, $user, $phpbb_root_path, $phpEx;
|
global $db, $cache, $auth, $config, $phpbb_dispatcher, $phpbb_log, $phpbb_container, $user, $phpbb_root_path, $phpEx;
|
||||||
|
|
Loading…
Add table
Reference in a new issue