<?php /** * * This file is part of the phpBB Forum Software package. * * @copyright (c) phpBB Limited <https://www.phpbb.com> * @license GNU General Public License, version 2 (GPL-2.0) * * For full copyright and license information, please see * the docs/CREDITS.txt file. * */ require_once dirname(__FILE__) . '/../../phpBB/includes/functions_user.php'; class phpbb_functions_user_group_user_attributes_test extends phpbb_database_test_case { public function getDataSet() { return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/group_user_attributes.xml'); } public function group_user_attributes_data() { return array( array( 'Setting new default group without settings for user with no settings - no change', 1, 2, array( 'group_avatar' => '', 'group_avatar_type' => '', 'group_avatar_height' => 0, 'group_avatar_width' => 0, 'group_rank' => 0, ), array( 'user_avatar' => '', 'user_rank' => 0, ), ), array( 'Setting new default group without settings for user with default settings - user settings overwritten', 2, 2, array( 'group_avatar' => '', 'group_avatar_type' => '', 'group_avatar_height' => 0, 'group_avatar_width' => 0, 'group_rank' => 0, ), array( 'user_avatar' => '', 'user_rank' => 0, ), ), array( 'Setting new default group without settings for user with custom settings - no change', 3, 2, array( 'group_avatar' => '', 'group_avatar_type' => '', 'group_avatar_height' => 0, 'group_avatar_width' => 0, 'group_rank' => 0, ), array( 'user_avatar' => 'custom', 'user_rank' => 2, ), ), array( 'Setting new default group with settings for user with no settings - user settings overwritten', 1, 3, array( 'group_avatar' => 'default2', 'group_avatar_type' => 'avatar.driver.upload', 'group_avatar_height' => 1, 'group_avatar_width' => 1, 'group_rank' => 3, ), array( 'user_avatar' => 'default2', 'user_rank' => 3, ), ), array( 'Setting new default group with settings for user with default settings - user settings overwritten', 2, 3, array( 'group_avatar' => 'default2', 'group_avatar_type' => 'avatar.driver.upload', 'group_avatar_height' => 1, 'group_avatar_width' => 1, 'group_rank' => 3, ), array( 'user_avatar' => 'default2', 'user_rank' => 3, ), ), array( 'Setting new default group with settings for user with custom settings - no change', 3, 3, array( 'group_avatar' => 'default2', 'group_avatar_type' => 'avatar.driver.upload', 'group_avatar_height' => 1, 'group_avatar_width' => 1, 'group_rank' => 3, ), array( 'user_avatar' => 'custom', 'user_rank' => 2, ), ), ); } /** * @dataProvider group_user_attributes_data */ public function test_group_user_attributes($description, $user_id, $group_id, $group_row, $expected) { global $auth, $cache, $db, $phpbb_dispatcher, $user, $phpbb_container, $phpbb_log, $phpbb_root_path, $phpEx; $user = new phpbb_mock_user; $user->ip = ''; $cache = new phpbb_mock_cache; $db = $this->new_dbal(); $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $auth = $this->createMock('\phpbb\auth\auth'); $auth->expects($this->any()) ->method('acl_clear_prefetch'); $cache_driver = new \phpbb\cache\driver\dummy(); $phpbb_container = $this->createMock('Symfony\Component\DependencyInjection\ContainerInterface'); $phpbb_container ->expects($this->any()) ->method('get') ->with('cache.driver') ->will($this->returnValue($cache_driver)); $phpbb_log = new \phpbb\log\log($db, $user, $auth, $phpbb_dispatcher, $phpbb_root_path, 'adm/', $phpEx, LOG_TABLE); group_user_attributes('default', $group_id, array($user_id), false, 'group_name', $group_row); $sql = 'SELECT user_avatar, user_rank FROM ' . USERS_TABLE . ' WHERE user_id = ' . $user_id; $result = $db->sql_query($sql); $this->assertEquals(array($expected), $db->sql_fetchrowset($result)); $db->sql_freeresult($result); } } ref='/web/www/patch/contact/index.php?id=6010eaaee9d51f96117bb03b0c10c1f95856317e'>patch</a>)</td></tr> <tr><th>tree</th><td colspan='2' class='sha1'><a href='/web/www/tree/?id=6010eaaee9d51f96117bb03b0c10c1f95856317e'>28f99b7feec351724d26cf98ca0706d345df922e</a> /<a href='/web/www/tree/contact/index.php?id=6010eaaee9d51f96117bb03b0c10c1f95856317e'>contact/index.php</a></td></tr> <tr><th>parent</th><td colspan='2' class='sha1'><a href='/web/www/commit/contact/index.php?id=080e9c7dfe33fa16a9bd06d724777d328efc23a6'>080e9c7dfe33fa16a9bd06d724777d328efc23a6</a> (<a href='/web/www/diff/contact/index.php?id=6010eaaee9d51f96117bb03b0c10c1f95856317e&id2=080e9c7dfe33fa16a9bd06d724777d328efc23a6'>diff</a>)</td></tr><tr><th>download</th><td colspan='2' class='sha1'><a href='/web/www/snapshot/www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar'>www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar</a><br/><a href='/web/www/snapshot/www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.gz'>www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.gz</a><br/><a href='/web/www/snapshot/www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.bz2'>www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.bz2</a><br/><a href='/web/www/snapshot/www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.xz'>www-6010eaaee9d51f96117bb03b0c10c1f95856317e.tar.xz</a><br/><a href='/web/www/snapshot/www-6010eaaee9d51f96117bb03b0c10c1f95856317e.zip'>www-6010eaaee9d51f96117bb03b0c10c1f95856317e.zip</a><br/></td></tr></table> <div class='commit-subject'>Update Dutch translation from Tx</div><div class='commit-msg'></div><div class='diffstat-header'><a href='/web/www/diff/?id=6010eaaee9d51f96117bb03b0c10c1f95856317e'>Diffstat</a> (limited to 'contact/index.php')</div><table summary='diffstat' class='diffstat'></table><div class='diffstat-summary'>0 files changed, 0 insertions, 0 deletions</div><table summary='diff' class='diff'><tr><td></td></tr></table></div> <!-- class=content --> <div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.1</a> (<a href='https://git-scm.com/'>git 2.21.0</a>) at 2025-04-17 21:49:07 +0000</div> </div> <!-- id=cgit --> </body> </html>