diff options
author | Marc Alexander <admin@m-a-styles.de> | 2017-11-02 21:14:09 +0100 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2017-11-02 21:14:09 +0100 |
commit | 3b5f5113ac6b562f9e1107ef70a64e3a181aebfd (patch) | |
tree | fc1937a8e90854d189036407f4d7f38619883aab | |
parent | c3cc6bcbac7917433f95570c4e07038b07dd1173 (diff) | |
parent | cc361144f9d53890f3a846df2e1ccc8e7544f849 (diff) | |
download | forums-3b5f5113ac6b562f9e1107ef70a64e3a181aebfd.tar forums-3b5f5113ac6b562f9e1107ef70a64e3a181aebfd.tar.gz forums-3b5f5113ac6b562f9e1107ef70a64e3a181aebfd.tar.bz2 forums-3b5f5113ac6b562f9e1107ef70a64e3a181aebfd.tar.xz forums-3b5f5113ac6b562f9e1107ef70a64e3a181aebfd.zip |
Merge pull request #5008 from rubencm/ticket/15041
[ticket/15041] Add pagination to orphaned attachments
-rw-r--r-- | phpBB/adm/style/acp_attachments.html | 95 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_attachments.php | 35 |
2 files changed, 96 insertions, 34 deletions
diff --git a/phpBB/adm/style/acp_attachments.html b/phpBB/adm/style/acp_attachments.html index e1f7f140c9..2baca09f5e 100644 --- a/phpBB/adm/style/acp_attachments.html +++ b/phpBB/adm/style/acp_attachments.html @@ -329,42 +329,71 @@ <fieldset class="tabulated"> <legend>{L_TITLE}</legend> - <table class="table1 zebra-table fixed-width-table"> - <thead> - <tr> - <th>{L_FILENAME}</th> - <th style="width: 15%;">{L_FILEDATE}</th> - <th style="width: 15%;">{L_FILESIZE}</th> - <th style="width: 15%;">{L_ATTACH_POST_ID}</th> - <th style="width: 15%;">{L_ATTACH_TO_POST}</th> - <th style="width: 15%;">{L_DELETE}</th> - </tr> - </thead> - <tbody> - <!-- BEGIN orphan --> + <div class="pagination top-pagination"> + <!-- IF .pagination or TOTAL_FILES --> + {L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} • {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE} + <!-- IF .pagination --> + • <!-- INCLUDE pagination.html --> + <!-- ELSE --> + • {PAGE_NUMBER} + <!-- ENDIF --> + <!-- ENDIF --> + </div> + + <!-- IF .orphan --> + <table class="table1 zebra-table fixed-width-table"> + <thead> <tr> - <td><a href="{orphan.U_FILE}">{orphan.REAL_FILENAME}</a></td> - <td>{orphan.FILETIME}</td> - <td>{orphan.FILESIZE}</td> - <td><strong>{L_ATTACH_ID}{L_COLON} </strong><input type="number" min="0" max="9999999999" name="post_id[{orphan.ATTACH_ID}]" value="{orphan.POST_ID}" style="width: 75%;" /></td> - <td><input type="checkbox" class="radio" name="add[{orphan.ATTACH_ID}]" /></td> - <td><input type="checkbox" class="radio" name="delete[{orphan.ATTACH_ID}]" /></td> + <th>{L_FILENAME}</th> + <th style="width: 15%;">{L_FILEDATE}</th> + <th style="width: 15%;">{L_FILESIZE}</th> + <th style="width: 15%;">{L_ATTACH_POST_ID}</th> + <th style="width: 15%;">{L_ATTACH_TO_POST}</th> + <th style="width: 15%;">{L_DELETE}</th> </tr> - <!-- END orphan --> - <tr class="row4"> - <td colspan="4"> </td> - <td class="small"><a href="#" onclick="marklist('orphan', 'add', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'add', false); return false;">{L_UNMARK_ALL}</a></td> - <td class="small"><a href="#" onclick="marklist('orphan', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'delete', false); return false;">{L_UNMARK_ALL}</a></td> - </tr> - </tbody> - </table> + </thead> + <tbody> + <!-- BEGIN orphan --> + <tr> + <td><a href="{orphan.U_FILE}">{orphan.REAL_FILENAME}</a></td> + <td>{orphan.FILETIME}</td> + <td>{orphan.FILESIZE}</td> + <td><strong>{L_ATTACH_ID}{L_COLON} </strong><input type="number" min="0" max="9999999999" name="post_id[{orphan.ATTACH_ID}]" value="{orphan.POST_ID}" style="width: 75%;" /></td> + <td><input type="checkbox" class="radio" name="add[{orphan.ATTACH_ID}]" /></td> + <td><input type="checkbox" class="radio" name="delete[{orphan.ATTACH_ID}]" /></td> + </tr> + <!-- END orphan --> + <tr class="row4"> + <td colspan="4"> </td> + <td class="small"><a href="#" onclick="marklist('orphan', 'add', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'add', false); return false;">{L_UNMARK_ALL}</a></td> + <td class="small"><a href="#" onclick="marklist('orphan', 'delete', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('orphan', 'delete', false); return false;">{L_UNMARK_ALL}</a></td> + </tr> + </tbody> + </table> + <!-- ELSE --> + <div class="errorbox"> + <p>{L_NO_ATTACHMENTS}</p> + </div> + <!-- ENDIF --> + + <!-- IF TOTAL_FILES --> + <div class="pagination"> + {L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} • {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE} + <!-- IF .pagination --> + • <!-- INCLUDE pagination.html --> + <!-- ELSE --> + • {PAGE_NUMBER} + <!-- ENDIF --> + </div> + <!-- ENDIF --> - <br /> + <!-- IF .orphan --> + <p class="submit-buttons"> + <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" /> + <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" /> + </p> + <!-- ENDIF --> - <p class="submit-buttons"> - <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" /> - <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" /> - </p> {S_FORM_TOKEN} </fieldset> </form> @@ -440,7 +469,7 @@ <input class="button2" type="submit" name="submit" value="{L_DELETE_MARKED}" /><br /> <p class="small"> <a href="#" onclick="marklist('attachments', 'delete', true); return false;">{L_MARK_ALL}</a> • - <a href="#" onclick="marklist('attachments', 'delete', false); return false;">{L_UNMARK_ALL}</a> + <a href="#" onclick="marklist('attachments', 'delete', false); return false;">{L_UNMARK_ALL}</a> </p> </fieldset> <!-- ENDIF --> diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index 3cfe5de293..2480f1f025 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -922,6 +922,9 @@ class acp_attachments case 'orphan': + /* @var $pagination \phpbb\pagination */ + $pagination = $this->phpbb_container->get('pagination'); + if ($submit) { $delete_files = (isset($_POST['delete'])) ? array_keys($request->variable('delete', array('' => 0))) : array(); @@ -1064,13 +1067,29 @@ class acp_attachments 'S_ORPHAN' => true) ); + $attachments_per_page = (int) $config['topics_per_page']; + + // Get total number or orphans older than 3 hours + $sql = 'SELECT COUNT(attach_id) as num_files, SUM(filesize) as total_size + FROM ' . ATTACHMENTS_TABLE . ' + WHERE is_orphan = 1 + AND filetime < ' . (time() - 3*60*60); + $result = $this->db->sql_query($sql); + $row = $this->db->sql_fetchrow($result); + $num_files = (int) $row['num_files']; + $total_size = (int) $row['total_size']; + $this->db->sql_freeresult($result); + + $start = $request->variable('start', 0); + $start = $pagination->validate_start($start, $attachments_per_page, $num_files); + // Just get the files with is_orphan set and older than 3 hours $sql = 'SELECT * FROM ' . ATTACHMENTS_TABLE . ' WHERE is_orphan = 1 AND filetime < ' . (time() - 3*60*60) . ' ORDER BY filetime DESC'; - $result = $db->sql_query($sql); + $result = $db->sql_query_limit($sql, $attachments_per_page, $start); while ($row = $db->sql_fetchrow($result)) { @@ -1086,6 +1105,20 @@ class acp_attachments } $db->sql_freeresult($result); + $pagination->generate_template_pagination( + $this->u_action, + 'pagination', + 'start', + $num_files, + $attachments_per_page, + $start + ); + + $template->assign_vars(array( + 'TOTAL_FILES' => $num_files, + 'TOTAL_SIZE' => get_formatted_filesize($total_size), + )); + break; case 'manage': |