char *
gss_transaction_get_base_url (GssTransaction * t)
{
  if (t->soupserver == t->server->server) {
    return gss_soup_get_base_url_http (t->server, t->msg);
  } else {
    return gss_soup_get_base_url_https (t->server, t->msg);
  }
}
コード例 #2
0
ファイル: gss-html.c プロジェクト: guilhermeka/bbb-gss-hack
void
gss_html_footer_bare (GssTransaction * t)
{
  GString *s = t->s;
  char *base_https;

  GSS_A ("<script src='/bootstrap/js/jquery.js'></script>\n");
  GSS_A ("<script src='/bootstrap/js/bootstrap.js'></script>\n");
#ifdef use_internal_include_js
  GSS_A ("<script src=\"/include.js\" type=\"text/javascript\"></script>\n");
#else
  GSS_A
      ("<script src=\"https://login.persona.org/include.js\" type=\"text/javascript\"></script>\n");
#endif
  if (t->server->enable_flowplayer) {
    GSS_A
        ("<script type='text/javascript' src=\"/flowplayer-3.2.11.min.js\"></script>\n"
        "<script>flowplayer('player', '/flowplayer-3.2.15.swf');</script>\n");
  }

  GSS_A ("<script type=\"text/javascript\">\n");
  base_https = gss_soup_get_base_url_https (t->server, t->msg);
  GSS_P ("function gotAssertion(assertion) {\n"
      "if(assertion!==null){\n"
      "var form = document.createElement(\"form\");\n"
      "form.setAttribute('method', 'POST');\n"
      "form.setAttribute('action', '%s/login?redirect_url=%s');\n"
      "var ip = document.createElement(\"input\");\n"
      "ip.setAttribute('type', 'hidden');\n"
      "ip.setAttribute('name', 'assertion');\n"
      "ip.setAttribute('value', assertion);\n"
      "form.appendChild(ip);\n"
      "document.body.appendChild(form);\n" "form.submit();\n"
      "}\n" "}\n", base_https, t->path ? t->path : "/");
  g_free (base_https);
  if (t->script) {
    GSS_A (t->script->str);
    g_string_free (t->script, TRUE);
  }
  GSS_A ("</script>\n");
  GSS_A ("\n" "</body>\n" "</html>\n");

}