Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
provision
Commits
96e430f2
Commit
96e430f2
authored
Oct 30, 2008
by
Adrian Rossouw
Committed by
adrian
Oct 30, 2008
Browse files
#324968
- fix drupal_mail in d6. thanks benkant
parent
d598e088
Changes
1
Hide whitespace changes
Inline
Side-by-side
platform/provision_drupal.module
View file @
96e430f2
...
...
@@ -395,6 +395,40 @@ function _provision_drupal_install_schema($url, $install_profile, $language = 'e
provision_drupal_send_welcome_mail
(
$url
,
$profile
,
$language
,
$client_email
);
}
function
provision_drupal_mail
(
$key
,
&
$message
,
$params
)
{
switch
(
$key
)
{
case
'welcome-admin'
:
// allow the profile to override welcome email text
if
(
file_exists
(
"./profiles/
$profile
/provision_welcome_mail.inc"
))
{
require_once
"./profiles/
$profile
/provision_welcome_mail.inc"
;
$custom
=
TRUE
;
}
elseif
(
file_exists
(
dirname
(
__FILE__
)
.
'/provision_welcome_mail.inc'
))
{
/** use the module provided welcome email
* We can not use drupal_get_path here,
* as we are connected to the provisioned site's database
*/
require_once
dirname
(
__FILE__
)
.
'/provision_welcome_mail.inc'
;
$custom
=
TRUE
;
}
else
{
// last resort use the user-pass mail text
$custom
=
FALSE
;
}
if
(
$custom
)
{
$message
[
'subject'
]
=
st
(
$mail
[
'subject'
],
$params
[
'variables'
]);
$message
[
'body'
]
=
st
(
$mail
[
'body'
],
$params
[
'variables'
]);
}
else
{
$message
[
'subject'
]
=
_user_mail_text
(
'pass_subject'
,
$params
[
'variables'
]);
$message
[
'body'
]
=
_user_mail_text
(
'pass_body'
,
$params
[
'variables'
]);
}
break
;
}
}
function
provision_drupal_send_welcome_mail
(
$url
,
$profile
,
$language
,
$client_email
)
{
if
(
$client_email
)
{
// create the admin account
...
...
@@ -403,45 +437,23 @@ function provision_drupal_send_welcome_mail($url, $profile, $language, $client_e
$edit
[
'pass'
]
=
user_password
();
$edit
[
'mail'
]
=
$client_email
;
$edit
[
'status'
]
=
1
;
// temporarily disable drupal's default mail notification
$prev
=
variable_get
(
'user_mail_status_activated_notify'
,
TRUE
);
variable_set
(
'user_mail_status_activated_notify'
,
FALSE
);
$account
=
user_save
(
$account
,
$edit
);
variable_set
(
'user_mail_status_activated_notify'
,
$prev
);
// Mail one time login URL and instructions.
$from
=
variable_get
(
'site_mail'
,
ini_get
(
'sendmail_from'
));
$onetime
=
user_pass_reset_url
(
$account
);
$variables
=
array
(
$
mail_params
[
'
variables
'
]
=
array
(
'!username'
=>
$account
->
name
,
'!site'
=>
variable_get
(
'site_name'
,
'Drupal'
),
'!login_url'
=>
$onetime
,
'!uri'
=>
$base_url
,
'!uri_brief'
=>
preg_replace
(
'!^https?://!'
,
''
,
$base_url
),
'!mailto'
=>
$account
->
mail
,
'!date'
=>
format_date
(
time
()),
'!login_uri'
=>
url
(
'user'
,
array
(
'absolute'
=>
TRUE
)),
'!edit_uri'
=>
url
(
'user/'
.
$account
->
uid
.
'/edit'
,
array
(
'absolute'
=>
TRUE
)));
// allow the profile to override welcome email text
if
(
file_exists
(
"./profiles/
$profile
/provision_welcome_mail.inc"
))
{
require_once
"./profiles/
$profile
/provision_welcome_mail.inc"
;
$mailkey
=
'welcome-mail-admin'
;
}
elseif
(
file_exists
(
dirname
(
__FILE__
)
.
'/provision_welcome_mail.inc'
))
{
/** use the module provided welcome email
* We can not use drupal_get_path here,
* as we are connected to the provisioned site's database
*/
require_once
dirname
(
__FILE__
)
.
'/provision_welcome_mail.inc'
;
$mailkey
=
'welcome-mail-admin'
;
}
else
{
// last resort use the user-pass mail text
$mailkey
=
'user-pass'
;
}
if
(
$mailkey
==
'welcome-mail-admin'
)
{
$subject
=
st
(
$mail
[
'subject'
],
$variables
);
$body
=
st
(
$mail
[
'body'
],
$variables
);
}
else
{
$subject
=
_user_mail_text
(
'pass_subject'
,
$variables
);
$body
=
_user_mail_text
(
'pass_body'
,
$variables
);
}
$mail_success
=
drupal_mail
(
$mailkey
,
$account
->
mail
,
$subject
,
$body
,
$from
);
$mail_success
=
drupal_mail
(
'provision_drupal'
,
'welcome-admin'
,
$account
->
mail
,
user_preferred_language
(
$account
),
$mail_params
,
$from
,
TRUE
);
if
(
$mail_success
)
{
provision_log
(
'message'
,
t
(
'Sent welcome mail to @client'
,
array
(
'@client'
=>
$client_email
)));
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment