diff --git a/phpdotnet/phd/Format.php b/phpdotnet/phd/Format.php
index ae176cc2..44417322 100644
--- a/phpdotnet/phd/Format.php
+++ b/phpdotnet/phd/Format.php
@@ -395,6 +395,10 @@ final public static function autogen($text, $lang = null) {
$filename = Config::lang_dir() . $lang . ".ini";
+ if (!file_exists($filename) && strncmp(basename($filename), 'doc-', 4) === 0) {
+ $filename = dirname($filename) . DIRECTORY_SEPARATOR . substr(basename($filename), 4);
+ }
+
self::$autogen[$lang] = parse_ini_file($filename);
return self::autogen($text, $lang);
}
diff --git a/phpdotnet/phd/Package/Generic/XHTML.php b/phpdotnet/phd/Package/Generic/XHTML.php
index 5cf43504..fe409e87 100644
--- a/phpdotnet/phd/Package/Generic/XHTML.php
+++ b/phpdotnet/phd/Package/Generic/XHTML.php
@@ -333,7 +333,7 @@ abstract class Package_Generic_XHTML extends Format_Abstract_XHTML {
'sect4' => 'h5',
'segmentedlist' => 'format_table_title',
'table' => 'format_table_title',
- 'variablelist' => 'strong',
+ 'variablelist' => 'format_variablelist_title',
'article' => 'format_container_chunk_top_title',
'appendix' => 'format_container_chunk_top_title',
'book' => 'format_container_chunk_top_title',
@@ -1476,16 +1476,27 @@ public function format_step($open, $name, $attrs) {
}
return '';
}
- public function format_variablelist($open, $name, $attrs) {
+ public function format_variablelist($open, $name, $attrs, $props) {
if ($open) {
+ if (isset($attrs[Reader::XMLNS_DOCBOOK]["role"])) {
+ $this->role = $attrs[Reader::XMLNS_DOCBOOK]["role"];
+ }
+ $classStr = $headerStr = $idStr = '';
if (isset($attrs[Reader::XMLNS_XML]["id"])) {
- $id = $attrs[Reader::XMLNS_XML]["id"];
- return '
';
+ $idStr = ' id="' . $attrs[Reader::XMLNS_XML]["id"] . '"';
+ }
+ if ($this->role === 'constant_list') {
+ $tagName = 'table';
+ $classStr = ' class="doctable table"';
+ $headerStr = "\n\n" . $this->autogen('Constants', $props['lang']) . " | \n" . $this->autogen('Description', $props['lang']) . " | \n
";
} else {
- return '';
+ $tagName = 'dl';
}
+ return '<' . $tagName . $idStr . $classStr . '>' . $headerStr;
}
- return "
\n";
+ $tagName = ($this->role === 'constant_list') ? 'table' : 'dl';
+ $this->role = false;
+ return "" . $tagName . ">\n";
}
public function format_varlistentry($open, $name, $attrs) {
if ($open) {
@@ -1494,26 +1505,29 @@ public function format_varlistentry($open, $name, $attrs) {
} else {
unset($this->cchunk['varlistentry']['id']);
}
+ return ($this->role === 'constant_list') ? '' : '';
}
- return '';
+ return ($this->role === 'constant_list') ? '
' : '';
}
public function format_varlistentry_term($open, $name, $attrs, $props) {
+ $tagName = ($this->role === 'constant_list') ? 'td' : 'dt';
if ($open) {
if (isset($this->cchunk['varlistentry']['id'])) {
$id = $this->cchunk['varlistentry']['id'];
unset($this->cchunk['varlistentry']['id']);
- return '- ';
+ return '<' . $tagName . ' id="' . $id . '">';
} else {
- return "
- \n";
+ return "<" . $tagName . ">\n";
}
}
- return "
\n";
+ return "" . $tagName . ">\n";
}
public function format_varlistentry_listitem($open, $name, $attrs) {
+ $tagName = ($this->role === 'constant_list') ? 'td' : 'dd';
if ($open) {
- return " - \n";
+ return "<" . $tagName . ">\n";
}
- return "
\n";
+ return "" . $tagName . ">\n";
}
public function format_term($open, $name, $attrs, $props) {
if ($open) {
@@ -1653,6 +1667,12 @@ public function format_table_title($open, $name, $attrs, $props)
}
return "";
}
+ public function format_variablelist_title($open, $name, $attrs, $props) {
+ if ($open) {
+ return ($this->role === 'constant_list') ? "" : "";
+ }
+ return ($this->role === 'constant_list') ? "" : "";
+ }
public function format_mediaobject($open, $name, $attrs) {
$this->cchunk["mediaobject"] = $this->dchunk["mediaobject"];
diff --git a/phpdotnet/phd/data/langs/de.ini b/phpdotnet/phd/data/langs/de.ini
index 542b15e1..0df1b9d1 100644
--- a/phpdotnet/phd/data/langs/de.ini
+++ b/phpdotnet/phd/data/langs/de.ini
@@ -6,3 +6,5 @@ tip = "Tipp"
by = "von"
editedby = "Herausgegeben von"
example = "Beispiel #"
+Description = "Beschreibung"
+Constants = "Konstanten"
diff --git a/phpdotnet/phd/data/langs/en.ini b/phpdotnet/phd/data/langs/en.ini
index 7687dfd5..572476f0 100644
--- a/phpdotnet/phd/data/langs/en.ini
+++ b/phpdotnet/phd/data/langs/en.ini
@@ -14,3 +14,4 @@ mediaobject = "[NOT DISPLAYABLE MEDIA]"
Version = "Version"
Function = "Function"
Description = "Description"
+Constants = "Constants"
diff --git a/phpdotnet/phd/data/langs/es.ini b/phpdotnet/phd/data/langs/es.ini
index 3cdb4aa0..81b759f4 100644
--- a/phpdotnet/phd/data/langs/es.ini
+++ b/phpdotnet/phd/data/langs/es.ini
@@ -11,3 +11,5 @@ unknownversion = "No hay información de versión disponible, podría estar úni
refname = "NOMBRE"
refsynopsis = "SINOPSIS"
mediaobject = "[MULTIMEDIA NO DISPONIBLE]"
+Description = "Descripción"
+Constants = "Constantes"
diff --git a/phpdotnet/phd/data/langs/fr.ini b/phpdotnet/phd/data/langs/fr.ini
index 193506ab..0a7c0fb8 100644
--- a/phpdotnet/phd/data/langs/fr.ini
+++ b/phpdotnet/phd/data/langs/fr.ini
@@ -10,3 +10,4 @@ example = "Exemple #"
Version = "Version"
Function = "Fonction"
Description = "Description"
+Constants = "Constantes"
diff --git a/phpdotnet/phd/data/langs/it.ini b/phpdotnet/phd/data/langs/it.ini
index a04af5a8..309bc692 100644
--- a/phpdotnet/phd/data/langs/it.ini
+++ b/phpdotnet/phd/data/langs/it.ini
@@ -6,3 +6,5 @@ tip = "Suggerimento"
by = "by"
editedby = "Edited By"
example = "Example #"
+Description = "Descrizione"
+Constants = "Costanti"
diff --git a/phpdotnet/phd/data/langs/ja.ini b/phpdotnet/phd/data/langs/ja.ini
index 5af67be3..b01ad7a3 100644
--- a/phpdotnet/phd/data/langs/ja.ini
+++ b/phpdotnet/phd/data/langs/ja.ini
@@ -11,3 +11,5 @@ unknownversion = "バージョン情報なし。おそらく Git 版にしか存
refname = "名前"
refsynopsis = "書式"
mediaobject = "[表示できません]"
+Description = "説明"
+Constants = "定数"
diff --git a/phpdotnet/phd/data/langs/pl.ini b/phpdotnet/phd/data/langs/pl.ini
index 34719e92..42199205 100644
--- a/phpdotnet/phd/data/langs/pl.ini
+++ b/phpdotnet/phd/data/langs/pl.ini
@@ -14,3 +14,4 @@ mediaobject = "[OBIEKT NIEMOŻLIWY DO WYŚWIETLENIA]"
Version = "Wersja"
Function = "Funkcja"
Description = "Opis"
+Constants = "Stałe"
diff --git a/phpdotnet/phd/data/langs/pt_BR.ini b/phpdotnet/phd/data/langs/pt_BR.ini
index 4603ecae..d3fd2a25 100644
--- a/phpdotnet/phd/data/langs/pt_BR.ini
+++ b/phpdotnet/phd/data/langs/pt_BR.ini
@@ -11,3 +11,5 @@ unknownversion = "Não há informação de versão disponível, talvez apenas no
refname = "NOME"
refsynopsis = "SINOPSE"
mediaobject = "[MÍDIA NÃO DISPONÍVEL]"
+Description = "Descrição"
+Constants = "Constantes"
diff --git a/phpdotnet/phd/data/langs/ro.ini b/phpdotnet/phd/data/langs/ro.ini
index 7f64aa00..5134f7fc 100644
--- a/phpdotnet/phd/data/langs/ro.ini
+++ b/phpdotnet/phd/data/langs/ro.ini
@@ -6,3 +6,5 @@ tip = "Sfat"
by = "by"
editedby = "Edited By"
example = "Example #"
+Description = "Descriere"
+Constants = "Constante"
diff --git a/phpdotnet/phd/data/langs/ru.ini b/phpdotnet/phd/data/langs/ru.ini
index 47b93616..c5e4170a 100644
--- a/phpdotnet/phd/data/langs/ru.ini
+++ b/phpdotnet/phd/data/langs/ru.ini
@@ -11,3 +11,5 @@ unknownversion = "Информация о версии неизвестна, в
refname = "ИМЯ"
refsynopsis = "СОДЕРЖАНИЕ"
mediaobject = "[НЕОТОБРАЖАЕМЫЙ МЕДИА-ФАЙЛ]"
+Description = "Описание"
+Constants = "Константы"
diff --git a/phpdotnet/phd/data/langs/tr.ini b/phpdotnet/phd/data/langs/tr.ini
index 88be6b2b..8f1c716e 100644
--- a/phpdotnet/phd/data/langs/tr.ini
+++ b/phpdotnet/phd/data/langs/tr.ini
@@ -14,4 +14,4 @@ mediaobject = "[ORTAM GÖSTERİME UYGUN DEĞİL]"
Version = "Sürüm"
Function = "İşlev"
Description = "Açıklama"
-
+Constants = "Sabitler"
diff --git a/phpdotnet/phd/data/langs/uk.ini b/phpdotnet/phd/data/langs/uk.ini
index 2dfaaeb6..3b6ed873 100644
--- a/phpdotnet/phd/data/langs/uk.ini
+++ b/phpdotnet/phd/data/langs/uk.ini
@@ -11,3 +11,5 @@ unknownversion = "Інформація про версію невідома, м
refname = "ІМ’Я"
refsynopsis = "ЗМІСТ"
mediaobject = "[НЕВИДИМИЙ МЕДІА-ФАЙЛ]"
+Description = "Опис"
+Constants = "Константи"
diff --git a/phpdotnet/phd/data/langs/zh.ini b/phpdotnet/phd/data/langs/zh.ini
index 7db7dda1..618d55a9 100644
--- a/phpdotnet/phd/data/langs/zh.ini
+++ b/phpdotnet/phd/data/langs/zh.ini
@@ -14,3 +14,4 @@ mediaobject = "[NOT DISPLAYABLE MEDIA]"
Version = "版本号"
Function = "函数"
Description = "描述"
+Constants = "常量"