diff options
| -rw-r--r-- | phpBB/includes/acp/acp_attachments.php | 6 | ||||
| -rw-r--r-- | phpBB/includes/ucp/ucp_attachments.php | 30 | ||||
| -rw-r--r-- | phpBB/language/en/ucp.php | 1 | ||||
| -rw-r--r-- | phpBB/styles/prosilver/template/ucp_agreement.html | 2 | ||||
| -rw-r--r-- | phpBB/styles/prosilver/template/ucp_attachments.html | 2 | 
5 files changed, 29 insertions, 12 deletions
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index 5b1db5c31b..a7035f38b7 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -1240,13 +1240,17 @@ class acp_attachments  					$display_cat = isset($extensions[$row['extension']]['display_cat']) ? $extensions[$row['extension']]['display_cat'] : ATTACHMENT_CATEGORY_NONE;  					$l_downloaded_viewed = ($display_cat == ATTACHMENT_CATEGORY_NONE) ? 'DOWNLOAD_COUNTS' : 'VIEWED_COUNTS'; +					// Capitalises the group name and checks if its key exists in the language file +					$up_group_name = utf8_strtoupper($extensions[$row['extension']]['group_name']); +					$ext_group_name = (!empty($up_group_name)) ? (isset($user->lang['EXT_GROUP_' .  $up_group_name]) ? $user->lang['EXT_GROUP_' .  $up_group_name] : '') : ''; +  					$template->assign_block_vars('attachments', array(  						'ATTACHMENT_POSTER'	=> get_username_string('full', (int) $row['poster_id'], (string) $row['username'], (string) $row['user_colour'], (string) $row['username']),  						'FILESIZE'			=> get_formatted_filesize((int) $row['filesize']),  						'FILETIME'			=> $user->format_date((int) $row['filetime']),  						'REAL_FILENAME'		=> (!$row['in_message']) ? utf8_basename((string) $row['real_filename']) : '',  						'PHYSICAL_FILENAME'	=> utf8_basename((string) $row['physical_filename']), -						'EXT_GROUP_NAME'	=> (!empty($extensions[$row['extension']]['group_name'])) ? $user->lang['EXT_GROUP_' . $extensions[$row['extension']]['group_name']] : '', +						'EXT_GROUP_NAME'	=> $ext_group_name,  						'COMMENT'			=> $comment,  						'TOPIC_TITLE'		=> (!$row['in_message']) ? (string) $row['topic_title'] : '',  						'ATTACH_ID'			=> (int) $row['attach_id'], diff --git a/phpBB/includes/ucp/ucp_attachments.php b/phpBB/includes/ucp/ucp_attachments.php index c1b623cd71..7808fed325 100644 --- a/phpBB/includes/ucp/ucp_attachments.php +++ b/phpBB/includes/ucp/ucp_attachments.php @@ -29,7 +29,7 @@ class ucp_attachments  	function main($id, $mode)  	{ -		global $template, $user, $db, $config, $phpEx, $phpbb_root_path, $phpbb_container, $request; +		global $template, $user, $db, $config, $phpEx, $phpbb_root_path, $phpbb_container, $request, $auth;  		$start		= $request->variable('start', 0);  		$sort_key	= $request->variable('sk', 'a'); @@ -41,16 +41,27 @@ class ucp_attachments  		if ($delete && count($delete_ids))  		{  			// Validate $delete_ids... -			$sql = 'SELECT attach_id -				FROM ' . ATTACHMENTS_TABLE . ' -				WHERE poster_id = ' . $user->data['user_id'] . ' -					AND is_orphan = 0 -					AND ' . $db->sql_in_set('attach_id', $delete_ids); +			$sql = 'SELECT a.attach_id, p.post_edit_locked, t.topic_status, f.forum_id, f.forum_status +				FROM ' . ATTACHMENTS_TABLE . ' a +				LEFT JOIN ' . POSTS_TABLE . ' p +					ON (a.post_msg_id = p.post_id AND a.in_message = 0) +				LEFT JOIN ' . TOPICS_TABLE . ' t +					ON (t.topic_id = p.topic_id AND a.in_message = 0) +				LEFT JOIN ' . FORUMS_TABLE . ' f +					ON (f.forum_id = t.forum_id AND a.in_message = 0) +				WHERE a.poster_id = ' . $user->data['user_id'] . ' +					AND a.is_orphan = 0 +					AND ' . $db->sql_in_set('a.attach_id', $delete_ids);  			$result = $db->sql_query($sql);  			$delete_ids = array();  			while ($row = $db->sql_fetchrow($result))  			{ +				if (!$auth->acl_get('m_edit', $row['forum_id']) && ($row['forum_status'] == ITEM_LOCKED || $row['topic_status'] == ITEM_LOCKED || $row['post_edit_locked'])) +				{ +					continue; +				} +  				$delete_ids[] = $row['attach_id'];  			}  			$db->sql_freeresult($result); @@ -124,10 +135,12 @@ class ucp_attachments  		$pagination = $phpbb_container->get('pagination');  		$start = $pagination->validate_start($start, $config['topics_per_page'], $num_attachments); -		$sql = 'SELECT a.*, t.topic_title, p.message_subject as message_title +		$sql = 'SELECT a.*, t.topic_title, pr.message_subject as message_title, p.post_edit_locked, t.topic_status, f.forum_id, f.forum_status  			FROM ' . ATTACHMENTS_TABLE . ' a +				LEFT JOIN ' . POSTS_TABLE . ' p ON (a.post_msg_id = p.post_id AND a.in_message = 0)  				LEFT JOIN ' . TOPICS_TABLE . ' t ON (a.topic_id = t.topic_id AND a.in_message = 0) -				LEFT JOIN ' . PRIVMSGS_TABLE . ' p ON (a.post_msg_id = p.msg_id AND a.in_message = 1) +				LEFT JOIN ' . FORUMS_TABLE . ' f ON (f.forum_id = t.forum_id AND a.in_message = 0) +				LEFT JOIN ' . PRIVMSGS_TABLE . ' pr ON (a.post_msg_id = pr.msg_id AND a.in_message = 1)  			WHERE a.poster_id = ' . $user->data['user_id'] . "  				AND a.is_orphan = 0  			ORDER BY $order_by"; @@ -164,6 +177,7 @@ class ucp_attachments  					'TOPIC_ID'			=> $row['topic_id'],  					'S_IN_MESSAGE'		=> $row['in_message'], +					'S_LOCKED'			=> !$row['in_message'] && !$auth->acl_get('m_edit', $row['forum_id']) && ($row['forum_status'] == ITEM_LOCKED || $row['topic_status'] == ITEM_LOCKED || $row['post_edit_locked']),  					'U_VIEW_ATTACHMENT'	=> append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $row['attach_id']),  					'U_VIEW_TOPIC'		=> $view_topic) diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index 2622fb57b7..a754b4114e 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -89,6 +89,7 @@ $lang = array_merge($lang, array(  	'ATTACHMENTS_EXPLAIN'			=> 'This is a list of attachments you have made in posts to this board.',  	'ATTACHMENTS_DELETED'			=> 'Attachments successfully deleted.',  	'ATTACHMENT_DELETED'			=> 'Attachment successfully deleted.', +	'ATTACHMENT_LOCKED'				=> 'This topic is locked, you cannot delete the attachment.',  	'AUTOLOGIN_SESSION_KEYS_DELETED'=> 'The selected "Remember Me" login keys were successfully deleted.',  	'AVATAR_CATEGORY'				=> 'Category',  	'AVATAR_DRIVER_GRAVATAR_TITLE'	=> 'Gravatar', diff --git a/phpBB/styles/prosilver/template/ucp_agreement.html b/phpBB/styles/prosilver/template/ucp_agreement.html index ace65254d7..d4fef9f0a5 100644 --- a/phpBB/styles/prosilver/template/ucp_agreement.html +++ b/phpBB/styles/prosilver/template/ucp_agreement.html @@ -62,8 +62,6 @@  		<div class="content">  			<h2 class="sitename-title">{SITENAME} - {AGREEMENT_TITLE}</h2>  			<p>{AGREEMENT_TEXT}</p> -			<hr class="dashed" /> -			<p><a href="{U_BACK}" class="button2">{L_BACK}</a></p>  		</div>  		</div>  	</div> diff --git a/phpBB/styles/prosilver/template/ucp_attachments.html b/phpBB/styles/prosilver/template/ucp_attachments.html index 696f621116..cfdbf9c7ea 100644 --- a/phpBB/styles/prosilver/template/ucp_attachments.html +++ b/phpBB/styles/prosilver/template/ucp_attachments.html @@ -44,7 +44,7 @@  				</dt>  				<dd class="extra">{attachrow.DOWNLOAD_COUNT}</dd>  				<dd class="time"><span>{attachrow.POST_TIME}</span></dd> -				<dd class="mark"><input type="checkbox" name="attachment[{attachrow.ATTACH_ID}]" value="1" /></dd> +				<dd class="mark"><input type="checkbox" name="attachment[{attachrow.ATTACH_ID}]" value="1"{% if attachrow.S_LOCKED %} disabled title="{{ lang('ATTACHMENT_LOCKED') }}"{% endif %} /></dd>  			</dl>  		</li>  		<!-- END attachrow -->  | 
