Functions

Send out the newsletter.

actual_send_newsletter(\LONG_TEXT $message, \SHORT_TEXT $subject, \LANGUAGE_NAME $lang, array $send_details, \BINARY $html_only = 0, string $from_email = '', string $from_name = '', integer $priority = 3, string $csv_data = '', \ID_TEXT $mail_template = 'MAIL') : \Tempcode
package newsletter
range 1 5

Parameters

$message

\LONG_TEXT

The newsletter message

$subject

\SHORT_TEXT

The newsletter subject

$lang

\LANGUAGE_NAME

The language

$send_details

array

A map describing what newsletters and newsletter levels the newsletter is being sent to

$html_only

\BINARY

Whether to only send in HTML format

$from_email

string

Override the email address the mail is sent from (blank: staff address)

$from_name

string

Override the name the mail is sent from (blank: site name)

$priority

integer

The message priority (1=urgent, 3=normal, 5=low)

$csv_data

string

CSV data of extra subscribers (blank: none). This is in the same Composr newsletter CSV format that we export elsewhere.

$mail_template

\ID_TEXT

The template used to show the email

Returns

\TempcodeUI

Make a newsletter.

add_newsletter(\SHORT_TEXT $title, \LONG_TEXT $description) : \AUTO_LINK
package newsletter

Parameters

$title

\SHORT_TEXT

The title

$description

\LONG_TEXT

The description

Returns

\AUTO_LINKThe ID

Add to the newsletter, in the simplest way.

basic_newsletter_join(\EMAIL $email, integer $interest_level = 4, \?LANGUAGE_NAME $lang = null, boolean $get_confirm_mail = false, \?AUTO_LINK $newsletter_id = null, string $forename = '', string $surname = '') : string

No authorisation support here, checks it works only for non-subscribed or non-confirmed members.

package newsletter
range 1 4

Parameters

$email

\EMAIL

The email address of the subscriber

$interest_level

integer

The interest level

$lang

\?LANGUAGE_NAME

The language (null: users)

$get_confirm_mail

boolean

Whether to require a confirmation mail

$newsletter_id

\?AUTO_LINK

The newsletter to join (null: the first)

$forename

string

Subscribers forename

$surname

string

Subscribers surname

Returns

stringNewsletter password

Delete a newsletter.

delete_newsletter(\AUTO_LINK $id) 
package newsletter

Parameters

$id

\AUTO_LINK

The ID

Edit a newsletter.

edit_newsletter(\AUTO_LINK $id, \SHORT_TEXT $title, \LONG_TEXT $description) 
package newsletter

Parameters

$id

\AUTO_LINK

The ID

$title

\SHORT_TEXT

The title

$description

\LONG_TEXT

The description

Script to read in an e-mailed ticket/reply.

incoming_bounced_email_script() 
package newsletter

Work out newsletter block list.

newsletter_block_list() : array
package newsletter

Returns

arrayList of blocked email addresses (actually a map)

Sub in newsletter variables.

newsletter_variable_substitution(string $message, \SHORT_TEXT $subject, \SHORT_TEXT $forename, \SHORT_TEXT $surname, \SHORT_TEXT $name, \EMAIL $email_address, \ID_TEXT $sendid, \SHORT_TEXT $hash) : string
package newsletter

Parameters

$message

string

The original newsletter message

$subject

\SHORT_TEXT

The newsletter subject

$forename

\SHORT_TEXT

Subscribers forename (blank: unknown)

$surname

\SHORT_TEXT

Subscribers surname (blank: unknown)

$name

\SHORT_TEXT

Subscribers name (or username)

$email_address

\EMAIL

Subscribers email address

$sendid

\ID_TEXT

Specially encoded ID of subscriber (begins either 'n' for newsletter subscriber, or 'm' for member - then has normal subscriber/member ID following)

$hash

\SHORT_TEXT

Double encoded password hash of subscriber (blank: can not unsubscribe by URL)

Returns

stringThe new newsletter message

Find a group of members the newsletter will go to.

newsletter_who_send_to(array $send_details, \LANGUAGE_NAME $lang, integer $start, integer $max, boolean $get_raw_rows = false, string $csv_data = '') : array
package newsletter

Parameters

$send_details

array

A map describing what newsletters and newsletter levels the newsletter is being sent to

$lang

\LANGUAGE_NAME

The language

$start

integer

Start position in result set (results are returned in parallel for each category of result)

$max

integer

Maximum records to return from each category

$get_raw_rows

boolean

Whether to get raw rows rather than mailer-ready correspondance lists

$csv_data

string

Serialized CSV data to also consider

Returns

arrayReturns a tuple of corresponding detail lists, emails,hashes,usernames,forenames,surnames,ids, and a record count for levels (depending on requests: csv, 1, , g) [record counts not returned if $start is not zero, for performance reasons]