Merge branch '3.2.x'

This commit is contained in:
Marc Alexander 2017-11-02 21:14:19 +01:00
commit 7c141954bf
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
2 changed files with 96 additions and 34 deletions

View file

@ -329,6 +329,18 @@
<fieldset class="tabulated"> <fieldset class="tabulated">
<legend>{L_TITLE}</legend> <legend>{L_TITLE}</legend>
<div class="pagination top-pagination">
<!-- IF .pagination or TOTAL_FILES -->
{L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} &bull; {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE}
<!-- IF .pagination -->
&bull; <!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
<!-- ENDIF -->
</div>
<!-- IF .orphan -->
<table class="table1 zebra-table fixed-width-table"> <table class="table1 zebra-table fixed-width-table">
<thead> <thead>
<tr> <tr>
@ -358,13 +370,30 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<!-- ELSE -->
<div class="errorbox">
<p>{L_NO_ATTACHMENTS}</p>
</div>
<!-- ENDIF -->
<br /> <!-- IF TOTAL_FILES -->
<div class="pagination">
{L_NUMBER_FILES}{L_COLON} {TOTAL_FILES} &bull; {L_TOTAL_SIZE}{L_COLON} {TOTAL_SIZE}
<!-- IF .pagination -->
&bull; <!-- INCLUDE pagination.html -->
<!-- ELSE -->
&bull; {PAGE_NUMBER}
<!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- IF .orphan -->
<p class="submit-buttons"> <p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp; <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" /> <input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
</p> </p>
<!-- ENDIF -->
{S_FORM_TOKEN} {S_FORM_TOKEN}
</fieldset> </fieldset>
</form> </form>

View file

@ -922,6 +922,9 @@ class acp_attachments
case 'orphan': case 'orphan':
/* @var $pagination \phpbb\pagination */
$pagination = $this->phpbb_container->get('pagination');
if ($submit) if ($submit)
{ {
$delete_files = (isset($_POST['delete'])) ? array_keys($request->variable('delete', array('' => 0))) : array(); $delete_files = (isset($_POST['delete'])) ? array_keys($request->variable('delete', array('' => 0))) : array();
@ -1064,13 +1067,29 @@ class acp_attachments
'S_ORPHAN' => true) '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 // Just get the files with is_orphan set and older than 3 hours
$sql = 'SELECT * $sql = 'SELECT *
FROM ' . ATTACHMENTS_TABLE . ' FROM ' . ATTACHMENTS_TABLE . '
WHERE is_orphan = 1 WHERE is_orphan = 1
AND filetime < ' . (time() - 3*60*60) . ' AND filetime < ' . (time() - 3*60*60) . '
ORDER BY filetime DESC'; 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)) while ($row = $db->sql_fetchrow($result))
{ {
@ -1086,6 +1105,20 @@ class acp_attachments
} }
$db->sql_freeresult($result); $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; break;
case 'manage': case 'manage':