diff -urN publish_47/publish.info publish_5x/publish.info
--- publish_47/publish.info	1969-12-31 19:00:00.000000000 -0500
+++ publish_5x/publish.info	2007-05-14 23:49:21.669080840 -0400
@@ -0,0 +1,4 @@
+name = Publish
+description = Allow site to send content to other Drupal sites
+version = 5.x-1.x-dev
+dependencies = taxonomy
\ No newline at end of file
diff -urN publish_47/publish.module publish_5x/publish.module
--- publish_47/publish.module	2007-05-14 23:49:12.396490488 -0400
+++ publish_5x/publish.module	2007-05-14 23:49:21.669080840 -0400
@@ -25,16 +25,11 @@
  */
 function publish_help($section) {
   switch ($section) {
-    case 'admin/modules#description':
-     return t('Allow site to send content to other Drupal sites.');
-    case 'admin/publish' :
+    case 'admin/build/publish' :
       return t('<p>Channels can be subscribed to by other Drupal sites using the subscribe module.<p>');
-    case strstr($section, 'admin/publish/pub/nodes'):
+    case strstr($section, 'admin/build/publish/pub/nodes'):
       return t('<p>Choose which which node types you would like to publish to other Drupal sites.</p>');
-    case strstr($section, 'admin/publish/pub/vocabularies'):
+    case strstr($section, 'admin/build/publish/pub/vocabularies'):
       return t('<p>Choose which vocabularies will accompany the nodes you publish to other Drupal sites. If a checkbox does not appear next to a node type it is because the node type is not associated with the vocabulary (you can change associations using administer &gt; categories &gt; edit vocabulary.)</p>');
   }
 }
@@ -47,69 +42,101 @@
   $admin = user_access('administer channels');
 
   if (!$may_cache) {
-    if (arg(2) == 'pub' && is_numeric(arg(4))) {
+    if (arg(3) == 'pub' && is_numeric(arg(5))) {
       $items[] = array(
-        'path' => 'admin/publish/pub/edit/' . arg(4),
-        'title' => t('edit'),
+        'path' => 'admin/build/publish/pub/edit/' . arg(5),
+        'title' => t('Edit'),
+        'callback arguments' => array(
+        	arg(5), // Channel ID
+        ),
         'callback' => 'publish_channel_edit',
         'type' => MENU_CALLBACK,
-        'access' => $admin);
+        'access' => $admin,
+			);
     }
     $items[] = array(
-      'path' =>'admin/publish/subscribers/' . arg(3),
-      'title' => t('subscribers'),
+      'path' =>'admin/build/publish/subscribers/' . arg(4),
+      'title' => t('Subscribers'),
       'callback' => 'publish_subscribers',
+      'callback arguments' => array(
+      	arg(4), // Channel ID
+      ),
       'type' => MENU_CALLBACK,
-      'access' => $admin);
-    $items[] = array('path' => 'admin/publish/filters/' . arg(3),
-      'title' => t('filters'),
-      'callback' => 'publish_channel_filter_form',
+      'access' => $admin,
+		);
+    $items[] = array('path' => 'admin/build/publish/filters/' . arg(4),
+      'title' => t('Filters'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array('publish_channel_filter_form', arg(4)),
       'type' => MENU_CALLBACK,
-      'access' => $admin);
-    $items[] = array('path' => 'admin/publish/edit/' . arg(4),
-      'title' => t('configure'),
+      'access' => $admin,
+		);
+    $items[] = array('path' => 'admin/build/publish/edit/',
+      'title' => t('Configure'),
+      'callback arguments' => array(
+      	arg(5),
+      ),
       'callback' => 'publish_channel_edit',
       'type' => MENU_CALLBACK,
-      'access' => $admin);
-  }
-  else {
-    $items[] = array(
-      'path' => 'admin/publish',
-      'title' => t('publish'),
-      'callback' => 'publish_overview',
-      'access' => $admin);
+      'access' => $admin,
+		);
     $items[] = array(
-      'path' => 'admin/publish/pub/vocabularies',
-      'title' => t('vocabularies'),
-      'callback' => 'publish_vocabulary_form',
+      'path' => 'admin/build/publish/pub/vocabularies',
+      'title' => t('Vocabularies'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array('publish_vocabulary_form', arg(5)),
       'type' => MENU_CALLBACK,
-      'access' => $admin);
-    $items[] = array(
-      'path' => 'admin/publish/list',
-      'title' => t('channels'),
-      'type' => MENU_DEFAULT_LOCAL_TASK,
-      'weight' => -10,
-      'callback' => 'publish_overview',
-      'access' => $admin);
+      'access' => $admin,
+    );
     $items[] = array(
-      'path' => 'admin/publish/add',
-      'title' => t('add channel'),
+      'path' => 'admin/build/publish/add',
+      'title' => t('Add channel'),
       'type' => MENU_LOCAL_TASK,
-      'callback' => 'publish_channel_form',
-      'access' => $admin);
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array('publish_channel_form'), /*MS: We may need to pass $channel and $edit args... not sure yet */
+      'access' => $admin,
+    );
     $items[] = array(
-      'path' => 'admin/publish/pub/delete',
-      'title' => t('delete'),
-      'callback' => 'publish_channel_delete_form',
+      'path' => 'admin/build/publish/pub/delete',
+      'title' => t('Delete'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array(
+      	'publish_channel_delete_form',
+      	arg(5), // Channel ID
+      ),
       'type' => MENU_CALLBACK,
-      'access' => $admin);
+      'access' => $admin,
+		);
     $items[] = array(
-      'path' => 'admin/publish/pub/filters/delete',
-      'title' => t('filters'),
-      'callback' => 'publish_channel_filter_delete_form',
+      'path' => 'admin/build/publish/pub/filters/delete',
+      'title' => t('Filters'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array(
+      	'publish_channel_filter_delete_form',
+      	arg(6), // Channel ID
+      	arg(7), // Filter ID
+      ),      
       'type' => MENU_CALLBACK,
-      'access' => $admin);
+      'access' => $admin,
+		);
   }
+  else {
+    $items[] = array(
+      'path' => 'admin/build/publish',
+      'title' => t('Publish'),
+      'callback' => 'publish_overview',
+      'access' => $admin,
+		);
+    $items[] = array(
+      'path' => 'admin/build/publish/list',
+      'title' => t('Channels'),
+      'type' => MENU_DEFAULT_LOCAL_TASK,
+      'weight' => -10,
+      'callback' => 'publish_overview',
+      'access' => $admin,
+		);
+  }
+
   return $items;
 }
 
@@ -226,20 +253,20 @@
   $row = array();
   while ($data = db_fetch_object($result)) {
     $edit_items = array();
-    $edit_items[] = l(t('edit'), "admin/publish/pub/edit/$data->channel_id");
-    $edit_items[] = l(t('vocabularies'), "admin/publish/pub/vocabularies/$data->channel_id");
-    $edit_items[] = l(t('filters'), "admin/publish/filters/$data->channel_id");
+    $edit_items[] = l(t('edit'), "admin/build/publish/pub/edit/$data->channel_id");
+    $edit_items[] = l(t('vocabularies'), "admin/build/publish/pub/vocabularies/$data->channel_id");
+    $edit_items[] = l(t('filters'), "admin/build/publish/filters/$data->channel_id");
     $count = db_result(db_query("SELECT COUNT(*) FROM {publish_subscribers} WHERE channel_id = %d", $data->channel_id));
-    $edit_items[] = l(t('delete'), "admin/publish/pub/delete/$data->channel_id");
+    $edit_items[] = l(t('delete'), "admin/build/publish/pub/delete/$data->channel_id");
     $row[] = array(
       array('data' => $data->channel_id, 'valign' => 'top'),
       array('data' => "$data->name", 'valign' => 'top'),
       array('data' => $data->advertise ? t('yes') : t('no'), 'valign' => 'top'),
-      array('data' => $count ? l($count, "admin/publish/subscribers/$data->channel_id") : t('none'), 'valign' => 'top'),
+      array('data' => $count ? l($count, "admin/build/publish/subscribers/$data->channel_id") : t('none'), 'valign' => 'top'),
       array('data' => implode("<br />\n", $edit_items)));
   }
 
-  $output = $row ? theme('table', $header, $row) : t('No channels created. Would you like to <a href="%add-channel">create one</a>?', array('%add-channel' => url('admin/publish/add')));
+  $output = $row ? theme('table', $header, $row) : t('No channels created. Would you like to <a href="!add-channel">create one</a>?', array('!add-channel' => url('admin/build/publish/add')));
 
   return $output;
 }
@@ -266,14 +293,13 @@
   return $channel;
 }
 
-function publish_channel_edit() {
-  $channel_id = arg(4);
+function publish_channel_edit($channel_id) {
   $channel = publish_channel_load($channel_id);
   if (!$channel) {
     drupal_set_message(t('No such channel.', 'error'));
-    drupal_goto('admin/publish');
+    drupal_goto('admin/build/publish');
   }
-  return publish_channel_form($channel);
+  return drupal_get_form('publish_channel_form', $channel);
 }
 
 /**
@@ -285,7 +311,7 @@
  *   Array with form values
  *
  * @return
- *   HTML output
+ *   An array of form elements.
  */
 function publish_channel_form($channel = NULL, $edit = array()) {
   if (!isset($channel->name)) {
@@ -323,6 +349,10 @@
     $published[] = $data->type;
   }
 
+	foreach(node_get_types() as $type) {
+		$type_options[$type->type] = $type->name;
+	}
+
   $form['node_types'] = array(
     '#type' => 'fieldset',
     '#title' => t('Node types')
@@ -331,7 +361,7 @@
     '#type' => 'checkboxes',
     '#title' => t('Publish the following node types'),
     '#default_value' => $published,
-    '#options' => node_get_types(),
+    '#options' => $type_options,
     );
   $form['authentication'] = array(
     '#type' => 'fieldset',
@@ -341,7 +371,7 @@
     '#type' => 'radios',
     '#title' => t('Choose an authorization model'),
     '#default_value' => isset($channel->authtype) ? $channel->authtype : 'none',
-    '#options' =>  array(t('None'), t('Users with %perm permission', array('%perm' => theme('placeholder', 'subscribe to channel'))), t('Username and password (enter below)'))
+    '#options' =>  array(t('None'), t('Users with %perm permission', array('%perm' => 'subscribe to channel')), t('Username and password (enter below)'))
     );
   $form['authentication']['username'] = array(
     '#type' => 'textfield',
@@ -365,7 +395,8 @@
     '#type' => 'textarea',
     '#title' => t('Domains'),
     '#rows' => '2',
-    '#description' => t('Subscribers will be restricted to domains listed here, e.g. %example. If no domains are listed, all may subscribe.', array('%example' => theme('placeholder', 'example.org, example2.org')))
+    '#description' => t('Subscribers will be restricted to domains listed here, e.g. %example. If no domains are listed, all may subscribe.', array('%example' => 'example.org, example2.org')),
+    '#default_value' => $channel->domains,
     );
   $form['channel_id'] = array(
     '#type' => 'value',
@@ -385,7 +416,7 @@
     '#type' => 'submit',
     '#value' => t('Update Channel Settings')
     );
-  return drupal_get_form('publish_channel_form', $form);
+  return $form;
 }
 
 /**
@@ -437,7 +468,7 @@
     $form_values['channel_id'] = publish_channel_save($form_values);
   }
   publish_node_save($form_values);
-  return 'admin/publish';
+  return 'admin/build/publish';
 }
 
 /**
@@ -447,14 +478,13 @@
  *   Array with form values
  *
  * @return
- *   HTML output
+ *   An array of form elements.
  */
-function publish_channel_filter_form($edit = array()) {
-  $channel_id = arg(3);
+function publish_channel_filter_form($channel_id) {
   $channel = publish_channel_load($channel_id);
   if (!$channel) {
     drupal_set_message(t('No such channel.'), 'error');
-    drupal_goto('admin/publish');
+    drupal_goto('admin/build/publish');
   }
   $form['field'] = array(
     '#type' => 'select',
@@ -482,7 +512,7 @@
   $form['channel_id'] = array(
     '#type' => 'value',
     '#value' => $channel_id);
-  return drupal_get_form('publish_channel_filter_form', $form);
+  return $form;
 }
 
 function theme_publish_channel_filter_form($form) {
@@ -491,10 +521,10 @@
     $output = t('The following filters are in effect for this channel:');
     $header = array(t('Field'), t('Condition'), t('Value'), t('Operation'));
     foreach ($channel->filters as $filter) {
-      $operation = l(t('delete'), 'admin/publish/pub/filters/delete/' . $channel->channel_id . '/' .$filter['fid']);
+      $operation = l(t('delete'), 'admin/build/publish/pub/filters/delete/' . $channel->channel_id . '/' .$filter['fid']);
       $rows[] = array(
         array('data' => $filter['field']),
-        array('data' => $filter['condition']),
+        array('data' => $filter['operator']),
         array('data' => $filter['value']),
         array('data' => $operation)
         );
@@ -507,24 +537,25 @@
 
   // we don't want theming so we do a table the old-fashioned way
   $output .= '<table><tr>';
-  $output .= '<td>' . form_render($form['field']) . '<td>';
-  $output .= '<td>' . form_render($form['operation']) . '<td>';
-  $output .= '<td>' . form_render($form['value']) . '<td>';
-  $output .= '<td>' . form_render($form['submit']) . '</td>';
+  $output .= '<td>' . drupal_render($form['field']) . '<td>';
+  $output .= '<td>' . drupal_render($form['operation']) . '<td>';
+  $output .= '<td>' . drupal_render($form['value']) . '<td>';
+  $output .= '<td>' . drupal_render($form['submit']) . '</td>';
   $output .= '</tr></table>';
-  $output .= form_render($form);
+  $output .= drupal_render($form);
 
+	$output .= l(t('Return to Publish'), 'admin/build/publish/');
   return $output;
 }
 
 function publish_channel_filter_options() {
   $v_names = array();
-  if (module_exist('taxonomy')) {
-    $vocabularies = taxonomy_get_vocabularies();
-    foreach ($vocabularies as $v) {
-      $v_names[$v->vid] = $v->name;
-    }
+
+  $vocabularies = taxonomy_get_vocabularies();
+  foreach ($vocabularies as $v) {
+    $v_names[$v->vid] = $v->name;
   }
+
   $merged = array_merge($v_names, publish_supported_fields());
   foreach ($merged as $name) {
     $options[$name] = $name;
@@ -555,7 +586,7 @@
   $channel = publish_channel_load($form_values['channel_id']);
   publish_channel_filter_save($channel, $form_values);
   drupal_set_message(t('Filter added.'));
-  return 'admin/publish/filters/' . $form_values['channel_id'];
+  return 'admin/build/publish/filters/' . $form_values['channel_id'];
 }
 
 function publish_channel_filter_save(&$channel, $edit = array()) {
@@ -586,33 +617,29 @@
   }
 }
 
-function publish_channel_filter_delete_form() {
-  $channel_id = arg(5);
-  $filter_id = arg(6);
-  $channel = publish_channel_load($channel_id);
+function publish_channel_filter_delete_form($channel_id, $filter_id) {
+	$channel = publish_channel_load($channel_id);
   if (!$channel) {
     drupal_set_message(t('No such channel.', 'error'));
-    drupal_goto('admin/publish');
+    drupal_goto('admin/build/publish');
   }
+
   $form['channel_id'] = array('#type' => 'value', '#value' => $channel_id);
   $form['filter_id'] = array('#type' => 'value', '#value' => $filter_id);
-  $output = confirm_form('publish_channel_filter_delete_form', $form,
-                   t('Are you sure you want to delete this filter?'),
-                   'admin/publish', t('This action cannot be undone.'),
-                   t('Delete'), t('Cancel')  );
-  return $output;
+
+  return confirm_form($form, t('Are you sure you want to delete this filter?'), 'admin/build/publish', t('This action cannot be undone.'), t('Delete'), t('Cancel'), 'publish_channel_filter_delete_form');
 }
 
 function publish_channel_filter_delete_form_submit($form_id, $form_values) {
   publish_channel_filter_delete($form_values['channel_id'], $form_values['filter_id']);
-  return 'admin/publish/filters/' . $form_values['channel_id'];
+  return 'admin/build/publish/filters/' . $form_values['channel_id'];
 }
 function publish_channel_filter_delete($channel_id, $fid) {
   $data = db_fetch_object(db_query('SELECT pc.field, pc.cond, pc.value, pp.name FROM {publish_cond} as pc, {publish_channel} as pp WHERE pc.fid = %d AND pp.channel_id = %d', $fid, $channel_id));
   $filtertext = $data->field . ' ' . $data->cond . ' ' . $data->value;
   db_query('DELETE FROM {publish_cond} WHERE fid = %d', $fid);
-  watchdog('special', t('Deleted filter %filter from channel %name.', array('%filter' => theme('placeholder', $filtertext), '%name' => $data->name)));
-  drupal_set_message(t('Deleted filter %filter.', array('%filter' => theme('placeholder', $filtertext))));
+  watchdog('special', t('Deleted filter !filter from channel !name.', array('%filter' => $filtertext, '!name' => $data->name)));
+  drupal_set_message(t('Deleted filter %filter.', array('%filter' => $filtertext)));
 }
 
 /**
@@ -641,7 +668,8 @@
  * @param $edit
  */
 function publish_channel_save($edit) {
-  if (!$edit['clean_domains']) $edit['clean_domains'] = '';
+//  if (!$edit['clean_domains']) $edit['clean_domains'] = '';
+	$edit['domains'] = $edit['allowed'];
   $channel_id = $edit['channel_id'];
   $fields = publish_db_fields('publish_channel');
 
@@ -655,8 +683,8 @@
       }
     }
     db_query("UPDATE {publish_channel} SET ". implode(', ', $q) ." WHERE channel_id = ". db_escape_string($edit['channel_id']), $v);
-     watchdog('special', t('%type: updated channel %name', array('%type' => '<em>'. t('publish') .'</em>', '%name' => "<em>" . $edit['name'] . "</em>")));
-    drupal_set_message(t('Updated channel %name', array('%name' => theme('placeholder', $edit['name']))));
+     watchdog('special', t('%type: updated channel %name', array('%type' => t('publish'), '%name' => $edit['name'])));
+    drupal_set_message(t('Updated channel %name', array('%name' => $edit['name'])));
   }
   else {
     // create new channel
@@ -675,35 +703,32 @@
     // Insert the node into the database:
     $query = "INSERT INTO {publish_channel} (". implode(", ", $k) .") VALUES(". implode(", ", $s) .")";
     db_query($query, $v);
-    watchdog('special', t('%type: created channel %name.', array('%type' => '<em>'. t('publish') .'</em>', '%name' => "<em>" . $edit['name'] . "</em>")));
-    drupal_set_message(t('Created channel %name', array('%name' => theme('placeholder', $edit['name']))));
+    watchdog('special', t('!type: created channel !name.', array('!type' => t('publish'), '!name' => $edit['name'])));
+    drupal_set_message(t('Created channel !name', array('!name' => $edit['name'])));
   }
   return $edit['channel_id'];
 }
 
 /**
- * Menu callback.
- * The HTML form to confirm deletion of a channel.
+ * The form to confirm deletion of a channel.
  */
-function publish_channel_delete_form() {
-  $channel_id = arg(4);
-  $channel = publish_channel_load($channel_id);
+function publish_channel_delete_form($channel_id) {
+	$channel = publish_channel_load($channel_id);
   if (!$channel) {
     drupal_set_message(t('No such channel.', 'error'));
-    drupal_goto('admin/publish');
+    drupal_goto('admin/build/publish');
   }
+
   $form['channel_id'] = array('#type' => 'value', '#value' => $channel_id);
-  $output = confirm_form('publish_delete_form', $form,
-                   t('Are you sure you want to delete %title?', array('%title' => theme('placeholder', $channel->name))),
-                   'admin/publish', t('This action cannot be undone.'),
-                   t('Delete'), t('Cancel')  );
-  return $output;
+
+  return confirm_form($form, t('Are you sure you want to delete %title?', array('%title' => $channel->name)), 'admin/build/publish', t('This action cannot be undone.'), t('Delete'), t('Cancel'), 'publish_channel_delete_form');
+
 }
 
-function publish_delete_form_submit($form_id, $form_values) {
+function publish_channel_delete_form_submit($form_id, $form_values) {
   $channel = publish_channel_load($form_values['channel_id']);
   publish_channel_delete($channel);
-  return 'admin/publish';
+  return 'admin/build/publish';
 }
 
 /**
@@ -795,12 +820,7 @@
   $channel = publish_channel_load($channel_id);
   if (!$channel) {
     drupal_set_message(t('No such channel.', 'error'));
-    drupal_goto('admin/publish');
-  }
-
-  if (!module_exist('taxonomy')) {
-    drupal_set_message(t('The taxonomy module is disabled. Please enable the taxonomy module.'), 'warning');
-    drupal_goto('/admin/publish');
+    drupal_goto('admin/build/publish');
   }
 
   $vocabularies = taxonomy_get_vocabularies();
@@ -845,7 +865,7 @@
             '#name' => 'edit[' . $type . '|' . $v->name . ']',
             '#return_value' => 1
             );
-          $s = form_render($form[$type . '|' . $v->name]);
+          $s = drupal_render($form[$type . '|' . $v->name]);
         }
         $table .= '<td>' . $s . '</td>';
       }
@@ -867,10 +887,15 @@
   else {
     // no node types have been chosen for publication
     drupal_set_message(t('No node types have been chosen for publication. Edit channel and choose at least one node type.'));
-    drupal_goto('/admin/publish');
+    drupal_goto('/admin/build/publish');
   }
 
-  return drupal_get_form('publish_vocabulary_form', $form);
+	$form['return'] = array(
+		'#type' => 'item',
+		'#value' => l(t('Return to Publish'), 'admin/build/publish/'),
+	);
+	
+  return $form;
 }
 
 /**
@@ -903,9 +928,9 @@
     db_query("INSERT INTO {publish_nodetypes} (channel_id, type, pub_vocab) VALUES ('%s', '%s', '%s')", $channel_id, $type, serialize($vocs_this_node));
   }
   $channel = publish_channel_load($channel_id);
-  drupal_set_message(t("Saved vocabulary publication configuration for channel %name.", array('%name' => theme('placeholder', $channel->name))));
+  drupal_set_message(t("Saved vocabulary publication configuration for channel %name.", array('%name' => $channel->name)));
 
-  return 'admin/publish';
+  return 'admin/build/publish';
 }
 
 /**
@@ -943,7 +968,9 @@
   static $nodetypes = array();
   static $published_vocabularies = array();
 
-  $lookup = node_get_types();
+  foreach(node_get_types() as $type) {
+  	$lookup[$type->type] = $type->name;
+  }
   $result = db_query("SELECT * FROM {publish_nodetypes} WHERE channel_id = '%s'", $channel_id);
   while ($data = db_fetch_object($result)) {
     $nodetypes[$data->type] = $lookup[$data->type];
@@ -967,8 +994,7 @@
   * @return
   *   an HTML table of subscribers and related information
   */
- function publish_subscribers () {
-   $channel_id = arg(3);
+ function publish_subscribers($channel_id) {
    $channel = publish_channel_load($channel_id);
    $output = '<h3>' . t('Subscribers to channel') . " '$channel->name':</h3>";
     $header = array(array('data' => t('Subscriber')), array('data' => t('Status')), array('data' => 'Operations', 'colspan' => '1'));
@@ -1250,7 +1276,7 @@
   }
 
   $who = $username? check_plain($username) : t('anonymous');
-  watchdog('publish', t('XML-RPC: may subscribe to channel %channel_id? %name (%link).', array('%channel_id' => $channel_id, '%name' => "<em>$who</em>", '%link' => "<em>$host</em>")));
+  watchdog('publish', t('XML-RPC: may subscribe to channel !channel_id? %name (%link).', array('!channel_id' => $channel_id, '%name' => $who, '%link' => $host)));
 
   return $response;
 }
@@ -1274,7 +1300,7 @@
  *   An array containing a status message and the subscription id on the publishing site.
  */
  function publish_xmls_receive_subscription($channel_id, $username, $pass, $dest, $method, $remote_vids, $local_vids, $cond) {
-
+	
   $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
 
   // should check if $dest is in domain of $host here
@@ -1473,7 +1499,7 @@
 function publish_db_fields($table_name) {
   switch ($table_name) {
     case 'publish_channel':
-      return array('channel_id', 'name', 'description', 'advertise', 'authtype', 'whenpub', 'username', 'pass', 'domain');
+      return array('channel_id', 'name', 'description', 'advertise', 'authtype', 'whenpub', 'username', 'pass', 'domains');
   }
 }
 
