From 558b8ee7ff52183b2d70e67afaa2bc39be9f6a70 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 6 Nov 2003 15:05:50 +0000 Subject: [PATCH] UCP -> Attachments git-svn-id: file:///svn/phpbb/trunk@4652 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/ucp/ucp_attachments.php | 152 ++++++++++++++++++ phpBB/install/schemas/schema_data.sql | 1 + phpBB/language/en/lang_admin.php | 1 - phpBB/language/en/lang_main.php | 25 ++- phpBB/posting.php | 2 +- .../subSilver/template/ucp_attachments.html | 66 ++++++++ 6 files changed, 243 insertions(+), 4 deletions(-) create mode 100644 phpBB/includes/ucp/ucp_attachments.php create mode 100644 phpBB/styles/subSilver/template/ucp_attachments.html diff --git a/phpBB/includes/ucp/ucp_attachments.php b/phpBB/includes/ucp/ucp_attachments.php new file mode 100644 index 0000000000..7b731300b3 --- /dev/null +++ b/phpBB/includes/ucp/ucp_attachments.php @@ -0,0 +1,152 @@ +lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED']) . '

' . sprintf($user->lang['RETURN_UCP'], "", ''); + trigger_error($message); + } + else if ($delete && sizeof($delete_ids)) + { + $s_hidden_fields = ''; + foreach ($delete_ids as $attachment_id) + { + $s_hidden_fields .= ''; + } + + // Confirm Attachment Deletion + $template->assign_vars(array( + 'S_CONFIRM_DELETE' => true, + 'S_HIDDEN_FIELDS' => $s_hidden_fields, + 'L_TITLE' => $user->lang['UCP_ATTACH'], + + 'MESSAGE_TITLE' => $user->lang['CONFIRM'], + 'MESSAGE_TEXT' => (sizeof($delete_ids) == 1) ? $user->lang['CONFIRM_DELETE_ATTACHMENT'] : $user->lang['CONFIRM_DELETE_ATTACHMENTS'], + 'S_UCP_ACTION' => "ucp.$phpEx$SID&i=$id") + ); + + $this->display($user->lang['UCP_ATTACHMENTS'], 'ucp_attachments.html'); + exit; + } + + $sort_key = request_var('sk', 'a'); + $sort_dir = request_var('sd', 'a'); + + // Select box eventually + $sort_key_text = array('a' => $user->lang['SORT_FILENAME'], 'b' => $user->lang['SORT_COMMENT'], 'c' => $user->lang['SORT_EXTENSION'], 'd' => $user->lang['SORT_SIZE'], 'e' => $user->lang['SORT_DOWNLOADS'], 'f' => $user->lang['SORT_POST_TIME'], 'g' => $user->lang['SORT_TOPIC_TITLE']); + $sort_key_sql = array('a' => 'a.real_filename', 'b' => 'a.comment', 'c' => 'a.extension', 'd' => 'a.filesize', 'e' => 'a.download_count', 'f' => 'a.filetime', 'g' => 't.topic_title'); + + $sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']); + + $s_sort_key = ''; + foreach ($sort_key_text as $key => $value) + { + $selected = ($sort_key == $key) ? ' selected="selected"' : ''; + $s_sort_key .= ''; + } + + $s_sort_dir = ''; + foreach ($sort_dir_text as $key => $value) + { + $selected = ($sort_dir == $key) ? ' selected="selected"' : ''; + $s_sort_dir .= ''; + } + + $order_by = $sort_key_sql[$sort_key] . ' ' . (($sort_dir == 'a') ? 'ASC' : 'DESC'); + + $sql = 'SELECT COUNT(*) as num_attachments + FROM ' . ATTACHMENTS_TABLE . ' + WHERE poster_id = ' . $user->data['user_id']; + $result = $db->sql_query_limit($sql, 1); + $num_attachments = $db->sql_fetchfield('num_attachments', 0, $result); + $db->sql_freeresult($result); + + $sql = 'SELECT a.*, t.topic_title + FROM ' . ATTACHMENTS_TABLE . ' a, ' . TOPICS_TABLE . ' t + WHERE a.topic_id = t.topic_id + AND a.poster_id = ' . $user->data['user_id'] . ' + ORDER BY ' . $order_by; + $result = $db->sql_query_limit($sql, $config['posts_per_page'], $start); + + $i = 0; + while ($row = $db->sql_fetchrow($result)) + { + $topic_title = (strlen($row['topic_title']) > 32) ? substr($row['topic_title'], 0, 30) . '...' : $row['topic_title']; + $view_topic = "{$phpbb_root_path}viewtopic.$phpEx$SID&t=" . $row['topic_id'] . '&p=' . $row['post_id'] . '#' . $row['post_id']; + $topic_title = '' . $topic_title . ''; + + $template->assign_block_vars('attachrow', array( + 'ROW_NUMBER' => $i + ($start + 1), + 'S_ROW_COUNT' => $i, + + 'ATTACH_ID' => $row['attach_id'], + 'FILENAME' => $row['real_filename'], + 'COMMENT' => str_replace("\n", '
', $row['comment']), + 'EXTENSION' => $row['extension'], + + 'SIZE' => ($row['filesize'] >= 1048576) ? (round($row['filesize'] / 1048576 * 100) / 100) . ' ' . $user->lang['MB'] : (($row['filesize'] >= 1024) ? (round($row['filesize'] / 1024 * 100) / 100) . ' ' . $user->lang['KB'] : $row['filesize'] . ' ' . $user->lang['BYTES']), + 'DOWNLOAD_COUNT' => $row['download_count'], + 'POST_TIME' => $user->format_date($row['filetime'], $user->lang['DATE_FORMAT']), + 'TOPIC_TITLE' => $topic_title, + + 'U_VIEW_ATTACHMENT' => $phpbb_root_path . 'download.' . $phpEx . $SID . '&id=' . $row['attach_id']) + ); + $i++; + } + $db->sql_freeresult($result); + + $template->assign_vars(array( + 'PAGE_NUMBER' => on_page($num_attachments, $config['posts_per_page'], $start), + 'PAGINATION' => generate_pagination("ucp.$phpEx$SID&i=$id&sk=$sort_key&sd=$sort_dir", $num_attachments, $config['posts_per_page'], $start), + + 'L_TITLE' => $user->lang['UCP_ATTACH'], + + 'U_SORT_FILENAME' => "ucp.$phpEx$SID&i=$id&sk=a&sd=" . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_FILE_COMMENT' => "ucp.$phpEx$SID&i=$id&sk=b&sd=" . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_EXTENSION' => "ucp.$phpEx$SID&i=$id&sk=c&sd=" . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_FILESIZE' => "ucp.$phpEx$SID&i=$id&sk=d&sd=" . (($sort_key == 'd' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_DOWNLOADS' => "ucp.$phpEx$SID&i=$id&sk=e&sd=" . (($sort_key == 'e' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_POST_TIME' => "ucp.$phpEx$SID&i=$id&sk=f&sd=" . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'), + 'U_SORT_TOPIC_TITLE' => "ucp.$phpEx$SID&i=$id&sk=g&sd=" . (($sort_key == 'f' && $sort_dir == 'a') ? 'd' : 'a'), + + 'S_DISPLAY_MARK_ALL' => ($num_attachments) ? true : false, + 'S_DISPLAY_PAGINATION' => ($num_attachments) ? true : false, + 'S_UCP_ACTION' => "ucp.$phpEx$SID&i=$id", + 'S_SORT_OPTIONS' => $s_sort_key, + 'S_ORDER_SELECT' => $s_sort_dir) + ); + + $this->display($user->lang['UCP_ATTACHMENTS'], 'ucp_attachments.html'); + } +} + +?> \ No newline at end of file diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index 6c64666aa7..705ecb799a 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -383,6 +383,7 @@ INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_or INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PROFILE', 'profile', 2, 1, 'profile_info\r\nreg_details\r\nsignature\r\navatar', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'PREFS', 'prefs', 3, 1, 'personal\r\nview\r\npost', ''); INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ZEBRA', 'zebra', 4, 1, 'friends\r\nfoes', ''); +INSERT INTO phpbb_modules (module_type, module_title, module_filename, module_order, module_enabled, module_subs, module_acl) VALUES ('ucp', 'ATTACHMENTS', 'attachments', 5, 1, '', 'u_attach'); # MSSQL IDENTITY phpbb_modules OFF # diff --git a/phpBB/language/en/lang_admin.php b/phpBB/language/en/lang_admin.php index e9898da41d..8725545e10 100644 --- a/phpBB/language/en/lang_admin.php +++ b/phpBB/language/en/lang_admin.php @@ -1678,7 +1678,6 @@ $lang += array( 'MANAGE_EXTENSIONS' => 'Manage Extensions', 'MANAGE_EXTENSIONS_EXPLAIN' => 'Here you can manage your allowed extensions. To activate your Extensions, please refer to the extension groups management panel. We strongly recommend not to allow scripting extensions (such as php, php3, php4, phtml, pl, cgi, asp, aspx...)', - 'EXTENSION' => 'Extension', 'ADD_EXTENSION' => 'Add extension', 'EXTENSIONS_UPDATED' => 'Extensions successfully updated', 'EXTENSION_EXIST' => 'The Extension %s already exist', diff --git a/phpBB/language/en/lang_main.php b/phpBB/language/en/lang_main.php index 2c1066a794..8b4f313b57 100644 --- a/phpBB/language/en/lang_main.php +++ b/phpBB/language/en/lang_main.php @@ -455,7 +455,8 @@ $lang += array( 'ALL_POSTS' => 'All Posts', 'BACK_TO_TOP' => 'Top', - 'POST_SUBJECT' => 'Post subject', + 'POST_SUBJECT' => 'Post Subject', + 'TOPIC_TITLE' => 'Topic Title', 'KARMA_LEVEL' => 'Karma Level', 'READ_PROFILE' => 'Profile', 'SEND_EMAIL' => 'Email', @@ -569,7 +570,6 @@ $lang += array( 'LOCK_POST' => 'Lock Post', 'LOCK_POST_EXPLAIN' => 'Prevent editing', - 'CONFIRM_DELETE' => 'Are you sure you want to delete this post?', 'CANNOT_EDIT_TIME' => 'You can no longer edit or delete that post', 'CANNOT_EDIT_POST_LOCKED' => 'This post has been locked. You can no longer edit that post.', 'FLOOD_ERROR' => 'You cannot make another post so soon after your last.', @@ -677,6 +677,7 @@ $lang += array( 'EXTENSION_DISABLED_AFTER_POSTING' => 'The extension %s has been deactivated and can no longer be displayed.', // used in Posts and PM's, replace %s with extension 'DESCRIPTION' => 'Description', 'DOWNLOAD' => 'Download', + 'DOWNLOADS' => 'Downloads', 'FILESIZE' => 'Filesize', 'FILE_NOT_FOUND_404' => 'The file %s does not exist.', 'DOWNLOADED' => 'Downloaded', @@ -851,6 +852,26 @@ $lang += array( 'WRONG_ACTIVATION' => 'The activation key you supplied does not match any in the database', ); +// ucp_attachments +$lang += array( + 'CONFIRM_DELETE_ATTACHMENT' => 'Are you sure you want to delete this attachment?', + 'CONFIRM_DELETE_ATTACHMENTS'=> 'Are you sure you want to delete these attachments?', + 'ATTACHMENT_DELETED' => 'Attachment successfully deleted', + 'ATTACHMENTS_DELETED' => 'Attachments successfully deleted', + + 'EXTENSION' => 'Extension', + + 'SORT_FILENAME' => 'Filename', + 'SORT_COMMENT' => 'File Comment', + 'SORT_EXTENSION' => 'Extension', + 'SORT_SIZE' => 'Filesize', + 'SORT_DOWNLOADS' => 'Downloads', + 'SORT_POST_TIME' => 'Post Time', + 'SORT_TOPIC_TITLE' => 'Topic Title', + + 'UCP_NO_ATTACHMENTS' => 'You have posted no files' +); + // ucp_remind $lang += array( 'SEND_PASSWORD' => 'Send password', diff --git a/phpBB/posting.php b/phpBB/posting.php index d23b963132..393c34270f 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -336,7 +336,7 @@ if ($mode == 'delete' && (($poster_id == $user->data['user_id'] && $user->data[' $template->assign_vars(array( 'MESSAGE_TITLE' => $user->lang['DELETE_MESSAGE'], - 'MESSAGE_TEXT' => $user->lang['CONFIRM_DELETE'], + 'MESSAGE_TEXT' => $user->lang['CONFIRM_DELETE_POST'], 'S_CONFIRM_ACTION' => "posting.$phpEx$SID", 'S_HIDDEN_FIELDS' => $s_hidden_fields) diff --git a/phpBB/styles/subSilver/template/ucp_attachments.html b/phpBB/styles/subSilver/template/ucp_attachments.html new file mode 100644 index 0000000000..adc8cede47 --- /dev/null +++ b/phpBB/styles/subSilver/template/ucp_attachments.html @@ -0,0 +1,66 @@ + + + + + + + + + + + + +
{MESSAGE_TITLE}

{MESSAGE_TEXT}

{S_HIDDEN_FIELDS}  
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{L_FILENAME}{L_FILE_COMMENT}{L_EXTENSION}{L_FILESIZE}{L_DOWNLOADS}{L_POST_TIME}{L_TOPIC_TITLE}{L_DELETE}
 {attachrow.ROW_NUMBER} {attachrow.FILENAME}{attachrow.COMMENT}{attachrow.EXTENSION}{attachrow.SIZE}{attachrow.DOWNLOAD_COUNT} {attachrow.POST_TIME} {attachrow.TOPIC_TITLE}
{L_SORT_BY}:  
+ + + + + + + +
{L_UCP_NO_ATTACHMENTS}
+ + + +