philip Thu May 10 07:31:56 2007 UTC
Modified files:
/livedocs mkindex.php style_mapping.php
Log:
Implement format_acronym() for acronym tags (for phpdoc)
This also closes bug #36448
http://cvs.php.net/viewvc.cgi/livedocs/mkindex.php?r1=1.48&r2=1.49&diff_format=u
Index: livedocs/mkindex.php
diff -u livedocs/mkindex.php:1.48 livedocs/mkindex.php:1.49
--- livedocs/mkindex.php:1.48 Wed Apr 18 07:26:45 2007
+++ livedocs/mkindex.php Thu May 10 07:31:56 2007
@@ -19,7 +19,7 @@
// | construct an index |
// +----------------------------------------------------------------------+
//
-// $Id: mkindex.php,v 1.48 2007/04/18 07:26:45 bjori Exp $
+// $Id: mkindex.php,v 1.49 2007/05/10 07:31:56 philip Exp $
/* just to be on the safe side */
@@ -621,6 +621,47 @@
sqlite_exec($idc, $tbl_data);
sqlite_close($idc);
+/* Build the acronym tags table
+ TODO: config path setting (plugins) to allow non phpdoc use
+*/
+if ($BUILDTYPE === 'phpdoc' && extension_loaded('simplexml')) {
+
+ echo 'Log: Acronym tags creation has been initialized: ', date('r'),
"\n";
+
+ $path = $DOCS . '/entities/acronyms.xml';
+ if (is_readable($path)) {
+
+ $xml = simplexml_load_string(file_get_contents($path));
+
+ if ($xml) {
+
+ $tbl_acronyms = "
+ CREATE TABLE acronyms (
+ acronym TEXT PRIMARY KEY,
+ descr TEXT
+ );";
+
+ sqlite_exec($idx, $tbl_acronyms);
+ sqlite_exec($idx, 'BEGIN TRANSACTION');
+
+ $qry = '';
+ foreach ($xml->variablelist->varlistentry as $c) {
+ $term = sqlite_escape_string(trim($c->term));
+ $desc =
sqlite_escape_string(trim($c->listitem->simpara));
+ $qry .= "INSERT INTO acronyms VALUES ('$term',
'$desc');";
+ }
+
+ sqlite_exec($idx, $qry);
+ sqlite_exec($idx, 'COMMIT');
+
+ } else {
+ echo "Error: Unable to parse the acronym tags\n";
+ }
+ } else {
+ echo "Error: The acronyms tag file ($path) is not readable\n";
+ }
+}
+
exit;
?>
http://cvs.php.net/viewvc.cgi/livedocs/style_mapping.php?r1=1.32&r2=1.33&diff_format=u
Index: livedocs/style_mapping.php
diff -u livedocs/style_mapping.php:1.32 livedocs/style_mapping.php:1.33
--- livedocs/style_mapping.php:1.32 Wed Jul 6 16:17:31 2005
+++ livedocs/style_mapping.php Thu May 10 07:31:56 2007
@@ -18,11 +18,11 @@
// | Helper functions for formatting elements |
// +----------------------------------------------------------------------+
//
-// $Id: style_mapping.php,v 1.32 2005/07/06 16:17:31 iliaa Exp $
+// $Id: style_mapping.php,v 1.33 2007/05/10 07:31:56 philip Exp $
// almost XPATH.. ;-)
$map = array(
- 'acronym' => 'acronym',
+ 'acronym' => 'format_acronym',
'appendix/title' => 'h1',
'author' => 'format_name',
'authorgroup' => 'format_authorgroup',
@@ -108,6 +108,20 @@
'xref' => 'format_link',
);
+function format_acronym($node)
+{
+ global $idx;
+
+ $name = $node->content;
+ $q = sqlite_single_query($idx, " SELECT descr
+
FROM acronyms
+
WHERE acronym = '" . sqlite_escape_string($name) . "'"
+ );
+ if (!$q) {
+ $q = $name;
+ }
+ return '<acronym title="'. $q .'">'. $name . '</acronym>';
+}
function format_authorgroup($node)
{