@@ -467,6 +467,11 @@ abstract class Package_Generic_XHTML extends Format_Abstract_XHTML {
467467 'constant ' => 'format_suppressed_text ' ,
468468 ),
469469 /** Those are used to retrieve the class/interface name to be able to remove it from method names */
470+ 'package ' => [
471+ /* DEFAULT */ false ,
472+ 'packagesynopsis ' => 'format_packagesynopsis_package_text '
473+ ],
474+ /** Those are used to retrieve the class/interface name to be able to remove it from method names */
470475 'classname ' => [
471476 /* DEFAULT */ false ,
472477 'ooclass ' => [
@@ -538,7 +543,10 @@ abstract class Package_Generic_XHTML extends Format_Abstract_XHTML {
538543 protected $ cchunk = array ();
539544 /* Default Chunk variables */
540545 private $ dchunk = array (
541- "packagesynopsis " => false ,
546+ "packagesynopsis " => [
547+ "open " => false ,
548+ "namespace " => '' ,
549+ ],
542550 "classsynopsis " => [
543551 "close " => false ,
544552 "classname " => false ,
@@ -1257,7 +1265,7 @@ public function format_classsynopsis($open, $name, $attrs, $props) {
12571265 /** Legacy presentation does not use the class attribute */
12581266 $ this ->cchunk ["classsynopsis " ]['legacy ' ] = !isset ($ attrs [Reader::XMLNS_DOCBOOK ]["class " ]);
12591267
1260- $ inPackageSynopsis = $ this ->cchunk ["packagesynopsis " ] ?? false ;
1268+ $ inPackageSynopsis = $ this ->cchunk ["packagesynopsis " ][ " open " ] ?? false ;
12611269
12621270 if ($ this ->cchunk ["classsynopsis " ]['legacy ' ]) {
12631271 if ($ open ) {
@@ -1324,18 +1332,22 @@ public function format_classsynopsis_methodsynopsis_methodname_text($value, $tag
13241332 }
13251333
13261334 list ($ class , $ method ) = explode ($ explode , $ value );
1327- if ($ class !== $ this ->cchunk ["classsynopsis " ]["classname " ]) {
1335+ $ thisFqcn = $ this ->getFqcn ();
1336+
1337+ if ($ class !== $ thisFqcn ) {
13281338 return $ value ;
13291339 }
1340+
13301341 return $ method ;
13311342 }
13321343
13331344 public function format_packagesynopsis ($ open , $ name , $ attrs , $ props ) {
1345+ $ this ->cchunk ["packagesynopsis " ] = $ this ->dchunk ["packagesynopsis " ];
13341346 if ($ open ) {
1335- $ this ->cchunk ["packagesynopsis " ] = true ;
1347+ $ this ->cchunk ["packagesynopsis " ][ " open " ] = true ;
13361348 return '<div class="classsynopsis"><div class="classsynopsisinfo"> ' ;
13371349 }
1338- $ this ->cchunk ["packagesynopsis " ] = false ;
1350+ $ this ->cchunk ["packagesynopsis " ][ " open " ] = false ;
13391351 return '</div> ' ;
13401352 }
13411353
@@ -1346,8 +1358,16 @@ public function format_packagesynopsis_package($open, $name, $attrs, $props) {
13461358 return '</strong>;</div> ' ;
13471359 }
13481360
1361+ public function format_packagesynopsis_package_text ($ value , $ tag ) {
1362+ if (!$ this ->cchunk ["packagesynopsis " ]["namespace " ]) {
1363+ $ this ->cchunk ["packagesynopsis " ]["namespace " ] = $ value ;
1364+ }
1365+
1366+ return $ this ->TEXT ($ value );
1367+ }
1368+
13491369 public function format_enumsynopsis ($ open , $ name , $ attrs , $ props ) {
1350- $ inPackageSynopsis = $ this ->cchunk ["packagesynopsis " ] ?? false ;
1370+ $ inPackageSynopsis = $ this ->cchunk ["packagesynopsis " ][ " open " ] ?? false ;
13511371 if ($ open ) {
13521372 if ($ inPackageSynopsis ) {
13531373 return '<div class="classsynopsisinfo"> ' ;
@@ -2683,4 +2703,14 @@ public function onNewPage(): void
26832703 {
26842704 $ this ->perPageExampleCounter = 0 ;
26852705 }
2706+
2707+ protected function getFqcn () {
2708+ $ fqcn = "" ;
2709+
2710+ if ($ this ->cchunk ["packagesynopsis " ]["namespace " ]) {
2711+ $ fqcn = $ this ->cchunk ["packagesynopsis " ]["namespace " ] . "\\" ;
2712+ }
2713+
2714+ return $ fqcn . $ this ->cchunk ["classsynopsis " ]["classname " ];
2715+ }
26862716}
0 commit comments