#include "lp_ws.h"
#include "ppastats.h"
-static char *footer;
-static char *ppa_body;
-static char *pkg_body;
-static char *header;
-
-#define HTML_VERSION_TEMPLATE \
-"<html>\n\
- <head>\n\
- <link type=\"text/css\"\n\
- rel=\"stylesheet\"\n\
- href=\n\
-\"http://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin\">\n\
- <link type=\"text/css\" href=\"css/ppastats.css\" rel=\"stylesheet\" />\n\
- <link type=\"text/css\" href=\"css/jquery.jqplot.min.css\"\n\
- rel=\"stylesheet\" />\n\
-<!--[if lt IE 9]><script \
-language=\"javascript\" \
-type=\"text/javascript\" \
-src=\"js/excanvas.js\"></script><![endif]-->\n\
- <script type=\"text/javascript\" src=\"js/jquery.min.js\"></script>\n\
- <script type=\"text/javascript\"\n\
- src=\"js/jquery.jqplot.min.js\"></script>\n\
- <script type=\"text/javascript\"\n\
- src=\"js/jqplot.dateAxisRenderer.min.js\"></script>\n\
- <script type=\"text/javascript\" src=\"js/ppastats.js\"></script>\n\
- <script>var data = %s;\n\
- ppastats_ver();\n\
- </script>\n\
- </head>\n\
- <body>\n\
- <h1><span id=\"pkg_name\">N/A</span></h1>\n\
- <div id=\"version\"><em>Version:</em></div>\n\
- <p><em>PPA</em>: \n\
- <a href=\"index.html\">\n\
- <span id=\"ppa_owner\">N/A</span>/<span id=\"ppa_name\">N/A</span>\n\
- </a></p>\n\
- <div id=\"charts\">\n\
- <div id=\"chart\"></div>\n\
- </div>\n\
- <div id=\"details\">\n\
- <div class=\"distros\">\n\
- <em>Distros</em>:\n\
- <ul id=\"distros\"></ul>\n\
- </div>\n\
- </div>\n"
+static const char *footer;
+static const char *ppa_body;
+static const char *pkg_body;
+static const char *pkg_version_body;
+static const char *header;
static char *path_new(const char *dir, const char *file, const char *suffixe)
{
return footer;
}
+static const char *get_pkg_version_body()
+{
+ const char *path;
+
+ if (!pkg_version_body) {
+ path = DEFAULT_WWW_DIR"/pkg_version.tpl";
+ pkg_version_body = file_get_content(path);
+
+ if (!pkg_version_body)
+ log_err("Failed to read package version template: %s",
+ path);
+ }
+
+ return pkg_version_body;
+}
static const char *get_ppa_body()
{
const char *path;
char *f_name, *path;
FILE *f;
const char *footer;
+ const char *pkg_ver;
+
+ pkg_ver = get_pkg_version_body();
+ if (!pkg_ver) {
+ log_err("Failed to get package version template");
+ return ;
+ }
f_name = malloc(strlen(pkg->name)+1+strlen(version->version)+1);
sprintf(f_name, "%s_%s", pkg->name, version->version);
return ;
}
- fprintf(f, HTML_VERSION_TEMPLATE,
- version_to_json(ppa, pkg, version));
+ fprintf(f, pkg_ver, version_to_json(ppa, pkg, version));
footer = get_footer();
if (footer)
--- /dev/null
+<html>
+ <head>
+ <link type="text/css" rel="stylesheet"
+ href="http://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin">
+ <link type="text/css" href="css/ppastats.css" rel="stylesheet" />
+ <link type="text/css" href="css/jquery.jqplot.min.css" rel="stylesheet" />
+ <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="js/excanvas.js"></script><![endif]-->
+ <script type="text/javascript" src="js/jquery.min.js"></script>
+ <script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
+ <script type="text/javascript" src="js/jqplot.dateAxisRenderer.min.js"></script>
+ <script type="text/javascript" src="js/ppastats.js"></script>
+ <script>var data = %s;
+ ppastats_ver();
+ </script>
+ </head>
+ <body>
+ <h1><span id="pkg_name">N/A</span></h1>
+ <div id="version"><em>Version:</em></div>
+ <p><em>PPA</em>:
+ <a href="index.html">
+ <span id="ppa_owner">N/A</span>/<span id="ppa_name">N/A</span>
+ </a>
+ </p>
+ <div id="charts">
+ <div id="chart"></div>
+ </div>
+ <div id="details">
+ <div class="distros">
+ <em>Distros</em>:
+ <ul id="distros"></ul>
+ </div>
+ </div>
+