⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucp_groups.php

📁 这些都是我以前学习是用到的源码
💻 PHP
📖 第 1 页 / 共 3 页
字号:
				// Hide hidden groups unless user is an admin with group privileges				$sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')';				$sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type					FROM ' . GROUPS_TABLE . '					WHERE ' . ((sizeof($group_id_ary)) ? $db->sql_in_set('group_id', $group_id_ary, true) . ' AND ' : '') . "						group_type $sql_and					ORDER BY group_type DESC, group_name";				$result = $db->sql_query($sql);				$nonmember_count = 0;				while ($row = $db->sql_fetchrow($result))				{					switch ($row['group_type'])					{						case GROUP_OPEN:							$group_status = 'OPEN';						break;						case GROUP_CLOSED:							$group_status = 'CLOSED';						break;						case GROUP_HIDDEN:							$group_status = 'HIDDEN';						break;						case GROUP_SPECIAL:							$group_status = 'SPECIAL';						break;						case GROUP_FREE:							$group_status = 'FREE';						break;					}					$template->assign_block_vars('nonmember', array(						'GROUP_ID'		=> $row['group_id'],						'GROUP_NAME'	=> ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'],						'GROUP_DESC'	=> ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'],						'GROUP_SPECIAL'	=> ($row['group_type'] <> GROUP_SPECIAL) ? false : true,						'GROUP_CLOSED'	=> ($row['group_type'] <> GROUP_CLOSED || $auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? false : true,						'GROUP_STATUS'	=> $user->lang['GROUP_IS_' . $group_status],						'S_CAN_JOIN'	=> ($row['group_type'] == GROUP_OPEN || $row['group_type'] == GROUP_FREE) ? true : false,						'U_VIEW_GROUP'	=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']),						'S_ROW_COUNT'	=> $nonmember_count++)					);				}				$db->sql_freeresult($result);				$template->assign_vars(array(					'S_CHANGE_DEFAULT'	=> ($auth->acl_get('u_chggrp')) ? true : false,					'S_LEADER_COUNT'	=> $leader_count,					'S_MEMBER_COUNT'	=> $member_count,					'S_PENDING_COUNT'	=> $pending_count,					'S_NONMEMBER_COUNT'	=> $nonmember_count,					'S_UCP_ACTION'			=> $this->u_action)				);			break;			case 'manage':				$this->page_title = 'UCP_USERGROUPS_MANAGE';				$action		= (isset($_POST['addusers'])) ? 'addusers' : request_var('action', '');				$group_id	= request_var('g', 0);				if ($group_id)				{					$sql = 'SELECT * 						FROM ' . GROUPS_TABLE . " 						WHERE group_id = $group_id";					$result = $db->sql_query($sql);					$group_row = $db->sql_fetchrow($result);					$db->sql_freeresult($result);					if (!$group_row)					{						trigger_error($user->lang['NO_GROUP'] . $return_page);					}				}				switch ($action)				{					case 'edit':						if (!$group_id)						{							trigger_error($user->lang['NO_GROUP'] . $return_page);						}						if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])						{							trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);						}						$file_uploads = (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on') ? true : false;						$user->add_lang(array('acp/groups', 'acp/common'));						$data = $submit_ary = array();						$update	= (isset($_POST['update'])) ? true : false;						$error = array();						$avatar_select = basename(request_var('avatar_select', ''));						$category = basename(request_var('category', ''));						$can_upload = (file_exists($phpbb_root_path . $config['avatar_path']) && is_writeable($phpbb_root_path . $config['avatar_path']) && $file_uploads) ? true : false;						// Did we submit?						if ($update)						{							$group_name	= request_var('group_name', '', true);							$group_desc = request_var('group_desc', '', true);							$group_type	= request_var('group_type', GROUP_FREE);							$allow_desc_bbcode	= request_var('desc_parse_bbcode', false);							$allow_desc_urls	= request_var('desc_parse_urls', false);							$allow_desc_smilies	= request_var('desc_parse_smilies', false);							$data['uploadurl']	= request_var('uploadurl', '');							$data['remotelink'] = request_var('remotelink', '');							$delete				= request_var('delete', '');							$submit_ary = array(								'colour'		=> request_var('group_colour', ''),								'rank'			=> request_var('group_rank', 0),								'receive_pm'	=> isset($_REQUEST['group_receive_pm']) ? 1 : 0,								'message_limit'	=> request_var('group_message_limit', 0)							);							if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink'])							{								$data['width']		= request_var('width', '');								$data['height']		= request_var('height', '');								// Avatar stuff								$var_ary = array(									'uploadurl'		=> array('string', true, 5, 255), 									'remotelink'	=> array('string', true, 5, 255), 									'width'			=> array('string', true, 1, 3), 									'height'		=> array('string', true, 1, 3), 								);								if (!($error = validate_data($data, $var_ary)))								{									$data['user_id'] = "g$group_id";									if ((!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl']) && $can_upload)									{										list($submit_ary['avatar_type'], $submit_ary['avatar'], $submit_ary['avatar_width'], $submit_ary['avatar_height']) = avatar_upload($data, $error);									}									else if ($data['remotelink'])									{										list($submit_ary['avatar_type'], $submit_ary['avatar'], $submit_ary['avatar_width'], $submit_ary['avatar_height']) = avatar_remote($data, $error);									}								}							}							else if ($avatar_select && $config['allow_avatar_local'])							{								// check avatar gallery								if (is_dir($phpbb_root_path . $config['avatar_gallery_path'] . '/' . $category))								{									$submit_ary['avatar_type'] = AVATAR_GALLERY;									list($submit_ary['avatar_width'], $submit_ary['avatar_height']) = getimagesize($phpbb_root_path . $config['avatar_gallery_path'] . '/' . $category . '/' . $avatar_select);									$submit_ary['avatar'] = $category . '/' . $avatar_select;								}							}							else if ($delete)							{								$submit_ary['avatar'] = '';								$submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0;							}							if ((isset($submit_ary['avatar']) && $submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete)							{								if (isset($group_row['group_avatar']) && $group_row['group_avatar'])								{									avatar_delete('group', $group_row);								}							}							if (!sizeof($error))							{								// Only set the rank, colour, etc. if it's changed or if we're adding a new								// group. This prevents existing group members being updated if no changes 								// were made.														$group_attributes = array();								$test_variables = array('rank', 'colour', 'avatar', 'avatar_type', 'avatar_width', 'avatar_height');								foreach ($test_variables as $test)								{									if ($action == 'add' || (isset($submit_ary[$test]) && $group_row['group_' . $test] != $submit_ary[$test]))									{										$group_attributes['group_' . $test] = $group_row['group_' . $test] = $submit_ary[$test];									}								}								if (!($error = group_create($group_id, $group_type, $group_name, $group_desc, $group_attributes, $allow_desc_bbcode, $allow_desc_urls, $allow_desc_smilies)))								{									$cache->destroy('sql', GROUPS_TABLE);									$message = ($action == 'edit') ? 'GROUP_UPDATED' : 'GROUP_CREATED';									trigger_error($user->lang[$message] . $return_page);								}							}							if (sizeof($error))							{								$group_rank = $submit_ary['rank'];								$group_desc_data = array(									'text'			=> $group_desc,									'allow_bbcode'	=> $allow_desc_bbcode,									'allow_smilies'	=> $allow_desc_smilies,									'allow_urls'	=> $allow_desc_urls								);							}						}						else if (!$group_id)						{							$group_name = request_var('group_name', '', true);							$group_desc_data = array(								'text'			=> '',								'allow_bbcode'	=> true,								'allow_smilies'	=> true,								'allow_urls'	=> true							);							$group_rank = 0;							$group_type = GROUP_OPEN;						}						else						{							$group_name = $group_row['group_name'];							$group_desc_data = generate_text_for_edit($group_row['group_desc'], $group_row['group_desc_uid'], $group_row['group_desc_options']);							$group_type = $group_row['group_type'];							$group_rank = $group_row['group_rank'];						}						$sql = 'SELECT * 							FROM ' . RANKS_TABLE . '							WHERE rank_special = 1							ORDER BY rank_title';						$result = $db->sql_query($sql);						$rank_options = '<option value="0"' . ((!$group_rank) ? ' selected="selected"' : '') . '>' . $user->lang['USER_DEFAULT'] . '</option>';						while ($row = $db->sql_fetchrow($result))						{							$selected = ($group_rank && $row['rank_id'] == $group_rank) ? ' selected="selected"' : '';							$rank_options .= '<option value="' . $row['rank_id'] . '"' . $selected . '>' . $row['rank_title'] . '</option>';						}						$db->sql_freeresult($result);						$type_free		= ($group_type == GROUP_FREE) ? ' checked="checked"' : '';						$type_open		= ($group_type == GROUP_OPEN) ? ' checked="checked"' : '';						$type_closed	= ($group_type == GROUP_CLOSED) ? ' checked="checked"' : '';						$type_hidden	= ($group_type == GROUP_HIDDEN) ? ' checked="checked"' : '';						if (isset($group_row['group_avatar']) && $group_row['group_avatar'])						{							$avatar_img = '';							switch ($group_row['group_avatar_type'])							{								case AVATAR_UPLOAD:									$avatar_img = $phpbb_root_path . $config['avatar_path'] . '/';								break;								case AVATAR_GALLERY:									$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';								break;							}							$avatar_img .= $group_row['group_avatar'];							$avatar_img = '<img src="' . $avatar_img . '" width="' . $group_row['group_avatar_width'] . '" height="' . $group_row['group_avatar_height'] . '" alt="" />';						}						else						{							$avatar_img = '<img src="' . $phpbb_root_path . 'adm/images/no_avatar.gif" alt="" />';						}						$display_gallery = (isset($_POST['display_gallery'])) ? true : false;						if ($config['allow_avatar_local'] && $display_gallery)						{							avatar_gallery($category, $avatar_select, 4);						}						$template->assign_vars(array(							'S_EDIT'			=> true,							'S_INCLUDE_SWATCH'	=> true,							'S_CAN_UPLOAD'		=> $can_upload,							'S_FORM_ENCTYPE'	=> ($can_upload) ? ' enctype="multipart/form-data"' : '',							'S_ERROR'			=> (sizeof($error)) ? true : false,							'S_SPECIAL_GROUP'	=> ($group_type == GROUP_SPECIAL) ? true : false,							'S_DISPLAY_GALLERY'	=> ($config['allow_avatar_local'] && !$display_gallery) ? true : false,							'S_IN_GALLERY'		=> ($config['allow_avatar_local'] && $display_gallery) ? true : false,							'ERROR_MSG'				=> (sizeof($error)) ? implode('<br />', $error) : '',							'GROUP_NAME'			=> ($group_type == GROUP_SPECIAL) ? $user->lang['G_' . $group_name] : $group_name,							'GROUP_INTERNAL_NAME'	=> $group_name,							'GROUP_DESC'			=> $group_desc_data['text'],							'GROUP_RECEIVE_PM'		=> (isset($group_row['group_receive_pm']) && $group_row['group_receive_pm']) ? ' checked="checked"' : '',							'GROUP_MESSAGE_LIMIT'	=> (isset($group_row['group_message_limit'])) ? $group_row['group_message_limit'] : 0,							'GROUP_COLOUR'			=> (isset($group_row['group_colour'])) ? $group_row['group_colour'] : '',

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -