function _scs_create_newsletter in Simplenews Content Selection 6.2
Same name and namespace in other branches
- 6 scs.module \_scs_create_newsletter()
- 7 scs.module \_scs_create_newsletter()
Newsletter creator function
2 calls to _scs_create_newsletter()
- scs_node_selection_submit in ./
scs.pages.inc - scs_sort_nodes_submit in ./
scs.pages.inc - Submit function of the node sorter page
File
- ./
scs.module, line 228 - Select Drupal content to create a newsletter
Code
function _scs_create_newsletter($options) {
global $user, $custom_theme;
if ($theme = variable_get('theme_default', FALSE)) {
$custom_theme = $theme;
init_theme();
}
//Title
if ($options['title'] == '') {
$title = variable_get('scs_default_title', t('Please edit the title of this newsletter'));
}
// Load node information
foreach ($options['nodes'] as $region => $nodes) {
foreach ($nodes as $node) {
$complete_nodes[$region][] = node_load(array(
'nid' => $node,
));
}
}
ksort($complete_nodes);
// Create the body of the newsletter
$themeoptions = array(
'nodes' => $complete_nodes,
'toc' => $options['toc'],
'type' => $options['newsletter_type'],
);
$body = theme('scs_newsletter_output', $themeoptions);
$newsletter = new StdClass();
$newsletter->type = $options['content_type'];
$newsletter->uid = $user->uid;
$newsletter->title = $options['title'];
$newsletter->body = $body;
$newsletter->teaser = node_teaser($body);
$newsletter->filter = variable_get('filter_default_format', 1);
$newsletter->status = variable_get('scs_publish_default', 1);
$newsletter->revision = 1;
$newsletter->promote = 0;
$newsletter->comment = 0;
$newsletter->created = time();
$newsletter->changed = time();
$newsletter->simplenews['s_format'] = strtolower(variable_get('scs_format', 'plain'));
$newsletter->priority = 0;
$newsletter->receipt = 0;
//Add a hook to make it possible to add default settings to the created newsletter, all selected options during the process are available
foreach (module_implements('scs_create_newsletter') as $name) {
$function = $name . '_scs_create_newsletter';
$function($newsletter, $options);
}
node_save($newsletter);
drupal_goto('node/' . $newsletter->nid . '/edit');
}