function subscriptions_blog_ui_blog_form in Subscriptions 6
Same name and namespace in other branches
- 5.2 subscriptions_blog_ui.module \subscriptions_blog_ui_blog_form()
Returns the blog subscription form.
1 string reference to 'subscriptions_blog_ui_blog_form'
- subscriptions_blog_ui_page_blog in ./
subscriptions_blog_ui.module - Returns a list of blog subscriptions.
File
- ./
subscriptions_blog_ui.module, line 99 - Provide a Subscriptions UI for the blog content type subscriptions
Code
function subscriptions_blog_ui_blog_form(&$form_state, $blogs, $account, $form) {
$subscriptions = array();
$bulk_op = empty($_SESSION['subscriptions']['bulk_op']) ? '' : $_SESSION['subscriptions']['bulk_op'];
if ($bulk_op) {
// No initialization for bulk subscription.
$uid = -DRUPAL_AUTHENTICATED_RID;
}
else {
$arg5 = subscriptions_arg(5);
$uid = isset($account) ? $account->uid : (is_numeric($arg5) ? -$arg5 : -DRUPAL_AUTHENTICATED_RID);
$result = db_query("\n SELECT s.value, s.send_interval, s.author_uid, s.send_comments, s.send_updates, u.name\n FROM {subscriptions} s\n INNER JOIN {users} u ON s.author_uid = u.uid\n WHERE s.module = 'node' AND s.field = 'type' AND s.value = 'blog' AND s.recipient_uid = %d\n ORDER BY u.name", $uid);
while ($s = db_fetch_array($result)) {
$subscriptions[$s['author_uid']] = $s;
}
}
$form[0] = array(
'#type' => 'item',
'#title' => '',
'#tree' => TRUE,
'#theme' => 'subscriptions_form_table',
);
foreach ($blogs as $blog) {
$title = $blog['has_blog'] ? l($blog['name'], 'blog/' . $blog['uid']) : $blog['name'];
// add the active subscriptions
if (!isset($subscriptions[$blog['uid']])) {
// author-less item is missing -- add it here:
$subscriptions[$blog['uid']] = array(
'send_interval' => _subscriptions_get_setting('send_interval', $uid < 0 ? $uid : $account),
'send_comments' => _subscriptions_get_setting('send_comments', $uid < 0 ? $uid : $account),
'send_updates' => _subscriptions_get_setting('send_updates', $uid < 0 ? $uid : $account),
);
}
subscriptions_form_helper($form[0], $defaults, $blog['uid'], 'blog', $title, $subscriptions[$blog['uid']]);
}
unset($form[0]['author']);
$form[0]['defaults'] = array(
'#type' => 'value',
'#value' => $defaults,
);
subscriptions_form_column_filter($form[0], $uid);
$form['#tree'] = TRUE;
$form['uid'] = array(
'#type' => 'value',
'#value' => $bulk_op ? $_SESSION['subscriptions']['uids'] : $uid,
);
$form['access_key'] = array(
'#type' => 'value',
'#value' => 'blog',
);
$form['module'] = array(
'#type' => 'value',
'#value' => 'node',
);
$form['field'] = array(
'#type' => 'value',
'#value' => 'type',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 10,
);
$form['#submit'][] = 'subscriptions_page_form_submit';
return $form;
}