Description Usage Arguments Author(s) Examples
This function allows a Drupal form to be submitted (e.g. user login form, node submission form, etc).
| 1 | drupalr.postForm(d_url, d_path, form_id, pars, c, num=1)
 | 
| d_url | Base URL of the Drupal site. | 
| d_path | Relative path to the Drupal page containing the form. | 
| form_id | The Drupal form_id of the target form. | 
| pars | CURL parameters for the fields int he form. | 
| c | CURL handler of an authenticated session. | 
| num | Offset of the form. | 
Ed Baker
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.
## The function is currently defined as
function(d_url, d_path, form_id, pars, c, num=1) {
  #First load form to get token and build_id
  form <- RCurl::getURL(paste0(d_url, d_path), curl = c);
  data <- xml2::read_html(form)
  
  if (form_id == "comment_form") { num <- 3}
  
  data <- xml2::xml_find_first(data, paste0('//*[(@id = "',gsub("_", "-", form_id), '")]'));
  form_token <- unname(xml2::xml_attrs(xml2::xml_find_all(data, '//*[(@name = "form_token")]'))[[num]]['value'])
  form_build_id <- unname(xml2::xml_attrs(xml2::xml_find_all(data, '//*[(@name = "form_build_id")]'))[[num]]['value'])
  form_id <- unname(xml2::xml_attrs(xml2::xml_find_all(data, '//*[(@name = "form_id")]'))[[num]]['value'])
  
  i_pars=list(
    form_id=form_id,
    form_token=form_token,
    form_build_id=form_build_id
  );
  
  pars = c(pars, i_pars);
  
  html = RCurl::postForm(paste0(d_url, d_path), .params = pars, curl=c)
}
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.