User details in UCP

Get help with installation and running phpBB 3.1.x here. Please do not post bug reports, feature requests, or extension related questions here.
Ideas Centre
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

NOTE: phpBB 3.1.x is at its End of Life stage and support will NOT be provided after July 1st, 2018.
Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Sun Oct 16, 2016 1:33 pm

yes, just one that is active frome 3.0.12

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Mon Oct 17, 2016 3:04 pm

anyone please?

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 6:05 pm

Reminder!

User avatar
kasimi
Extension Customisations
Extension Customisations
Posts: 3942
Joined: Sat Sep 10, 2011 7:12 pm
Location: Germany
Contact:

Re: User details in UCP

Post by kasimi » Thu Oct 20, 2016 6:43 pm

Post the contents of your [root]/phpbb/permissions.php file.

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 7:05 pm

Code: Select all

<?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.
*
*/

namespace phpbb;

class permissions
{
	/**
	* Event dispatcher object
	* @var \phpbb\event\dispatcher_interface
	*/
	protected $dispatcher;

	/**
	* User object
	* @var \phpbb\user
	*/
	protected $user;

	/**
	* Constructor
	*
	* @param	\phpbb\event\dispatcher_interface	$phpbb_dispatcher	Event dispatcher
	* @param	\phpbb\user				$user				User Object
	*/
	public function __construct(\phpbb\event\dispatcher_interface $phpbb_dispatcher, \phpbb\user $user)
	{
		$this->dispatcher = $phpbb_dispatcher;
		$this->user = $user;

		$categories = $this->categories;
		$types = $this->types;
		$permissions = $this->permissions;

		/**
		* Allows to specify additional permission categories, types and permissions
		*
		* @event core.permissions
		* @var	array	types			Array with permission types (a_, u_, m_, etc.)
		* @var	array	categories		Array with permission categories (pm, post, settings, misc, etc.)
		* @var	array	permissions		Array with permissions. Each Permission has the following layout:
		*		'<type><permission>' => array(
		*			'lang'	=> 'Language Key with a Short description', // Optional, if not set,
		*						// the permissions identifier '<type><permission>' is used with
		*						// all uppercase.
		*			'cat'	=> 'Identifier of the category, the permission should be displayed in',
		*		),
		*		Example:
		*		'u_viewprofile' => array(
		*			'lang'	=> 'ACL_U_VIEWPROFILE',
		*			'cat'	=> 'profile',
		*		),
		* @since 3.1.0-a1
		*/
		$vars = array('types', 'categories', 'permissions');
		extract($phpbb_dispatcher->trigger_event('core.permissions', compact($vars)));

		$this->categories = $categories;
		$this->types = $types;
		$this->permissions = $permissions;
	}

	/**
	* Returns an array with all the permission categories (pm, post, settings, misc, etc.)
	*
	* @return	array	Layout: cat-identifier => Language key
	*/
	public function get_categories()
	{
		return $this->categories;
	}

	/**
	* Returns the language string of a permission category
	*
	* @param	string	$category	Identifier of the category
	* @return	string		Language string
	*/
	public function get_category_lang($category)
	{
		return $this->user->lang($this->categories[$category]);
	}

	/**
	* Returns an array with all the permission types (a_, u_, m_, etc.)
	*
	* @return	array	Layout: type-identifier => Language key
	*/
	public function get_types()
	{
		return $this->types;
	}

	/**
	* Returns the language string of a permission type
	*
	* @param	string	$type	Identifier of the type
	* @param	mixed	$scope	Scope of the type (should be 'global', 'local' or false)
	* @return	string	Language string
	*/
	public function get_type_lang($type, $scope = false)
	{
		if ($scope && isset($this->types[$scope][$type]))
		{
			$lang_key = $this->types[$scope][$type];
		}
		else if (isset($this->types[$type]))
		{
			$lang_key = $this->types[$type];
		}
		else
		{
			$lang_key = 'ACL_TYPE_' . strtoupper(($scope) ? $scope . '_' . $type : $type);
		}

		return $this->user->lang($lang_key);
	}

	/**
	* Returns an array with all the permissions.
	* Each Permission has the following layout:
	*	'<type><permission>' => array(
	*		'lang'	=> 'Language Key with a Short description', // Optional, if not set,
	*					// the permissions identifier '<type><permission>' is used with
	*					// all uppercase.
	*		'cat'	=> 'Identifier of the category, the permission should be displayed in',
	*	),
	*	Example:
	*	'u_viewprofile' => array(
	*		'lang'	=> 'ACL_U_VIEWPROFILE',
	*		'cat'	=> 'profile',
	*	),
	*
	* @return	array
	*/
	public function get_permissions()
	{
		return $this->permissions;
	}

	/**
	* Returns the category of a permission
	*
	* @param	string	$permission	Identifier of the permission
	* @return	string		Returns the category identifier of the permission
	*/
	public function get_permission_category($permission)
	{
		return (isset($this->permissions[$permission]['cat'])) ? $this->permissions[$permission]['cat'] : 'misc';
	}

	/**
	* Checks if a category has been defined
	*
	* @param	string	$category	Identifier of the category
	* @return	bool	True if the category is defined, false otherwise
	*/
	public function category_defined($category)
	{
		return isset($this->categories[$category]);
	}

	/**
	* Checks if a permission has been defined
	*
	* @param	string	$permission	Identifier of the permission
	* @return	bool	True if the permission is defined, false otherwise
	*/
	public function permission_defined($permission)
	{
		return isset($this->permissions[$permission]);
	}

	/**
	* Returns the language string of a permission
	*
	* @param	string	$permission	Identifier of the permission
	* @return	string	Language string
	*/
	public function get_permission_lang($permission)
	{
		return (isset($this->permissions[$permission]['lang'])) ? $this->user->lang($this->permissions[$permission]['lang']) : $this->user->lang('ACL_' . strtoupper($permission));
	}

	protected $types = array(
		'u_'			=> 'ACL_TYPE_U_',
		'a_'			=> 'ACL_TYPE_A_',
		'm_'			=> 'ACL_TYPE_M_',
		'f_'			=> 'ACL_TYPE_F_',
		'global'		=> array(
			'm_'			=> 'ACL_TYPE_GLOBAL_M_',
		),
	);

	protected $categories = array(
		'actions'		=> 'ACL_CAT_ACTIONS',
		'content'		=> 'ACL_CAT_CONTENT',
		'forums'		=> 'ACL_CAT_FORUMS',
		'misc'			=> 'ACL_CAT_MISC',
		'permissions'	=> 'ACL_CAT_PERMISSIONS',
		'pm'			=> 'ACL_CAT_PM',
		'polls'			=> 'ACL_CAT_POLLS',
		'post'			=> 'ACL_CAT_POST',
		'post_actions'	=> 'ACL_CAT_POST_ACTIONS',
		'posting'		=> 'ACL_CAT_POSTING',
		'profile'		=> 'ACL_CAT_PROFILE',
		'settings'		=> 'ACL_CAT_SETTINGS',
		'topic_actions'	=> 'ACL_CAT_TOPIC_ACTIONS',
		'user_group'	=> 'ACL_CAT_USER_GROUP',
	);

	protected $permissions = array(
		// User Permissions
		'u_viewprofile'	=> array('lang' => 'ACL_U_VIEWPROFILE', 'cat' => 'profile'),
		'u_chgname'		=> array('lang' => 'ACL_U_CHGNAME', 'cat' => 'profile'),
		'u_chgpasswd'	=> array('lang' => 'ACL_U_CHGPASSWD', 'cat' => 'profile'),
		'u_chgemail'	=> array('lang' => 'ACL_U_CHGEMAIL', 'cat' => 'profile'),
		'u_chgavatar'	=> array('lang' => 'ACL_U_CHGAVATAR', 'cat' => 'profile'),
		'u_chggrp'		=> array('lang' => 'ACL_U_CHGGRP', 'cat' => 'profile'),
		'u_chgprofileinfo'	=> array('lang' => 'ACL_U_CHGPROFILEINFO', 'cat' => 'profile'),

		'u_attach'		=> array('lang' => 'ACL_U_ATTACH', 'cat' => 'post'),
		'u_download'	=> array('lang' => 'ACL_U_DOWNLOAD', 'cat' => 'post'),
		'u_savedrafts'	=> array('lang' => 'ACL_U_SAVEDRAFTS', 'cat' => 'post'),
		'u_chgcensors'	=> array('lang' => 'ACL_U_CHGCENSORS', 'cat' => 'post'),
		'u_sig'			=> array('lang' => 'ACL_U_SIG', 'cat' => 'post'),

		'u_sendpm'		=> array('lang' => 'ACL_U_SENDPM', 'cat' => 'pm'),
		'u_masspm'		=> array('lang' => 'ACL_U_MASSPM', 'cat' => 'pm'),
		'u_masspm_group'=> array('lang' => 'ACL_U_MASSPM_GROUP', 'cat' => 'pm'),
		'u_readpm'		=> array('lang' => 'ACL_U_READPM', 'cat' => 'pm'),
		'u_pm_edit'		=> array('lang' => 'ACL_U_PM_EDIT', 'cat' => 'pm'),
		'u_pm_delete'	=> array('lang' => 'ACL_U_PM_DELETE', 'cat' => 'pm'),
		'u_pm_forward'	=> array('lang' => 'ACL_U_PM_FORWARD', 'cat' => 'pm'),
		'u_pm_emailpm'	=> array('lang' => 'ACL_U_PM_EMAILPM', 'cat' => 'pm'),
		'u_pm_printpm'	=> array('lang' => 'ACL_U_PM_PRINTPM', 'cat' => 'pm'),
		'u_pm_attach'	=> array('lang' => 'ACL_U_PM_ATTACH', 'cat' => 'pm'),
		'u_pm_download'	=> array('lang' => 'ACL_U_PM_DOWNLOAD', 'cat' => 'pm'),
		'u_pm_bbcode'	=> array('lang' => 'ACL_U_PM_BBCODE', 'cat' => 'pm'),
		'u_pm_smilies'	=> array('lang' => 'ACL_U_PM_SMILIES', 'cat' => 'pm'),
		'u_pm_img'		=> array('lang' => 'ACL_U_PM_IMG', 'cat' => 'pm'),
		'u_pm_flash'	=> array('lang' => 'ACL_U_PM_FLASH', 'cat' => 'pm'),

		'u_sendemail'	=> array('lang' => 'ACL_U_SENDEMAIL', 'cat' => 'misc'),
		'u_sendim'		=> array('lang' => 'ACL_U_SENDIM', 'cat' => 'misc'),
		'u_ignoreflood'	=> array('lang' => 'ACL_U_IGNOREFLOOD', 'cat' => 'misc'),
		'u_hideonline'	=> array('lang' => 'ACL_U_HIDEONLINE', 'cat' => 'misc'),
		'u_viewonline'	=> array('lang' => 'ACL_U_VIEWONLINE', 'cat' => 'misc'),
		'u_search'		=> array('lang' => 'ACL_U_SEARCH', 'cat' => 'misc'),

		// Forum Permissions
		'f_list'		=> array('lang' => 'ACL_F_LIST', 'cat' => 'actions'),
		'f_read'		=> array('lang' => 'ACL_F_READ', 'cat' => 'actions'),
		'f_search'		=> array('lang' => 'ACL_F_SEARCH', 'cat' => 'actions'),
		'f_subscribe'	=> array('lang' => 'ACL_F_SUBSCRIBE', 'cat' => 'actions'),
		'f_print'		=> array('lang' => 'ACL_F_PRINT', 'cat' => 'actions'),
		'f_email'		=> array('lang' => 'ACL_F_EMAIL', 'cat' => 'actions'),
		'f_bump'		=> array('lang' => 'ACL_F_BUMP', 'cat' => 'actions'),
		'f_user_lock'	=> array('lang' => 'ACL_F_USER_LOCK', 'cat' => 'actions'),
		'f_download'	=> array('lang' => 'ACL_F_DOWNLOAD', 'cat' => 'actions'),
		'f_report'		=> array('lang' => 'ACL_F_REPORT', 'cat' => 'actions'),

		'f_post'		=> array('lang' => 'ACL_F_POST', 'cat' => 'post'),
		'f_sticky'		=> array('lang' => 'ACL_F_STICKY', 'cat' => 'post'),
		'f_announce'	=> array('lang' => 'ACL_F_ANNOUNCE', 'cat' => 'post'),
		'f_reply'		=> array('lang' => 'ACL_F_REPLY', 'cat' => 'post'),
		'f_edit'		=> array('lang' => 'ACL_F_EDIT', 'cat' => 'post'),
		'f_delete'		=> array('lang' => 'ACL_F_DELETE', 'cat' => 'post'),
		'f_softdelete'	=> array('lang' => 'ACL_F_SOFTDELETE', 'cat' => 'post'),
		'f_ignoreflood' => array('lang' => 'ACL_F_IGNOREFLOOD', 'cat' => 'post'),
		'f_postcount'	=> array('lang' => 'ACL_F_POSTCOUNT', 'cat' => 'post'),
		'f_noapprove'	=> array('lang' => 'ACL_F_NOAPPROVE', 'cat' => 'post'),

		'f_attach'		=> array('lang' => 'ACL_F_ATTACH', 'cat' => 'content'),
		'f_icons'		=> array('lang' => 'ACL_F_ICONS', 'cat' => 'content'),
		'f_bbcode'		=> array('lang' => 'ACL_F_BBCODE', 'cat' => 'content'),
		'f_flash'		=> array('lang' => 'ACL_F_FLASH', 'cat' => 'content'),
		'f_img'			=> array('lang' => 'ACL_F_IMG', 'cat' => 'content'),
		'f_sigs'		=> array('lang' => 'ACL_F_SIGS', 'cat' => 'content'),
		'f_smilies'		=> array('lang' => 'ACL_F_SMILIES', 'cat' => 'content'),

		'f_poll'		=> array('lang' => 'ACL_F_POLL', 'cat' => 'polls'),
		'f_vote'		=> array('lang' => 'ACL_F_VOTE', 'cat' => 'polls'),
		'f_votechg'		=> array('lang' => 'ACL_F_VOTECHG', 'cat' => 'polls'),

		// Moderator Permissions
		'm_edit'		=> array('lang' => 'ACL_M_EDIT', 'cat' => 'post_actions'),
		'm_delete'		=> array('lang' => 'ACL_M_DELETE', 'cat' => 'post_actions'),
		'm_approve'		=> array('lang' => 'ACL_M_APPROVE', 'cat' => 'post_actions'),
		'm_report'		=> array('lang' => 'ACL_M_REPORT', 'cat' => 'post_actions'),
		'm_chgposter'	=> array('lang' => 'ACL_M_CHGPOSTER', 'cat' => 'post_actions'),
		'm_info'		=> array('lang' => 'ACL_M_INFO', 'cat' => 'post_actions'),
		'm_softdelete'	=> array('lang' => 'ACL_M_SOFTDELETE', 'cat' => 'post_actions'),

		'm_move'	=> array('lang' => 'ACL_M_MOVE', 'cat' => 'topic_actions'),
		'm_lock'	=> array('lang' => 'ACL_M_LOCK', 'cat' => 'topic_actions'),
		'm_split'	=> array('lang' => 'ACL_M_SPLIT', 'cat' => 'topic_actions'),
		'm_merge'	=> array('lang' => 'ACL_M_MERGE', 'cat' => 'topic_actions'),

		'm_warn'		=> array('lang' => 'ACL_M_WARN', 'cat' => 'misc'),
		'm_pm_report'	=> array('lang' => 'ACL_M_PM_REPORT', 'cat' => 'misc'),
		'm_ban'			=> array('lang' => 'ACL_M_BAN', 'cat' => 'misc'),

		// Admin Permissions
		'a_board'		=> array('lang' => 'ACL_A_BOARD', 'cat' => 'settings'),
		'a_server'		=> array('lang' => 'ACL_A_SERVER', 'cat' => 'settings'),
		'a_jabber'		=> array('lang' => 'ACL_A_JABBER', 'cat' => 'settings'),
		'a_phpinfo'		=> array('lang' => 'ACL_A_PHPINFO', 'cat' => 'settings'),

		'a_forum'		=> array('lang' => 'ACL_A_FORUM', 'cat' => 'forums'),
		'a_forumadd'	=> array('lang' => 'ACL_A_FORUMADD', 'cat' => 'forums'),
		'a_forumdel'	=> array('lang' => 'ACL_A_FORUMDEL', 'cat' => 'forums'),
		'a_prune'		=> array('lang' => 'ACL_A_PRUNE', 'cat' => 'forums'),

		'a_icons'		=> array('lang' => 'ACL_A_ICONS', 'cat' => 'posting'),
		'a_words'		=> array('lang' => 'ACL_A_WORDS', 'cat' => 'posting'),
		'a_bbcode'		=> array('lang' => 'ACL_A_BBCODE', 'cat' => 'posting'),
		'a_attach'		=> array('lang' => 'ACL_A_ATTACH', 'cat' => 'posting'),

		'a_user'		=> array('lang' => 'ACL_A_USER', 'cat' => 'user_group'),
		'a_userdel'		=> array('lang' => 'ACL_A_USERDEL', 'cat' => 'user_group'),
		'a_group'		=> array('lang' => 'ACL_A_GROUP', 'cat' => 'user_group'),
		'a_groupadd'	=> array('lang' => 'ACL_A_GROUPADD', 'cat' => 'user_group'),
		'a_groupdel'	=> array('lang' => 'ACL_A_GROUPDEL', 'cat' => 'user_group'),
		'a_ranks'		=> array('lang' => 'ACL_A_RANKS', 'cat' => 'user_group'),
		'a_profile'		=> array('lang' => 'ACL_A_PROFILE', 'cat' => 'user_group'),
		'a_names'		=> array('lang' => 'ACL_A_NAMES', 'cat' => 'user_group'),
		'a_ban'			=> array('lang' => 'ACL_A_BAN', 'cat' => 'user_group'),

		'a_viewauth'	=> array('lang' => 'ACL_A_VIEWAUTH', 'cat' => 'permissions'),
		'a_authgroups'	=> array('lang' => 'ACL_A_AUTHGROUPS', 'cat' => 'permissions'),
		'a_authusers'	=> array('lang' => 'ACL_A_AUTHUSERS', 'cat' => 'permissions'),
		'a_fauth'		=> array('lang' => 'ACL_A_FAUTH', 'cat' => 'permissions'),
		'a_mauth'		=> array('lang' => 'ACL_A_MAUTH', 'cat' => 'permissions'),
		'a_aauth'		=> array('lang' => 'ACL_A_AAUTH', 'cat' => 'permissions'),
		'a_uauth'		=> array('lang' => 'ACL_A_UAUTH', 'cat' => 'permissions'),
		'a_roles'		=> array('lang' => 'ACL_A_ROLES', 'cat' => 'permissions'),
		'a_switchperm'	=> array('lang' => 'ACL_A_SWITCHPERM', 'cat' => 'permissions'),

		'a_styles'		=> array('lang' => 'ACL_A_STYLES', 'cat' => 'misc'),
		'a_extensions'	=> array('lang' => 'ACL_A_EXTENSIONS', 'cat' => 'misc'),
		'a_viewlogs'	=> array('lang' => 'ACL_A_VIEWLOGS', 'cat' => 'misc'),
		'a_clearlogs'	=> array('lang' => 'ACL_A_CLEARLOGS', 'cat' => 'misc'),
		'a_modules'		=> array('lang' => 'ACL_A_MODULES', 'cat' => 'misc'),
		'a_language'	=> array('lang' => 'ACL_A_LANGUAGE', 'cat' => 'misc'),
		'a_email'		=> array('lang' => 'ACL_A_EMAIL', 'cat' => 'misc'),
		'a_bots'		=> array('lang' => 'ACL_A_BOTS', 'cat' => 'misc'),
		'a_reasons'		=> array('lang' => 'ACL_A_REASONS', 'cat' => 'misc'),
		'a_backup'		=> array('lang' => 'ACL_A_BACKUP', 'cat' => 'misc'),
		'a_search'		=> array('lang' => 'ACL_A_SEARCH', 'cat' => 'misc'),
	);
}

User avatar
kasimi
Extension Customisations
Extension Customisations
Posts: 3942
Joined: Sat Sep 10, 2011 7:12 pm
Location: Germany
Contact:

Re: User details in UCP

Post by kasimi » Thu Oct 20, 2016 7:27 pm

Looks good. Run this query in phpMyAdmin or similar:

Code: Select all

SELECT * FROM phpbb_acl_options WHERE auth_option = 'u_viewprofile'; 
If it returns 0 rows, run this query:

Code: Select all

INSERT INTO phpbb_acl_options (auth_option, is_global, is_local, founder_only) VALUES ('u_viewprofile', 1, 0, 0); 

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 7:34 pm

At the first query was 0 rows, at the second, this error was generated:

Code: Select all

#1062 - Duplicate entry 'u_viewprofile' for key 'auth_option'

User avatar
Puchahawa
Registered User
Posts: 768
Joined: Sat Jan 01, 2011 10:33 pm
Name: Randy

Re: User details in UCP

Post by Puchahawa » Thu Oct 20, 2016 7:41 pm

Buu wrote:is there a ext to set userprofile to the left?
This one will do that for you.

https://www.phpbb.com/customise/db/exte ... _switcher/
Avatar courtesy of artist Faith Coyotë

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 7:57 pm

thanks :D

User avatar
kasimi
Extension Customisations
Extension Customisations
Posts: 3942
Joined: Sat Sep 10, 2011 7:12 pm
Location: Germany
Contact:

Re: User details in UCP

Post by kasimi » Thu Oct 20, 2016 8:06 pm

Buu wrote:At the first query was 0 rows, at the second, this error was generated:

Code: Select all

#1062 - Duplicate entry 'u_viewprofile' for key 'auth_option'
I'm puzzled. The first query says it doesn't exist, the second says it does?

Dump the entire phpbb_acl_options table and post it here.

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 8:18 pm

phpbb_acl_options.rar
(1.97 KiB) Downloaded 20 times
done

User avatar
kasimi
Extension Customisations
Extension Customisations
Posts: 3942
Joined: Sat Sep 10, 2011 7:12 pm
Location: Germany
Contact:

Re: User details in UCP

Post by kasimi » Thu Oct 20, 2016 9:16 pm

Oh, I mixed up the the permissions, it's the u_chgprofileinfo permission that you seem to be missing. Run this query:

Code: Select all

INSERT INTO phpbb_acl_options (auth_option, is_global, is_local, founder_only) VALUES ('u_chgprofileinfo', 1, 0, 0); 
There might be more queries necessary to get the permission associated to the roles.

Buu
Registered User
Posts: 105
Joined: Wed Oct 16, 2013 5:50 pm

Re: User details in UCP

Post by Buu » Thu Oct 20, 2016 9:27 pm

ok, and how do i get to solve all this issues?
LE: ah, it works now, i just remembered to set the permissions :D
Thank you verry much ;)

Locked

Return to “[3.1.x] Support Forum”