mysite_type_droplet_settings_form($droplet_id = NULL)
plugins/types/droplet.inc, line 380
FormsAPI for droplet creation and deletion
function mysite_type_droplet_settings_form($droplet_id = NULL) {
if (arg(5) != 'delete') {
if (!is_null($droplet_id)) {
$droplet = mysite_get_custom('droplet', $droplet_id);
// pass $droplet by reference in order to parse the subtype and key
$content = mysite_type_droplet_get_content($droplet);
$base_disabled = FALSE;
if ($droplet->subtype == 'view') {
$view = views_load_view($droplet->key);
$droplet->base = $view->url;
$base_disabled = TRUE;
}
}
else {
$droplet->subtype = 'droplet';
$droplet->type_key = 'droplet:';
$droplet->format = 2;
}
if (empty($edit)) {
$edit = (array) $droplet;
$edit['content'] = $droplet->content_raw;
}
$form['#attributes']['enctype'] = 'multipart/form-data';
$form['mysite_droplet'] = array(
'#type' => 'fieldset',
'#title' => t('Droplet settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['mysite_droplet']['title'] = array('#type' => 'textfield',
'#title' => t('Droplet title'),
'#default_value' => $edit['title'],
'#maxlength' => 64,
'#size' => 40,
'#description' => t('The name of the droplet, as seen by the end user.'),
'#required' => TRUE
);
if ($droplet->subtype == 'droplet') {
if (!empty($droplet->myid)) {
if (empty($content)) {
$content = t('There is no content to render.');
}
$form['mysite_droplet']['preview'] = array('#type' => 'markup',
'#prefix' => t('<p><b>Droplet preview: </b></p><p><hr /></p><p>'),
'#value' => $content,
'#suffix' => t('</p><p><hr /></p><p class="description">Content preview.</p>'),
'#required' => FALSE
);
}
$form['mysite_droplet']['content'] = array('#type' => 'textarea',
'#title' => t('Droplet content'),
'#default_value' => $edit['content'],
'#rows' => 5,
'#cols' => 40,
'#description' => t('The content to display to the end user.'),
'#required' => TRUE
);
$form['mysite_droplet']['format'] = filter_form($value = $edit['format'], $weight = NULL, $parents = array('format'));
}
else {
if (empty($content)) {
$content = t('There is no content to render.');
}
$form['mysite_droplet']['content'] = array('#type' => 'markup',
'#prefix' => t('<p><b>Droplet content: </b></p><p><hr /></p>'),
'#value' => $content,
'#suffix' => t('<p><hr /></p><p class="description">This content cannot be edited.</p>'),
'#required' => FALSE
);
}
$form['mysite_droplet']['base'] = array('#type' => 'textfield',
'#title' => t('Droplet link'),
'#default_value' => $edit['base'],
'#maxlength' => 255,
'#size' => 40,
'#description' => t('Optional: The URL to click for more of this content. Use http:// or a Drupal-formatted "path/to/item".'),
'#required' => FALSE,
'#disabled' => $base_disabled
);
$form['mysite_droplet']['xml'] = array('#type' => 'textfield',
'#title' => t('Droplet xml link'),
'#default_value' => $edit['xml'],
'#maxlength' => 255,
'#size' => 40,
'#description' => t('Optional: The path to the RSS/XML output for this content. Use http:// or a Drupal-formatted "path/to/item".'),
'#required' => FALSE
);
if (module_exists('mysite_icon') && $edit['myid']) {
$icon = mysite_icon_lookup('droplet', $edit['myid']);
$image = theme_mysite_icon('droplet', $droplet_id, $droplet->title, $icon);
$link = l('Edit droplet icon', 'admin/settings/mysite/icons/change/'. $icon->iid) .' | '. l('Delete droplet icon', 'admin/settings/mysite/icons/delete/'. $icon->iid);
if (!$icon->iid) {
$link = l('Add droplet icon', 'admin/settings/mysite/icons/add/droplet/'. $edit['myid']);
}
$form['mysite_droplet']['image'] = array(
'#value' => $image .'<p><b>'. t('Droplet Icon:') .'</b></p><p>'. $link .'</p>'
);
}
$form['mysite_droplet']['type_key'] = array(
'#type' => 'hidden', '#value' => $edit['type_key']
);
$form['mysite_droplet']['type'] = array(
'#type' => 'hidden', '#value' => 'droplet'
);
$form['mysite_droplet']['myid'] = array(
'#type' => 'hidden', '#value' => $edit['myid']
);
$form['mysite_droplet']['confirm'] = array(
'#type' => 'hidden', '#value' => 0
);
$form['mysite_droplet']['submit'] = array('#type' => 'submit', '#value' => t('Save Droplet'));
if (!empty($droplet->myid)) {
$form['mysite_droplet']['delete'] = array('#type' => 'submit', '#value' => t('Delete This Droplet'));
}
}
else {
$droplet_id = arg(6);
$droplet = mysite_get_custom('droplet', $droplet_id);
if (!empty($droplet->myid)) {
$form['mysite_droplet']['myid'] = array(
'#type' => 'hidden', '#value' => $droplet->myid
);
$form['mysite_droplet']['confirm'] = array(
'#type' => 'hidden', '#value' => 1
);
$form['mysite_droplet']['content'] = array('#type' => 'markup',
'#value' => t('<p>You are about to delete the droplet "@title." Do you wish to continue?</p>', array('@title' => $droplet->title)),
);
$form['mysite_droplet']['delete'] = array('#type' => 'submit', '#value' => t('Confirm Deletion'));
$form['mysite_droplet']['cancel'] = array('#type' => 'markup',
'#value' => l(t('Cancel'), 'admin/settings/mysite/type/droplet/'. $droplet->myid)
);
}
else {
$form['mysite_droplet']['content'] = array('#type' => 'markup',
'#value' => t('<p>An invalid selection has been detected.</p>'),
);
}
}
return $form;
}