Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dolibarr
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Software_Artifact_Infrastructure_Repository
dolibarr
Commits
20023880
Commit
20023880
authored
12 years ago
by
Laurent Destailleur
Browse files
Options
Downloads
Patches
Plain Diff
Revert "New: add hook getFormMail"
This reverts commit
c7325324
.
parent
e3be718a
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
htdocs/core/class/html.formmail.class.php
+404
-427
404 additions, 427 deletions
htdocs/core/class/html.formmail.class.php
with
404 additions
and
427 deletions
htdocs/core/class/html.formmail.class.php
+
404
−
427
View file @
20023880
...
...
@@ -217,445 +217,422 @@ class FormMail
function
get_form
(
$addfileaction
=
'addfile'
,
$removefileaction
=
'removefile'
)
{
global
$conf
,
$langs
,
$user
;
global
$hookmanager
;
$langs
->
load
(
"other"
);
$langs
->
load
(
"mails"
);
if
(
!
is_object
(
$hookmanager
))
$out
=
''
;
// Define list of attached files
$listofpaths
=
array
();
$listofnames
=
array
();
$listofmimes
=
array
();
if
(
!
empty
(
$_SESSION
[
"listofpaths"
]))
$listofpaths
=
explode
(
';'
,
$_SESSION
[
"listofpaths"
]);
if
(
!
empty
(
$_SESSION
[
"listofnames"
]))
$listofnames
=
explode
(
';'
,
$_SESSION
[
"listofnames"
]);
if
(
!
empty
(
$_SESSION
[
"listofmimes"
]))
$listofmimes
=
explode
(
';'
,
$_SESSION
[
"listofmimes"
]);
$form
=
new
Form
(
$this
->
db
);
$out
.
=
"
\n
<!-- Debut form mail -->
\n
"
;
if
(
$this
->
withform
)
{
$out
.
=
'<form method="POST" name="mailform" enctype="multipart/form-data" action="'
.
$this
->
param
[
"returnurl"
]
.
'">'
.
"
\n
"
;
$out
.
=
'<input type="hidden" name="token" value="'
.
$_SESSION
[
'newtoken'
]
.
'" />'
;
}
foreach
(
$this
->
param
as
$key
=>
$value
)
{
if
(
!
class_exists
(
'HookManager'
))
{
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
require
DOL_DOCUMENT_ROOT
.
'/core/class/hookmanager.class.php'
;
$hookmanager
=
new
HookManager
(
$this
->
db
);
}
$out
.
=
'<input type="hidden" id="'
.
$key
.
'" name="'
.
$key
.
'" value="'
.
$value
.
'" />'
.
"
\n
"
;
}
$
hookmanager
->
initHooks
(
array
(
'formmail'
))
;
$
out
.
=
'<table class="border" width="100%">'
.
"
\n
"
;
$parameters
=
array
(
'addfileaction'
=>
$addfileaction
,
'removefileaction'
=>
$removefileaction
);
$reshook
=
$hookmanager
->
executeHooks
(
'getFormMail'
,
$parameters
,
$this
);
// Substitution array
if
(
!
empty
(
$this
->
withsubstit
))
{
$out
.
=
'<tr><td colspan="2">'
;
$help
=
""
;
foreach
(
$this
->
substit
as
$key
=>
$val
)
{
$help
.
=
$key
.
' -> '
.
$langs
->
trans
(
$val
)
.
'<br>'
;
}
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"EMailTestSubstitutionReplacedByGenericValues"
),
$help
);
$out
.
=
"</td></tr>
\n
"
;
}
// From
if
(
!
empty
(
$this
->
withfrom
))
{
if
(
!
empty
(
$this
->
withfromreadonly
))
{
$out
.
=
'<input type="hidden" id="fromname" name="fromname" value="'
.
$this
->
fromname
.
'" />'
;
$out
.
=
'<input type="hidden" id="frommail" name="frommail" value="'
.
$this
->
frommail
.
'" />'
;
$out
.
=
'<tr><td width="180">'
.
$langs
->
trans
(
"MailFrom"
)
.
'</td><td>'
;
if
(
$this
->
fromtype
==
'user'
&&
$this
->
fromid
>
0
)
{
$langs
->
load
(
"users"
);
$fuser
=
new
User
(
$this
->
db
);
$fuser
->
fetch
(
$this
->
fromid
);
$out
.
=
$fuser
->
getNomUrl
(
1
);
}
else
{
$out
.
=
$this
->
fromname
;
}
if
(
$this
->
frommail
)
{
$out
.
=
" <"
.
$this
->
frommail
.
">"
;
}
else
{
if
(
$this
->
fromtype
)
{
$langs
->
load
(
"errors"
);
$out
.
=
'<font class="warning"> <'
.
$langs
->
trans
(
"ErrorNoMailDefinedForThisUser"
)
.
'> </font>'
;
}
}
$out
.
=
"</td></tr>
\n
"
;
$out
.
=
"</td></tr>
\n
"
;
}
else
{
$out
.
=
"<tr><td>"
.
$langs
->
trans
(
"MailFrom"
)
.
"</td><td>"
;
$out
.
=
$langs
->
trans
(
"Name"
)
.
':<input type="text" id="fromname" name="fromname" size="32" value="'
.
$this
->
fromname
.
'" />'
;
$out
.
=
' '
;
$out
.
=
$langs
->
trans
(
"EMail"
)
.
':<<input type="text" id="frommail" name="frommail" size="32" value="'
.
$this
->
frommail
.
'" />>'
;
$out
.
=
"</td></tr>
\n
"
;
}
}
if
(
!
empty
(
$reshook
))
// Replyto
if
(
!
empty
(
$this
->
withreplyto
))
{
return
$hookmanager
->
resPrint
;
if
(
$this
->
withreplytoreadonly
)
{
$out
.
=
'<input type="hidden" id="replyname" name="replyname" value="'
.
$this
->
replytoname
.
'" />'
;
$out
.
=
'<input type="hidden" id="replymail" name="replymail" value="'
.
$this
->
replytomail
.
'" />'
;
$out
.
=
"<tr><td>"
.
$langs
->
trans
(
"MailReply"
)
.
"</td><td>"
.
$this
->
replytoname
.
(
$this
->
replytomail
?
(
" <"
.
$this
->
replytomail
.
">"
)
:
""
);
$out
.
=
"</td></tr>
\n
"
;
}
}
else
// Errorsto
if
(
!
empty
(
$this
->
witherrorsto
))
{
$out
=
''
;
// Define list of attached files
$listofpaths
=
array
();
$listofnames
=
array
();
$listofmimes
=
array
();
if
(
!
empty
(
$_SESSION
[
"listofpaths"
]))
$listofpaths
=
explode
(
';'
,
$_SESSION
[
"listofpaths"
]);
if
(
!
empty
(
$_SESSION
[
"listofnames"
]))
$listofnames
=
explode
(
';'
,
$_SESSION
[
"listofnames"
]);
if
(
!
empty
(
$_SESSION
[
"listofmimes"
]))
$listofmimes
=
explode
(
';'
,
$_SESSION
[
"listofmimes"
]);
$form
=
new
Form
(
$this
->
db
);
$out
.
=
"
\n
<!-- Debut form mail -->
\n
"
;
if
(
$this
->
withform
)
{
$out
.
=
'<form method="POST" name="mailform" enctype="multipart/form-data" action="'
.
$this
->
param
[
"returnurl"
]
.
'">'
.
"
\n
"
;
$out
.
=
'<input type="hidden" name="token" value="'
.
$_SESSION
[
'newtoken'
]
.
'" />'
;
}
foreach
(
$this
->
param
as
$key
=>
$value
)
{
$out
.
=
'<input type="hidden" id="'
.
$key
.
'" name="'
.
$key
.
'" value="'
.
$value
.
'" />'
.
"
\n
"
;
}
$out
.
=
'<table class="border" width="100%">'
.
"
\n
"
;
// Substitution array
if
(
!
empty
(
$this
->
withsubstit
))
{
$out
.
=
'<tr><td colspan="2">'
;
$help
=
""
;
foreach
(
$this
->
substit
as
$key
=>
$val
)
{
$help
.
=
$key
.
' -> '
.
$langs
->
trans
(
$val
)
.
'<br>'
;
}
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"EMailTestSubstitutionReplacedByGenericValues"
),
$help
);
$out
.
=
"</td></tr>
\n
"
;
}
// From
if
(
!
empty
(
$this
->
withfrom
))
{
if
(
!
empty
(
$this
->
withfromreadonly
))
{
$out
.
=
'<input type="hidden" id="fromname" name="fromname" value="'
.
$this
->
fromname
.
'" />'
;
$out
.
=
'<input type="hidden" id="frommail" name="frommail" value="'
.
$this
->
frommail
.
'" />'
;
$out
.
=
'<tr><td width="180">'
.
$langs
->
trans
(
"MailFrom"
)
.
'</td><td>'
;
if
(
$this
->
fromtype
==
'user'
&&
$this
->
fromid
>
0
)
{
$langs
->
load
(
"users"
);
$fuser
=
new
User
(
$this
->
db
);
$fuser
->
fetch
(
$this
->
fromid
);
$out
.
=
$fuser
->
getNomUrl
(
1
);
}
else
{
$out
.
=
$this
->
fromname
;
}
if
(
$this
->
frommail
)
{
$out
.
=
" <"
.
$this
->
frommail
.
">"
;
}
else
{
if
(
$this
->
fromtype
)
{
$langs
->
load
(
"errors"
);
$out
.
=
'<font class="warning"> <'
.
$langs
->
trans
(
"ErrorNoMailDefinedForThisUser"
)
.
'> </font>'
;
}
}
$out
.
=
"</td></tr>
\n
"
;
$out
.
=
"</td></tr>
\n
"
;
}
else
{
$out
.
=
"<tr><td>"
.
$langs
->
trans
(
"MailFrom"
)
.
"</td><td>"
;
$out
.
=
$langs
->
trans
(
"Name"
)
.
':<input type="text" id="fromname" name="fromname" size="32" value="'
.
$this
->
fromname
.
'" />'
;
$out
.
=
' '
;
$out
.
=
$langs
->
trans
(
"EMail"
)
.
':<<input type="text" id="frommail" name="frommail" size="32" value="'
.
$this
->
frommail
.
'" />>'
;
$out
.
=
"</td></tr>
\n
"
;
}
}
// Replyto
if
(
!
empty
(
$this
->
withreplyto
))
{
if
(
$this
->
withreplytoreadonly
)
{
$out
.
=
'<input type="hidden" id="replyname" name="replyname" value="'
.
$this
->
replytoname
.
'" />'
;
$out
.
=
'<input type="hidden" id="replymail" name="replymail" value="'
.
$this
->
replytomail
.
'" />'
;
$out
.
=
"<tr><td>"
.
$langs
->
trans
(
"MailReply"
)
.
"</td><td>"
.
$this
->
replytoname
.
(
$this
->
replytomail
?
(
" <"
.
$this
->
replytomail
.
">"
)
:
""
);
$out
.
=
"</td></tr>
\n
"
;
}
}
// Errorsto
if
(
!
empty
(
$this
->
witherrorsto
))
{
//if (! $this->errorstomail) $this->errorstomail=$this->frommail;
$errorstomail
=
(
!
empty
(
$conf
->
global
->
MAIN_MAIL_ERRORS_TO
)
?
$conf
->
global
->
MAIN_MAIL_ERRORS_TO
:
$this
->
errorstomail
);
if
(
$this
->
witherrorstoreadonly
)
{
$out
.
=
'<input type="hidden" id="errorstomail" name="errorstomail" value="'
.
$errorstomail
.
'" />'
;
$out
.
=
'<tr><td>'
.
$langs
->
trans
(
"MailErrorsTo"
)
.
'</td><td>'
;
$out
.
=
$errorstomail
;
$out
.
=
"</td></tr>
\n
"
;
}
else
{
$out
.
=
'<tr><td>'
.
$langs
->
trans
(
"MailErrorsTo"
)
.
'</td><td>'
;
$out
.
=
'<input size="30" id="errorstomail" name="errorstomail" value="'
.
$errorstomail
.
'" />'
;
$out
.
=
"</td></tr>
\n
"
;
}
}
// To
if
(
!
empty
(
$this
->
withto
)
||
is_array
(
$this
->
withto
))
{
$out
.
=
'<tr><td width="180">'
;
if
(
$this
->
withtofree
)
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailTo"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
else
$out
.
=
$langs
->
trans
(
"MailTo"
);
$out
.
=
'</td><td>'
;
if
(
$this
->
withtoreadonly
)
{
if
(
!
empty
(
$this
->
toname
)
&&
!
empty
(
$this
->
tomail
))
{
$out
.
=
'<input type="hidden" id="toname" name="toname" value="'
.
$this
->
toname
.
'" />'
;
$out
.
=
'<input type="hidden" id="tomail" name="tomail" value="'
.
$this
->
tomail
.
'" />'
;
if
(
$this
->
totype
==
'thirdparty'
)
{
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
toid
);
$out
.
=
$soc
->
getNomUrl
(
1
);
}
else
if
(
$this
->
totype
==
'contact'
)
{
$contact
=
new
Contact
(
$this
->
db
);
$contact
->
fetch
(
$this
->
toid
);
$out
.
=
$contact
->
getNomUrl
(
1
);
}
else
{
$out
.
=
$this
->
toname
;
}
$out
.
=
' <'
.
$this
->
tomail
.
'>'
;
if
(
$this
->
withtofree
)
{
$out
.
=
'<br>'
.
$langs
->
trans
(
"or"
)
.
' <input size="'
.
(
is_array
(
$this
->
withto
)
?
"30"
:
"60"
)
.
'" id="sendto" name="sendto" value="'
.
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
)
?
(
isset
(
$_REQUEST
[
"sendto"
])
?
$_REQUEST
[
"sendto"
]
:
$this
->
withto
)
:
""
)
.
'" />'
;
}
}
else
{
$out
.
=
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
))
?
$this
->
withto
:
""
;
}
}
else
{
if
(
!
empty
(
$this
->
withtofree
))
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withto
)
?
"30"
:
"60"
)
.
'" id="sendto" name="sendto" value="'
.
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
)
?
(
isset
(
$_REQUEST
[
"sendto"
])
?
$_REQUEST
[
"sendto"
]
:
$this
->
withto
)
:
""
)
.
'" />'
;
}
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
if
(
!
empty
(
$this
->
withtofree
))
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiver"
,
$this
->
withto
,
GETPOST
(
"receiver"
),
1
);
}
if
(
isset
(
$this
->
withtosocid
)
&&
$this
->
withtosocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtosocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
if
(
$this
->
withtofree
)
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiver"
,
$liste
,
GETPOST
(
"receiver"
),
1
);
}
}
$out
.
=
"</td></tr>
\n
"
;
}
// CC
if
(
!
empty
(
$this
->
withtocc
)
||
is_array
(
$this
->
withtocc
))
{
$out
.
=
'<tr><td width="180">'
;
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailCC"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
$out
.
=
'</td><td>'
;
if
(
$this
->
withtoccreadonly
)
{
$out
.
=
(
!
is_array
(
$this
->
withtocc
)
&&
!
is_numeric
(
$this
->
withtocc
))
?
$this
->
withtocc
:
""
;
}
else
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withtocc
)
?
"30"
:
"60"
)
.
'" id="sendtocc" name="sendtocc" value="'
.
((
!
is_array
(
$this
->
withtocc
)
&&
!
is_numeric
(
$this
->
withtocc
))
?
(
isset
(
$_POST
[
"sendtocc"
])
?
$_POST
[
"sendtocc"
]
:
$this
->
withtocc
)
:
(
isset
(
$_POST
[
"sendtocc"
])
?
$_POST
[
"sendtocc"
]
:
""
)
)
.
'" />'
;
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receivercc"
,
$this
->
withto
,
GETPOST
(
"receivercc"
),
1
);
}
if
(
!
empty
(
$this
->
withtoccsocid
)
&&
$this
->
withtoccsocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtoccsocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receivercc"
,
$liste
,
GETPOST
(
"receivercc"
),
1
);
}
}
$out
.
=
"</td></tr>
\n
"
;
}
// CCC
if
(
!
empty
(
$this
->
withtoccc
)
||
is_array
(
$this
->
withtoccc
))
{
$out
.
=
'<tr><td width="180">'
;
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailCCC"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
$out
.
=
'</td><td>'
;
if
(
!
empty
(
$this
->
withtocccreadonly
))
{
$out
.
=
(
!
is_array
(
$this
->
withtoccc
)
&&
!
is_numeric
(
$this
->
withtoccc
))
?
$this
->
withtoccc
:
""
;
}
else
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withtoccc
)
?
"30"
:
"60"
)
.
'" id="sendtoccc" name="sendtoccc" value="'
.
((
!
is_array
(
$this
->
withtoccc
)
&&
!
is_numeric
(
$this
->
withtoccc
))
?
(
isset
(
$_POST
[
"sendtoccc"
])
?
$_POST
[
"sendtoccc"
]
:
$this
->
withtoccc
)
:
(
isset
(
$_POST
[
"sendtoccc"
])
?
$_POST
[
"sendtoccc"
]
:
""
)
)
.
'" />'
;
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiverccc"
,
$this
->
withto
,
GETPOST
(
"receiverccc"
),
1
);
}
if
(
!
empty
(
$this
->
withtocccsocid
)
&&
$this
->
withtocccsocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtosocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiverccc"
,
$liste
,
GETPOST
(
"receiverccc"
),
1
);
}
}
//if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_TO)) print ' '.info_admin("+ ".$conf->global->MAIN_MAIL_AUTOCOPY_TO,1);
$out
.
=
"</td></tr>
\n
"
;
}
// Ask delivery receipt
if
(
!
empty
(
$this
->
withdeliveryreceipt
))
{
$out
.
=
'<tr><td width="180">'
.
$langs
->
trans
(
"DeliveryReceipt"
)
.
'</td><td>'
;
if
(
!
empty
(
$this
->
withdeliveryreceiptreadonly
))
{
$out
.
=
yn
(
$this
->
withdeliveryreceipt
);
}
else
{
$out
.
=
$form
->
selectyesno
(
'deliveryreceipt'
,
(
isset
(
$_POST
[
"deliveryreceipt"
])
?
$_POST
[
"deliveryreceipt"
]
:
0
),
1
);
}
$out
.
=
"</td></tr>
\n
"
;
}
// Topic
if
(
!
empty
(
$this
->
withtopic
))
{
$this
->
withtopic
=
make_substitutions
(
$this
->
withtopic
,
$this
->
substit
);
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180">'
.
$langs
->
trans
(
"MailTopic"
)
.
'</td>'
;
$out
.
=
'<td>'
;
if
(
$this
->
withtopicreadonly
)
{
$out
.
=
$this
->
withtopic
;
$out
.
=
'<input type="hidden" size="60" id="subject" name="subject" value="'
.
$this
->
withtopic
.
'" />'
;
}
else
{
$out
.
=
'<input type="text" size="60" id="subject" name="subject" value="'
.
(
isset
(
$_POST
[
"subject"
])
?
$_POST
[
"subject"
]
:
$this
->
withtopic
)
.
'" />'
;
}
$out
.
=
"</td></tr>
\n
"
;
}
// Attached files
if
(
!
empty
(
$this
->
withfile
))
{
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180">'
.
$langs
->
trans
(
"MailFile"
)
.
'</td>'
;
$out
.
=
'<td>'
;
// TODO Trick to have param removedfile containing nb of image to delete. But this does not works without javascript
$out
.
=
'<input type="hidden" class="removedfilehidden" name="removedfile" value="">'
.
"
\n
"
;
$out
.
=
'<script type="text/javascript" language="javascript">'
;
$out
.
=
'jQuery(document).ready(function () {'
;
$out
.
=
' jQuery(".removedfile").click(function() {'
;
$out
.
=
' jQuery(".removedfilehidden").val(jQuery(this).val());'
;
$out
.
=
' });'
;
$out
.
=
'})'
;
$out
.
=
'</script>'
.
"
\n
"
;
if
(
count
(
$listofpaths
))
{
foreach
(
$listofpaths
as
$key
=>
$val
)
{
$out
.
=
'<div id="attachfile_'
.
$key
.
'">'
;
$out
.
=
img_mime
(
$listofnames
[
$key
])
.
' '
.
$listofnames
[
$key
];
if
(
!
$this
->
withfilereadonly
)
{
$out
.
=
' <input type="image" style="border: 0px;" src="'
.
DOL_URL_ROOT
.
'/theme/'
.
$conf
->
theme
.
'/img/delete.png" value="'
.
(
$key
+
1
)
.
'" class="removedfile" id="removedfile_'
.
$key
.
'" name="removedfile_'
.
$key
.
'" />'
;
//$out.= ' <a href="'.$_SERVER["PHP_SELF"].'?removedfile='.($key+1).' id="removedfile_'.$key.'">'.img_delete($langs->trans("Delete").'</a>';
}
$out
.
=
'<br></div>'
;
}
}
else
{
$out
.
=
$langs
->
trans
(
"NoAttachedFiles"
)
.
'<br>'
;
}
if
(
$this
->
withfile
==
2
)
// Can add other files
{
$out
.
=
'<input type="file" class="flat" id="addedfile" name="addedfile" value="'
.
$langs
->
trans
(
"Upload"
)
.
'" />'
;
$out
.
=
' '
;
$out
.
=
'<input type="submit" class="button" id="'
.
$addfileaction
.
'" name="'
.
$addfileaction
.
'" value="'
.
$langs
->
trans
(
"MailingAddFile"
)
.
'" />'
;
}
$out
.
=
"</td></tr>
\n
"
;
}
// Message
if
(
!
empty
(
$this
->
withbody
))
{
$defaultmessage
=
""
;
// TODO A partir du type, proposer liste de messages dans table llx_models
if
(
$this
->
param
[
"models"
]
==
'facture_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendInvoice"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'facture_relance'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendInvoiceReminder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'propal_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendProposal"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'order_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendOrder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'order_supplier_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendSupplierOrder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'invoice_supplier_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendSupplierInvoice"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'shipping_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendShipping"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'fichinter_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendFichInter"
);
}
elseif
(
!
is_numeric
(
$this
->
withbody
))
{
$defaultmessage
=
$this
->
withbody
;
}
// Complete substitution array
if
(
!
empty
(
$conf
->
paypal
->
enabled
)
&&
!
empty
(
$conf
->
global
->
PAYPAL_ADD_PAYMENT_URL
))
{
require_once
DOL_DOCUMENT_ROOT
.
'/paypal/lib/paypal.lib.php'
;
$langs
->
load
(
'paypal'
);
if
(
$this
->
param
[
"models"
]
==
'order_send'
)
{
$url
=
getPaypalPaymentUrl
(
0
,
'order'
,
$this
->
substit
[
'__ORDERREF__'
]);
$this
->
substit
[
'__PERSONALIZED__'
]
=
$langs
->
transnoentitiesnoconv
(
"PredefinedMailContentLink"
,
$url
);
}
if
(
$this
->
param
[
"models"
]
==
'facture_send'
)
{
$url
=
getPaypalPaymentUrl
(
0
,
'invoice'
,
$this
->
substit
[
'__FACREF__'
]);
$this
->
substit
[
'__PERSONALIZED__'
]
=
$langs
->
transnoentitiesnoconv
(
"PredefinedMailContentLink"
,
$url
);
}
}
$defaultmessage
=
make_substitutions
(
$defaultmessage
,
$this
->
substit
);
if
(
isset
(
$_POST
[
"message"
]))
$defaultmessage
=
$_POST
[
"message"
];
$defaultmessage
=
str_replace
(
'\n'
,
"
\n
"
,
$defaultmessage
);
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180" valign="top">'
.
$langs
->
trans
(
"MailText"
)
.
'</td>'
;
$out
.
=
'<td>'
;
if
(
$this
->
withbodyreadonly
)
{
$out
.
=
nl2br
(
$defaultmessage
);
$out
.
=
'<input type="hidden" id="message" name="message" value="'
.
$defaultmessage
.
'" />'
;
}
else
{
if
(
!
isset
(
$this
->
ckeditortoolbar
))
$this
->
ckeditortoolbar
=
'dolibarr_notes'
;
// Editor wysiwyg
require_once
DOL_DOCUMENT_ROOT
.
'/core/class/doleditor.class.php'
;
$doleditor
=
new
DolEditor
(
'message'
,
$defaultmessage
,
''
,
280
,
$this
->
ckeditortoolbar
,
'In'
,
true
,
true
,
$this
->
withfckeditor
,
8
,
72
);
$out
.
=
$doleditor
->
Create
(
1
);
}
$out
.
=
"</td></tr>
\n
"
;
}
if
(
!
empty
(
$this
->
withform
))
{
$out
.
=
'<tr><td align="center" colspan="2"><center>'
;
$out
.
=
'<input class="button" type="submit" id="sendmail" name="sendmail" value="'
.
$langs
->
trans
(
"SendMail"
)
.
'"'
;
// Add a javascript test to avoid to forget to submit file before sending email
if
(
$this
->
withfile
==
2
&&
$conf
->
use_javascript_ajax
)
{
$out
.
=
' onClick="if (document.mailform.addedfile.value != \'\') { alert(\''
.
dol_escape_js
(
$langs
->
trans
(
"FileWasNotUploaded"
))
.
'\'); return false; } else { return true; }"'
;
}
$out
.
=
' />'
;
if
(
$this
->
withcancel
)
{
$out
.
=
' '
;
$out
.
=
'<input class="button" type="submit" id="cancel" name="cancel" value="'
.
$langs
->
trans
(
"Cancel"
)
.
'" />'
;
}
$out
.
=
'</center></td></tr>'
.
"
\n
"
;
}
$out
.
=
'</table>'
.
"
\n
"
;
if
(
!
empty
(
$this
->
withform
))
$out
.
=
'</form>'
.
"
\n
"
;
$out
.
=
"<!-- Fin form mail -->
\n
"
;
return
$out
;
//if (! $this->errorstomail) $this->errorstomail=$this->frommail;
$errorstomail
=
(
!
empty
(
$conf
->
global
->
MAIN_MAIL_ERRORS_TO
)
?
$conf
->
global
->
MAIN_MAIL_ERRORS_TO
:
$this
->
errorstomail
);
if
(
$this
->
witherrorstoreadonly
)
{
$out
.
=
'<input type="hidden" id="errorstomail" name="errorstomail" value="'
.
$errorstomail
.
'" />'
;
$out
.
=
'<tr><td>'
.
$langs
->
trans
(
"MailErrorsTo"
)
.
'</td><td>'
;
$out
.
=
$errorstomail
;
$out
.
=
"</td></tr>
\n
"
;
}
else
{
$out
.
=
'<tr><td>'
.
$langs
->
trans
(
"MailErrorsTo"
)
.
'</td><td>'
;
$out
.
=
'<input size="30" id="errorstomail" name="errorstomail" value="'
.
$errorstomail
.
'" />'
;
$out
.
=
"</td></tr>
\n
"
;
}
}
// To
if
(
!
empty
(
$this
->
withto
)
||
is_array
(
$this
->
withto
))
{
$out
.
=
'<tr><td width="180">'
;
if
(
$this
->
withtofree
)
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailTo"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
else
$out
.
=
$langs
->
trans
(
"MailTo"
);
$out
.
=
'</td><td>'
;
if
(
$this
->
withtoreadonly
)
{
if
(
!
empty
(
$this
->
toname
)
&&
!
empty
(
$this
->
tomail
))
{
$out
.
=
'<input type="hidden" id="toname" name="toname" value="'
.
$this
->
toname
.
'" />'
;
$out
.
=
'<input type="hidden" id="tomail" name="tomail" value="'
.
$this
->
tomail
.
'" />'
;
if
(
$this
->
totype
==
'thirdparty'
)
{
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
toid
);
$out
.
=
$soc
->
getNomUrl
(
1
);
}
else
if
(
$this
->
totype
==
'contact'
)
{
$contact
=
new
Contact
(
$this
->
db
);
$contact
->
fetch
(
$this
->
toid
);
$out
.
=
$contact
->
getNomUrl
(
1
);
}
else
{
$out
.
=
$this
->
toname
;
}
$out
.
=
' <'
.
$this
->
tomail
.
'>'
;
if
(
$this
->
withtofree
)
{
$out
.
=
'<br>'
.
$langs
->
trans
(
"or"
)
.
' <input size="'
.
(
is_array
(
$this
->
withto
)
?
"30"
:
"60"
)
.
'" id="sendto" name="sendto" value="'
.
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
)
?
(
isset
(
$_REQUEST
[
"sendto"
])
?
$_REQUEST
[
"sendto"
]
:
$this
->
withto
)
:
""
)
.
'" />'
;
}
}
else
{
$out
.
=
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
))
?
$this
->
withto
:
""
;
}
}
else
{
if
(
!
empty
(
$this
->
withtofree
))
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withto
)
?
"30"
:
"60"
)
.
'" id="sendto" name="sendto" value="'
.
(
!
is_array
(
$this
->
withto
)
&&
!
is_numeric
(
$this
->
withto
)
?
(
isset
(
$_REQUEST
[
"sendto"
])
?
$_REQUEST
[
"sendto"
]
:
$this
->
withto
)
:
""
)
.
'" />'
;
}
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
if
(
!
empty
(
$this
->
withtofree
))
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiver"
,
$this
->
withto
,
GETPOST
(
"receiver"
),
1
);
}
if
(
isset
(
$this
->
withtosocid
)
&&
$this
->
withtosocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtosocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
if
(
$this
->
withtofree
)
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiver"
,
$liste
,
GETPOST
(
"receiver"
),
1
);
}
}
$out
.
=
"</td></tr>
\n
"
;
}
// CC
if
(
!
empty
(
$this
->
withtocc
)
||
is_array
(
$this
->
withtocc
))
{
$out
.
=
'<tr><td width="180">'
;
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailCC"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
$out
.
=
'</td><td>'
;
if
(
$this
->
withtoccreadonly
)
{
$out
.
=
(
!
is_array
(
$this
->
withtocc
)
&&
!
is_numeric
(
$this
->
withtocc
))
?
$this
->
withtocc
:
""
;
}
else
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withtocc
)
?
"30"
:
"60"
)
.
'" id="sendtocc" name="sendtocc" value="'
.
((
!
is_array
(
$this
->
withtocc
)
&&
!
is_numeric
(
$this
->
withtocc
))
?
(
isset
(
$_POST
[
"sendtocc"
])
?
$_POST
[
"sendtocc"
]
:
$this
->
withtocc
)
:
(
isset
(
$_POST
[
"sendtocc"
])
?
$_POST
[
"sendtocc"
]
:
""
)
)
.
'" />'
;
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receivercc"
,
$this
->
withto
,
GETPOST
(
"receivercc"
),
1
);
}
if
(
!
empty
(
$this
->
withtoccsocid
)
&&
$this
->
withtoccsocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtoccsocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receivercc"
,
$liste
,
GETPOST
(
"receivercc"
),
1
);
}
}
$out
.
=
"</td></tr>
\n
"
;
}
// CCC
if
(
!
empty
(
$this
->
withtoccc
)
||
is_array
(
$this
->
withtoccc
))
{
$out
.
=
'<tr><td width="180">'
;
$out
.
=
$form
->
textwithpicto
(
$langs
->
trans
(
"MailCCC"
),
$langs
->
trans
(
"YouCanUseCommaSeparatorForSeveralRecipients"
));
$out
.
=
'</td><td>'
;
if
(
!
empty
(
$this
->
withtocccreadonly
))
{
$out
.
=
(
!
is_array
(
$this
->
withtoccc
)
&&
!
is_numeric
(
$this
->
withtoccc
))
?
$this
->
withtoccc
:
""
;
}
else
{
$out
.
=
'<input size="'
.
(
is_array
(
$this
->
withtoccc
)
?
"30"
:
"60"
)
.
'" id="sendtoccc" name="sendtoccc" value="'
.
((
!
is_array
(
$this
->
withtoccc
)
&&
!
is_numeric
(
$this
->
withtoccc
))
?
(
isset
(
$_POST
[
"sendtoccc"
])
?
$_POST
[
"sendtoccc"
]
:
$this
->
withtoccc
)
:
(
isset
(
$_POST
[
"sendtoccc"
])
?
$_POST
[
"sendtoccc"
]
:
""
)
)
.
'" />'
;
if
(
!
empty
(
$this
->
withto
)
&&
is_array
(
$this
->
withto
))
{
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiverccc"
,
$this
->
withto
,
GETPOST
(
"receiverccc"
),
1
);
}
if
(
!
empty
(
$this
->
withtocccsocid
)
&&
$this
->
withtocccsocid
>
0
)
// deprecated. TODO Remove this. Instead, fill withto with array before calling method.
{
$liste
=
array
();
$soc
=
new
Societe
(
$this
->
db
);
$soc
->
fetch
(
$this
->
withtosocid
);
foreach
(
$soc
->
thirdparty_and_contact_email_array
(
1
)
as
$key
=>
$value
)
{
$liste
[
$key
]
=
$value
;
}
$out
.
=
" "
.
$langs
->
trans
(
"or"
)
.
" "
;
$out
.
=
$form
->
selectarray
(
"receiverccc"
,
$liste
,
GETPOST
(
"receiverccc"
),
1
);
}
}
//if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_TO)) print ' '.info_admin("+ ".$conf->global->MAIN_MAIL_AUTOCOPY_TO,1);
$out
.
=
"</td></tr>
\n
"
;
}
// Ask delivery receipt
if
(
!
empty
(
$this
->
withdeliveryreceipt
))
{
$out
.
=
'<tr><td width="180">'
.
$langs
->
trans
(
"DeliveryReceipt"
)
.
'</td><td>'
;
if
(
!
empty
(
$this
->
withdeliveryreceiptreadonly
))
{
$out
.
=
yn
(
$this
->
withdeliveryreceipt
);
}
else
{
$out
.
=
$form
->
selectyesno
(
'deliveryreceipt'
,
(
isset
(
$_POST
[
"deliveryreceipt"
])
?
$_POST
[
"deliveryreceipt"
]
:
0
),
1
);
}
$out
.
=
"</td></tr>
\n
"
;
}
// Topic
if
(
!
empty
(
$this
->
withtopic
))
{
$this
->
withtopic
=
make_substitutions
(
$this
->
withtopic
,
$this
->
substit
);
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180">'
.
$langs
->
trans
(
"MailTopic"
)
.
'</td>'
;
$out
.
=
'<td>'
;
if
(
$this
->
withtopicreadonly
)
{
$out
.
=
$this
->
withtopic
;
$out
.
=
'<input type="hidden" size="60" id="subject" name="subject" value="'
.
$this
->
withtopic
.
'" />'
;
}
else
{
$out
.
=
'<input type="text" size="60" id="subject" name="subject" value="'
.
(
isset
(
$_POST
[
"subject"
])
?
$_POST
[
"subject"
]
:
$this
->
withtopic
)
.
'" />'
;
}
$out
.
=
"</td></tr>
\n
"
;
}
// Attached files
if
(
!
empty
(
$this
->
withfile
))
{
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180">'
.
$langs
->
trans
(
"MailFile"
)
.
'</td>'
;
$out
.
=
'<td>'
;
// TODO Trick to have param removedfile containing nb of image to delete. But this does not works without javascript
$out
.
=
'<input type="hidden" class="removedfilehidden" name="removedfile" value="">'
.
"
\n
"
;
$out
.
=
'<script type="text/javascript" language="javascript">'
;
$out
.
=
'jQuery(document).ready(function () {'
;
$out
.
=
' jQuery(".removedfile").click(function() {'
;
$out
.
=
' jQuery(".removedfilehidden").val(jQuery(this).val());'
;
$out
.
=
' });'
;
$out
.
=
'})'
;
$out
.
=
'</script>'
.
"
\n
"
;
if
(
count
(
$listofpaths
))
{
foreach
(
$listofpaths
as
$key
=>
$val
)
{
$out
.
=
'<div id="attachfile_'
.
$key
.
'">'
;
$out
.
=
img_mime
(
$listofnames
[
$key
])
.
' '
.
$listofnames
[
$key
];
if
(
!
$this
->
withfilereadonly
)
{
$out
.
=
' <input type="image" style="border: 0px;" src="'
.
DOL_URL_ROOT
.
'/theme/'
.
$conf
->
theme
.
'/img/delete.png" value="'
.
(
$key
+
1
)
.
'" class="removedfile" id="removedfile_'
.
$key
.
'" name="removedfile_'
.
$key
.
'" />'
;
//$out.= ' <a href="'.$_SERVER["PHP_SELF"].'?removedfile='.($key+1).' id="removedfile_'.$key.'">'.img_delete($langs->trans("Delete").'</a>';
}
$out
.
=
'<br></div>'
;
}
}
else
{
$out
.
=
$langs
->
trans
(
"NoAttachedFiles"
)
.
'<br>'
;
}
if
(
$this
->
withfile
==
2
)
// Can add other files
{
$out
.
=
'<input type="file" class="flat" id="addedfile" name="addedfile" value="'
.
$langs
->
trans
(
"Upload"
)
.
'" />'
;
$out
.
=
' '
;
$out
.
=
'<input type="submit" class="button" id="'
.
$addfileaction
.
'" name="'
.
$addfileaction
.
'" value="'
.
$langs
->
trans
(
"MailingAddFile"
)
.
'" />'
;
}
$out
.
=
"</td></tr>
\n
"
;
}
// Message
if
(
!
empty
(
$this
->
withbody
))
{
$defaultmessage
=
""
;
// TODO A partir du type, proposer liste de messages dans table llx_models
if
(
$this
->
param
[
"models"
]
==
'facture_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendInvoice"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'facture_relance'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendInvoiceReminder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'propal_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendProposal"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'order_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendOrder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'order_supplier_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendSupplierOrder"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'invoice_supplier_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendSupplierInvoice"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'shipping_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendShipping"
);
}
elseif
(
$this
->
param
[
"models"
]
==
'fichinter_send'
)
{
$defaultmessage
=
$langs
->
transnoentities
(
"PredefinedMailContentSendFichInter"
);
}
elseif
(
!
is_numeric
(
$this
->
withbody
))
{
$defaultmessage
=
$this
->
withbody
;
}
// Complete substitution array
if
(
!
empty
(
$conf
->
paypal
->
enabled
)
&&
!
empty
(
$conf
->
global
->
PAYPAL_ADD_PAYMENT_URL
))
{
require_once
DOL_DOCUMENT_ROOT
.
'/paypal/lib/paypal.lib.php'
;
$langs
->
load
(
'paypal'
);
if
(
$this
->
param
[
"models"
]
==
'order_send'
)
{
$url
=
getPaypalPaymentUrl
(
0
,
'order'
,
$this
->
substit
[
'__ORDERREF__'
]);
$this
->
substit
[
'__PERSONALIZED__'
]
=
$langs
->
transnoentitiesnoconv
(
"PredefinedMailContentLink"
,
$url
);
}
if
(
$this
->
param
[
"models"
]
==
'facture_send'
)
{
$url
=
getPaypalPaymentUrl
(
0
,
'invoice'
,
$this
->
substit
[
'__FACREF__'
]);
$this
->
substit
[
'__PERSONALIZED__'
]
=
$langs
->
transnoentitiesnoconv
(
"PredefinedMailContentLink"
,
$url
);
}
}
$defaultmessage
=
make_substitutions
(
$defaultmessage
,
$this
->
substit
);
if
(
isset
(
$_POST
[
"message"
]))
$defaultmessage
=
$_POST
[
"message"
];
$defaultmessage
=
str_replace
(
'\n'
,
"
\n
"
,
$defaultmessage
);
$out
.
=
'<tr>'
;
$out
.
=
'<td width="180" valign="top">'
.
$langs
->
trans
(
"MailText"
)
.
'</td>'
;
$out
.
=
'<td>'
;
if
(
$this
->
withbodyreadonly
)
{
$out
.
=
nl2br
(
$defaultmessage
);
$out
.
=
'<input type="hidden" id="message" name="message" value="'
.
$defaultmessage
.
'" />'
;
}
else
{
if
(
!
isset
(
$this
->
ckeditortoolbar
))
$this
->
ckeditortoolbar
=
'dolibarr_notes'
;
// Editor wysiwyg
require_once
DOL_DOCUMENT_ROOT
.
'/core/class/doleditor.class.php'
;
$doleditor
=
new
DolEditor
(
'message'
,
$defaultmessage
,
''
,
280
,
$this
->
ckeditortoolbar
,
'In'
,
true
,
true
,
$this
->
withfckeditor
,
8
,
72
);
$out
.
=
$doleditor
->
Create
(
1
);
}
$out
.
=
"</td></tr>
\n
"
;
}
if
(
!
empty
(
$this
->
withform
))
{
$out
.
=
'<tr><td align="center" colspan="2"><center>'
;
$out
.
=
'<input class="button" type="submit" id="sendmail" name="sendmail" value="'
.
$langs
->
trans
(
"SendMail"
)
.
'"'
;
// Add a javascript test to avoid to forget to submit file before sending email
if
(
$this
->
withfile
==
2
&&
$conf
->
use_javascript_ajax
)
{
$out
.
=
' onClick="if (document.mailform.addedfile.value != \'\') { alert(\''
.
dol_escape_js
(
$langs
->
trans
(
"FileWasNotUploaded"
))
.
'\'); return false; } else { return true; }"'
;
}
$out
.
=
' />'
;
if
(
$this
->
withcancel
)
{
$out
.
=
' '
;
$out
.
=
'<input class="button" type="submit" id="cancel" name="cancel" value="'
.
$langs
->
trans
(
"Cancel"
)
.
'" />'
;
}
$out
.
=
'</center></td></tr>'
.
"
\n
"
;
}
$out
.
=
'</table>'
.
"
\n
"
;
if
(
!
empty
(
$this
->
withform
))
$out
.
=
'</form>'
.
"
\n
"
;
$out
.
=
"<!-- Fin form mail -->
\n
"
;
return
$out
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment