mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/14168] Use attachment manager instead of separate classes
PHPBB3-14168
This commit is contained in:
parent
a0167ad410
commit
49312f05f8
12 changed files with 67 additions and 64 deletions
|
@ -39,8 +39,8 @@ class acp_attachments
|
||||||
/** @var \phpbb\filesystem\filesystem_interface */
|
/** @var \phpbb\filesystem\filesystem_interface */
|
||||||
protected $filesystem;
|
protected $filesystem;
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete */
|
/** @var \phpbb\attachment\manager */
|
||||||
protected $attachment_delete;
|
protected $attachment_manager;
|
||||||
|
|
||||||
public $id;
|
public $id;
|
||||||
public $u_action;
|
public $u_action;
|
||||||
|
@ -58,7 +58,7 @@ class acp_attachments
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
$this->phpbb_container = $phpbb_container;
|
$this->phpbb_container = $phpbb_container;
|
||||||
$this->filesystem = $phpbb_filesystem;
|
$this->filesystem = $phpbb_filesystem;
|
||||||
$this->attachment_delete = $phpbb_container->get('attachment.delete');
|
$this->attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
|
|
||||||
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
|
$user->add_lang(array('posting', 'viewtopic', 'acp/attachments'));
|
||||||
|
|
||||||
|
@ -926,11 +926,11 @@ class acp_attachments
|
||||||
$delete_files = array();
|
$delete_files = array();
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
{
|
{
|
||||||
$this->attachment_delete->unlink_attachment($row['physical_filename'], 'file');
|
$this->attachment_manager->unlink($row['physical_filename'], 'file');
|
||||||
|
|
||||||
if ($row['thumbnail'])
|
if ($row['thumbnail'])
|
||||||
{
|
{
|
||||||
$this->attachment_delete->unlink_attachment($row['physical_filename'], 'thumbnail');
|
$this->attachment_manager->unlink($row['physical_filename'], 'thumbnail');
|
||||||
}
|
}
|
||||||
|
|
||||||
$delete_files[$row['attach_id']] = $row['real_filename'];
|
$delete_files[$row['attach_id']] = $row['real_filename'];
|
||||||
|
@ -1095,7 +1095,7 @@ class acp_attachments
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
if ($num_deleted = $this->attachment_delete->delete('attach', $delete_files))
|
if ($num_deleted = $this->attachment_manager->delete('attach', $delete_files))
|
||||||
{
|
{
|
||||||
if (sizeof($delete_files) != $num_deleted)
|
if (sizeof($delete_files) != $num_deleted)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1809,10 +1809,10 @@ class acp_forums
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('topic', $topic_ids, false);
|
$attachment_manager->delete('topic', $topic_ids, false);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
// Delete shadow topics pointing to topics in this forum
|
// Delete shadow topics pointing to topics in this forum
|
||||||
delete_topic_shadows($forum_id);
|
delete_topic_shadows($forum_id);
|
||||||
|
|
|
@ -543,10 +543,10 @@ class acp_users
|
||||||
|
|
||||||
if (confirm_box(true))
|
if (confirm_box(true))
|
||||||
{
|
{
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('user', $user_id);
|
$attachment_manager->delete('user', $user_id);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_ATTACH', false, array($user_row['username']));
|
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_USER_DEL_ATTACH', false, array($user_row['username']));
|
||||||
trigger_error($user->lang['USER_ATTACHMENTS_REMOVED'] . adm_back_link($this->u_action . '&u=' . $user_id));
|
trigger_error($user->lang['USER_ATTACHMENTS_REMOVED'] . adm_back_link($this->u_action . '&u=' . $user_id));
|
||||||
|
@ -2129,10 +2129,10 @@ class acp_users
|
||||||
}
|
}
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('attach', $marked);
|
$attachment_manager->delete('attach', $marked);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
$message = (sizeof($log_attachments) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED'];
|
$message = (sizeof($log_attachments) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED'];
|
||||||
|
|
||||||
|
|
|
@ -1024,10 +1024,10 @@ function delete_posts($where_type, $where_ids, $auto_sync = true, $posted_sync =
|
||||||
|
|
||||||
$search->index_remove($post_ids, $poster_ids, $forum_ids);
|
$search->index_remove($post_ids, $poster_ids, $forum_ids);
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('post', $post_ids, false);
|
$attachment_manager->delete('post', $post_ids, false);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform additional actions during post(s) deletion
|
* Perform additional actions during post(s) deletion
|
||||||
|
@ -1124,11 +1124,11 @@ function delete_attachments($mode, $ids, $resync = true)
|
||||||
{
|
{
|
||||||
global $phpbb_container;
|
global $phpbb_container;
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
|
$num_deleted = $attachment_manager->delete($mode, $ids, $resync);
|
||||||
|
|
||||||
$num_deleted = $attachment_delete->delete($mode, $ids, $resync);
|
unset($attachment_manager);
|
||||||
unset($attachment_delete);
|
|
||||||
|
|
||||||
return $num_deleted;
|
return $num_deleted;
|
||||||
}
|
}
|
||||||
|
@ -1253,10 +1253,10 @@ function phpbb_unlink($filename, $mode = 'file', $entry_removed = false)
|
||||||
{
|
{
|
||||||
global $phpbb_container;
|
global $phpbb_container;
|
||||||
|
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$unlink = $attachment_delete->unlink_attachment($filename, $mode, $entry_removed);
|
$unlink = $attachment_manager->unlink($filename, $mode, $entry_removed);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
return $unlink;
|
return $unlink;
|
||||||
}
|
}
|
||||||
|
|
|
@ -406,10 +406,10 @@ function upload_attachment($form_name, $forum_id, $local = false, $local_storage
|
||||||
{
|
{
|
||||||
global $phpbb_container;
|
global $phpbb_container;
|
||||||
|
|
||||||
/** @var \phpbb\attachment\upload $attachment_upload */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_upload = $phpbb_container->get('attachment.upload');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$file = $attachment_upload->upload($form_name, $forum_id, $local, $local_storage, $is_message, $local_filedata);
|
$file = $attachment_manager->upload($form_name, $forum_id, $local, $local_storage, $is_message, $local_filedata);
|
||||||
unset($attachment_upload);
|
unset($attachment_manager);
|
||||||
|
|
||||||
return $file;
|
return $file;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1153,10 +1153,10 @@ function delete_pm($user_id, $msg_ids, $folder_id)
|
||||||
if (sizeof($delete_ids))
|
if (sizeof($delete_ids))
|
||||||
{
|
{
|
||||||
// Check if there are any attachments we need to remove
|
// Check if there are any attachments we need to remove
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('message', $delete_ids, false);
|
$attachment_manager->delete('message', $delete_ids, false);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
|
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
|
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
|
||||||
|
@ -1361,10 +1361,10 @@ function phpbb_delete_users_pms($user_ids)
|
||||||
if (!empty($delete_ids))
|
if (!empty($delete_ids))
|
||||||
{
|
{
|
||||||
// Check if there are any attachments we need to remove
|
// Check if there are any attachments we need to remove
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('message', $delete_ids, false);
|
$attachment_manager->delete('message', $delete_ids, false);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
|
$sql = 'DELETE FROM ' . PRIVMSGS_TABLE . '
|
||||||
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
|
WHERE ' . $db->sql_in_set('msg_id', $delete_ids);
|
||||||
|
|
|
@ -1571,9 +1571,9 @@ class parse_message extends bbcode_firstpass
|
||||||
{
|
{
|
||||||
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))
|
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))
|
||||||
{
|
{
|
||||||
/** @var \phpbb\attachment\upload $attachment_upload */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_upload = $phpbb_container->get('attachment.upload');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$filedata = $attachment_upload->upload($form_name, $forum_id, false, '', $is_message);
|
$filedata = $attachment_manager->upload($form_name, $forum_id, false, '', $is_message);
|
||||||
$error = $filedata['error'];
|
$error = $filedata['error'];
|
||||||
|
|
||||||
if ($filedata['post_attach'] && !sizeof($error))
|
if ($filedata['post_attach'] && !sizeof($error))
|
||||||
|
@ -1643,8 +1643,8 @@ class parse_message extends bbcode_firstpass
|
||||||
|
|
||||||
if ($index !== false && !empty($this->attachment_data[$index]))
|
if ($index !== false && !empty($this->attachment_data[$index]))
|
||||||
{
|
{
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
|
|
||||||
// delete selected attachment
|
// delete selected attachment
|
||||||
if ($this->attachment_data[$index]['is_orphan'])
|
if ($this->attachment_data[$index]['is_orphan'])
|
||||||
|
@ -1660,11 +1660,11 @@ class parse_message extends bbcode_firstpass
|
||||||
|
|
||||||
if ($row)
|
if ($row)
|
||||||
{
|
{
|
||||||
$attachment_delete->unlink_attachment($row['physical_filename'], 'file');
|
$attachment_manager->unlink($row['physical_filename'], 'file');
|
||||||
|
|
||||||
if ($row['thumbnail'])
|
if ($row['thumbnail'])
|
||||||
{
|
{
|
||||||
$attachment_delete->unlink_attachment($row['physical_filename'], 'thumbnail');
|
$attachment_manager->unlink($row['physical_filename'], 'thumbnail');
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->sql_query('DELETE FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id']);
|
$db->sql_query('DELETE FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id']);
|
||||||
|
@ -1672,7 +1672,7 @@ class parse_message extends bbcode_firstpass
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$attachment_delete->delete('attach', $this->attachment_data[$index]['attach_id']);
|
$attachment_manager->delete('attach', $this->attachment_data[$index]['attach_id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
unset($this->attachment_data[$index]);
|
unset($this->attachment_data[$index]);
|
||||||
|
@ -1692,9 +1692,9 @@ class parse_message extends bbcode_firstpass
|
||||||
{
|
{
|
||||||
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_', $forum_id))
|
if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_', $forum_id))
|
||||||
{
|
{
|
||||||
/** @var \phpbb\attachment\upload $attachment_upload */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_upload = $phpbb_container->get('attachment.upload');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$filedata = $attachment_upload->upload($form_name, $forum_id, false, '', $is_message);
|
$filedata = $attachment_manager->upload($form_name, $forum_id, false, '', $is_message);
|
||||||
$error = array_merge($error, $filedata['error']);
|
$error = array_merge($error, $filedata['error']);
|
||||||
|
|
||||||
if (!sizeof($error))
|
if (!sizeof($error))
|
||||||
|
|
|
@ -70,10 +70,10 @@ class ucp_attachments
|
||||||
|
|
||||||
if (confirm_box(true))
|
if (confirm_box(true))
|
||||||
{
|
{
|
||||||
/** @var \phpbb\attachment\delete $attachment_delete */
|
/** @var \phpbb\attachment\manager $attachment_manager */
|
||||||
$attachment_delete = $phpbb_container->get('attachment.delete');
|
$attachment_manager = $phpbb_container->get('attachment.manager');
|
||||||
$attachment_delete->delete('attach', $delete_ids);
|
$attachment_manager->delete('attach', $delete_ids);
|
||||||
unset($attachment_delete);
|
unset($attachment_manager);
|
||||||
|
|
||||||
meta_refresh(3, $this->u_action);
|
meta_refresh(3, $this->u_action);
|
||||||
$message = ((sizeof($delete_ids) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED']) . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
|
$message = ((sizeof($delete_ids) == 1) ? $user->lang['ATTACHMENT_DELETED'] : $user->lang['ATTACHMENTS_DELETED']) . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
|
||||||
|
|
|
@ -74,8 +74,8 @@ class phpbb_attachment_manager_test extends \phpbb_test_case
|
||||||
'delete',
|
'delete',
|
||||||
['foo', [1, 2, 3]],
|
['foo', [1, 2, 3]],
|
||||||
['foo', [1, 2, 3], true],
|
['foo', [1, 2, 3], true],
|
||||||
true,
|
5,
|
||||||
true,
|
5,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'delete',
|
'delete',
|
||||||
|
@ -83,8 +83,8 @@ class phpbb_attachment_manager_test extends \phpbb_test_case
|
||||||
'delete',
|
'delete',
|
||||||
['foo', [1, 2, 3], false],
|
['foo', [1, 2, 3], false],
|
||||||
['foo', [1, 2, 3], false],
|
['foo', [1, 2, 3], false],
|
||||||
true,
|
2,
|
||||||
true,
|
2,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'resync',
|
'resync',
|
||||||
|
|
|
@ -319,7 +319,8 @@ class phpbb_content_visibility_delete_post_test extends phpbb_database_test_case
|
||||||
$phpbb_container = new phpbb_mock_container_builder();
|
$phpbb_container = new phpbb_mock_container_builder();
|
||||||
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
||||||
$phpbb_container->set('content.visibility', new \phpbb\content_visibility($auth, $config, $phpbb_dispatcher, $db, $user, $phpbb_root_path, $phpEx, FORUMS_TABLE, POSTS_TABLE, TOPICS_TABLE, USERS_TABLE));
|
$phpbb_container->set('content.visibility', new \phpbb\content_visibility($auth, $config, $phpbb_dispatcher, $db, $user, $phpbb_root_path, $phpEx, FORUMS_TABLE, POSTS_TABLE, TOPICS_TABLE, USERS_TABLE));
|
||||||
$phpbb_container->set('attachment.delete', $attachment_delete);
|
// Works as a workaround for tests
|
||||||
|
$phpbb_container->set('attachment.manager', $attachment_delete);
|
||||||
|
|
||||||
delete_post($forum_id, $topic_id, $post_id, $data, $is_soft, $reason);
|
delete_post($forum_id, $topic_id, $post_id, $data, $is_soft, $reason);
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,8 @@ class phpbb_functions_user_delete_user_test extends phpbb_database_test_case
|
||||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
||||||
$phpbb_container = new phpbb_mock_container_builder();
|
$phpbb_container = new phpbb_mock_container_builder();
|
||||||
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
||||||
$phpbb_container->set('attachment.delete', new \phpbb\attachment\delete($config, $db, new \phpbb_mock_event_dispatcher(), new \phpbb\filesystem\filesystem(), new \phpbb\attachment\resync($db), $phpbb_root_path));
|
// Works as a workaround for tests
|
||||||
|
$phpbb_container->set('attachment.manager', new \phpbb\attachment\delete($config, $db, new \phpbb_mock_event_dispatcher(), new \phpbb\filesystem\filesystem(), new \phpbb\attachment\resync($db), $phpbb_root_path));
|
||||||
$phpbb_container->set(
|
$phpbb_container->set(
|
||||||
'auth.provider.db',
|
'auth.provider.db',
|
||||||
new phpbb_mock_auth_provider()
|
new phpbb_mock_auth_provider()
|
||||||
|
|
|
@ -91,7 +91,8 @@ class phpbb_privmsgs_delete_user_pms_test extends phpbb_database_test_case
|
||||||
|
|
||||||
$phpbb_container = new phpbb_mock_container_builder();
|
$phpbb_container = new phpbb_mock_container_builder();
|
||||||
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager());
|
||||||
$phpbb_container->set('attachment.delete', new \phpbb\attachment\delete(new \phpbb\config\config(array()), $db, new \phpbb_mock_event_dispatcher(), new \phpbb\filesystem\filesystem(), new \phpbb\attachment\resync($db), $phpbb_root_path));
|
// Works as a workaround for tests
|
||||||
|
$phpbb_container->set('attachment.manager', new \phpbb\attachment\delete(new \phpbb\config\config(array()), $db, new \phpbb_mock_event_dispatcher(), new \phpbb\filesystem\filesystem(), new \phpbb\attachment\resync($db), $phpbb_root_path));
|
||||||
|
|
||||||
phpbb_delete_user_pms($delete_user);
|
phpbb_delete_user_pms($delete_user);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue