Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F9789803
edit_headers.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
edit_headers.php
View Options
<?php
/**
* Edit headers
*
* @version 1.0
*
* @author Philip Weir
*
* Copyright (C) 2012-2014 Philip Weir
*
* This driver is part of the MarkASJunk plugin for Roundcube.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Roundcube. If not, see https://www.gnu.org/licenses/.
*/
class
markasjunk_edit_headers
{
public
function
spam
(&
$uids
,
$src_mbox
,
$dst_mbox
)
{
$this
->
_edit_headers
(
$uids
,
true
,
$dst_mbox
);
}
public
function
ham
(&
$uids
,
$src_mbox
,
$dst_mbox
)
{
$this
->
_edit_headers
(
$uids
,
false
,
$dst_mbox
);
}
private
function
_edit_headers
(&
$uids
,
$spam
,
$dst_mbox
)
{
$rcube
=
rcube
::
get_instance
();
$args
=
$rcube
->
config
->
get
(
$spam
?
'markasjunk_spam_patterns'
:
'markasjunk_ham_patterns'
);
if
(
count
(
$args
[
'patterns'
])
==
0
)
{
return
;
}
$new_uids
=
array
();
foreach
(
$uids
as
$uid
)
{
$raw_message
=
$rcube
->
storage
->
get_raw_body
(
$uid
);
$raw_headers
=
$rcube
->
storage
->
get_raw_headers
(
$uid
);
$updated_headers
=
preg_replace
(
$args
[
'patterns'
],
$args
[
'replacements'
],
$raw_headers
);
$raw_message
=
str_replace
(
$raw_headers
,
$updated_headers
,
$raw_message
);
$saved
=
$rcube
->
storage
->
save_message
(
$dst_mbox
,
$raw_message
);
if
(
$saved
!==
false
)
{
$rcube
->
output
->
command
(
'rcmail_markasjunk_move'
,
null
,
$uid
);
array_push
(
$new_uids
,
$saved
);
}
}
if
(
count
(
$new_uids
)
>
0
)
{
$uids
=
$new_uids
;
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Aug 18, 8:23 AM (12 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1255135
Default Alt Text
edit_headers.php (2 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment