utf8: don't allow NUL in decoded strings.
[ccan] / web / staticmoduleinfo.php
index 5b16e62d0003afed9a35d1a4f8ea3d62138bdbea..ac4ac68f1bb19226ee184adfe9af73dd1e7420b8 100644 (file)
@@ -3,88 +3,111 @@ session_start();
 include('logo.html');
 include('menulist.html');
 include('static-configuration');
-$module=$argv[1];
-
-$maintainer=extract_field('maintainer',$module);
-$author=extract_field('author',$module);
-$summary=extract_field('summary',$module);
-$description=htmlize_field('description',$module);
-$example=extract_field('example',$module);
-$dependencies=htmlspecialchars(shell_exec('tools/ccan_depends --direct '.$module));
-$licence=extract_field('licence',$module);
+$module_path=$argv[1];
+$module=$argv[2];
+$maintainer=extract_field('maintainer',$module_path);
+$author=extract_field('author',$module_path);
+$summary=extract_field('summary',$module_path);
+$see_also=extract_field('see_also',$module_path);
+$description=htmlize_field('description',$module_path);
+$example=extract_field('example',$module_path);
+$dependencies=htmlspecialchars(shell_exec('tools/ccan_depends --direct '.$module_path));
+$extdepends=htmlspecialchars(shell_exec('tools/ccan_depends --compile --non-ccan '.$module_path));
+$licence=extract_field('licence',$module_path);
+$license=extract_field('license',$module_path);
+$url_prefix = getenv("URLPREFIX");
 ?>
-<table align="center" bgcolor="lightblue" width="70%" border="0" cellpadding="3" cellspacing="1">
-<tr align="center" bgcolor="FFFFCC">
-<td>
-<a href="<?=$repo_base.$module?>">Browse Source</a>
-</td>
-<td>
-Download:
-<a href="../<?=$tar_dir?>/<?=basename($module)?>.tar.bz2">(standalone)</a>
-<a href="../<?=$tar_dir?>/with-deps/<?=basename($module)?>.tar.bz2">(with all dependencies)</a>
-</tr>
-</table>
+<div class='content moduleinfo'>
 
-<p>
-</p>
+<p><a href="<?=$repo_base.$module?>">Browse Source</a> <a href="<?=$url_prefix?><?=$tar_dir?>/with-deps/<?=$module?>.tar.bz2">Download</a> <a href="<?=$url_prefix?><?=$tar_dir?>/<?=$module?>.tar.bz2">(without any required ccan dependencies)</a></p>
 
-<table align="center" bgcolor="lightblue" width="70%" border="0" cellpadding="8" cellspacing="1">
-<tr align="left" bgcolor="FFFFCC">
-<td><h3>Module: </h3> <?=$module?> </td>
-</tr>
+<h3>Module:</h3>
+<p><?=$module?></p>
 
-<tr align="left" bgcolor="FFFFCC">
-<td><h3>Summary: </h3> <?=$summary?></td>
-</tr>
+<h3>Summary:</h3>
+<p><?=$summary?></p>
 
 <?php
 if ($maintainer) {
 ?>
-<tr align="left" bgcolor="FFFFCC"> 
-<td><h3>Maintainer: </h3> <?=$maintainer?></td>
-</tr>
+<h3>Maintainer:</h3>
+<p><?=$maintainer?></p>
 <?php
 }
 
 if ($author) {
 ?>
-<tr align="left" bgcolor="FFFFCC"> 
-<td><h3>Author: </h3> <?=$author?></td>
-</tr>
+<h3>Author:</h3>
+<p><?=$author?></p>
 <?php
 }
 
 if ($dependencies) {
 ?>
-<tr align="left" bgcolor="FFFFCC">
-<td><h3>Dependencies: </h3> <pre> <?php
+<h3>Dependencies:</h3>
+<ul class='dependencies'>
+<?php
        foreach (preg_split("/\s+/", $dependencies) as $dep) {
-               echo '<a href="'.substr($dep, 5).'.html">'.$dep.'</a> ';
+               if ($dep) {
+                       echo '<li><a href="'.substr($dep, 5).'.html">'.$dep.'</a></li>';
+               }
+        }
+?>
+</ul>
+
+<?php 
+}
+
+if ($extdepends) {
+?>
+<h3>External dependencies:</h3>
+<ul class='external-dependencies'>
+<?php
+       foreach (explode("\n", $extdepends) as $dep) {
+               $fields=preg_split("/\s+/", $dep);
+               echo "<li>" . $fields[0].' ';
+               if (count($fields) > 1)
+                       echo '(version '.$fields[1].') ';
+               echo '</li>';
         }
-?></pre></td>
-</tr>
+?>
+</ul>
 <?php 
 }
 ?>
-<tr align="left" bgcolor="FFFFCC">
-<td><h3>Description: </h3> <?=$description;?> </td>
-</tr>
+
+<h3>Description:</h3>
+<p><?=$description;?></p>
+
 <?php 
+if ($see_also) {
+?>
+<h3>See Also:</h3>
+<ul class='see-also'>
+<?php
+       foreach (preg_split("/[\s,]+/", trim($see_also)) as $see) {
+               echo '<li><a href="'.substr($see, 5).'.html">'.$see.'</a></li>';
+        }
+?>
+</ul>
+<?php
+}
+
 if ($example) {
 ?>
-<tr align="left" bgcolor="FFFFCC"> 
-<td><h3>Example: </h3> <pre><?=$example?></pre></td>
-</tr>
+<h3>Example:</h3>
+<pre class="prettyprint">
+<code class="language-c"><?=$example?></code>
+</pre>
 <?php
 }
 
-if ($licence) {
+if ($license) {
 ?>
-<tr align="left" bgcolor="FFFFCC"> 
-<td><h3>Licence: </h3> <?=$licence?></td>
-</tr>
+<h3>License:</h3>
+<p><?=$license?></p>
 <?php
 }
 ?>
-</table><hr>
+</div>
 </body></html>