1616$ stopwatch = new Stopwatch ();
1717$ stopwatch ->Start ();
1818
19- $ layerSuffix = ContentsDatabaseManager::GetLayerSuffix ($ vars ['layerName ' ]);
19+ if (isset ($ _GET ['layer ' ])){
20+ $ vars ['layerName ' ] = $ _GET ['layer ' ];
21+ }
2022
23+ $ layerSuffix = ContentsDatabaseManager::GetLayerSuffix ($ vars ['layerName ' ]);
2124$ vars ['rootContentPath ' ] = $ vars ['contentsFolder ' ] . '/ ' . ROOT_FILE_NAME . $ layerSuffix ;
2225$ vars ['rootDirectory ' ] = substr (GetTopDirectory ($ vars ['rootContentPath ' ]), 1 );
26+ $ metaFileName = ContentsDatabaseManager::GetRelatedMetaFileName ($ vars ['rootContentPath ' ]);
27+
28+ if (!file_exists (Content::RealPath ($ vars ['rootContentPath ' ], '' , false )) &&
29+ !file_exists (Content::RealPath ($ metaFileName , '' , false ))){
30+ // Rootコンテンツ, メタファイルがないとき
31+ // 存在しないlayer名を見ている
32+
33+ $ vars ['errorMessage ' ] = Localization \Localize ('invalidParameter ' , 'Invalid Parameter. ' );
34+ require (FRONTEND_DIR . '/400.php ' );
35+ exit ();
36+ }
2337
2438ContentsDatabaseManager::LoadRelatedMetadata ($ vars ['rootContentPath ' ]);
25- $ metaFileName = ContentsDatabaseManager:: GetRelatedMetaFileName ( $ vars ['rootContentPath ' ]);
39+ setcookie ( ' layer ' , $ vars ['layerName ' ], time ()+( 60 * 60 * 24 * 30 * 6 ), ' / ' ); // 有効時間 6カ月
2640
2741$ tag2path = array_key_exists ('tag2path ' , ContentsDatabase::$ metadata ) ? ContentsDatabase::$ metadata ['tag2path ' ] : [];
2842$ path2tag = array_key_exists ('path2tag ' , ContentsDatabase::$ metadata ) ? ContentsDatabase::$ metadata ['path2tag ' ] : [];
6377}
6478
6579
66- $ relocatedURL = CreateTagMapHREF ([[]] , $ vars ['rootDirectory ' ]);
80+ $ relocatedURL = CreateTagMapHREF ([] , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ]);
6781$ notFound = false ;
6882foreach ($ tagPathParts as $ part ){
6983 foreach ($ part as $ j => $ tag ){
8498
8599// ここまでで, 各タグ名はtag2path内にあることが保証されている
86100
101+ $ vars ['canonialUrl ' ] = (empty ($ _SERVER ["HTTPS " ]) ? "http:// " : "https:// " ) .
102+ $ _SERVER ["HTTP_HOST " ] . $ vars ['subURI ' ] . '?layer= ' . $ vars ['layerName ' ];
103+
87104$ vars ['pageTitle ' ] = '' ;
88105$ vars ['pageHeading ' ]['title ' ] = '' ;
89106$ vars ['pageHeading ' ]['parents ' ] = [];
113130 unset($ workTagPathParts [$ i + 1 ]);
114131 $ vars ['pageHeading ' ]['parents ' ][] = [
115132 'title ' => implode (', ' , $ tagPathParts [$ i ]),
116- 'path ' => CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ])];
133+ 'path ' => CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ], $ vars ['layerName ' ])
134+ ];
117135 }
118136 $ vars ['pageHeading ' ]['parents ' ][] = [
119137 'title ' => Localization \Localize ('tagmap ' , 'TagMap ' ),
120- 'path ' => CreateTagMapHREF ([[]], $ vars ['rootDirectory ' ])];
138+ 'path ' => CreateTagMapHREF ([], $ vars ['rootDirectory ' ], $ vars ['layerName ' ])
139+ ];
121140 // Debug::Log($tagPathParts);
122141 // Debug::Log($workTagPathParts);
123142}
126145if (count ($ tagPathParts ) <= 0 ){
127146 // タグマップを表示して, 終了する.
128147 $ vars ['contentSummary ' ] = '<div style="margin-top: 1em; margin-botton: 1em;"> ' .
129- CreateTagListElement ($ tag2path , $ vars ['rootDirectory ' ]) .
148+ CreateTagListElement ($ tag2path , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ] ) .
130149 '</div> ' ;
131- $ vars ['navigator ' ] = CreateNavi ([], $ tag2path , $ path2tag , $ vars ['rootDirectory ' ]);
150+ $ vars ['navigator ' ] = CreateNavi ([], $ tag2path , $ path2tag , $ vars ['rootDirectory ' ], $ vars ['layerName ' ]);
151+
152+ // ビルド時間計測 終了
153+ $ stopwatch ->Stop ();
154+ $ vars ['pageBuildReport ' ]['times ' ]['build ' ]['ms ' ] = $ stopwatch ->Elapsed () * 1000 ;
155+
132156 require (FRONTEND_DIR . '/viewer.php ' );
133157 exit ();
134158}
135159
136160// ここから先は, 何らかのタグが指定されている
137161// * $tagPathParts の要素数は 0 より大きい
138162
163+
139164/**
140165 * [
141166 * [
292317 array_splice ($ workTags , $ i , 1 );
293318 $ workTagPathParts [count ($ workTagPathParts ) - 1 ] = $ workTags ;
294319 $ body .= '<li><a href=" ' .
295- CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ]) .
320+ CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ] ) .
296321 '"> ' . $ tag . '<span> ' . count ($ excludedTags [$ tag ]) . '</span></a></li> ' ;
297322}
298323$ body .= '</ul> ' ;
306331 $ workTagPathParts [count ($ workTagPathParts ) - 1 ][] = $ tag ;
307332 // Debug::Log($workTagPathParts);
308333 $ body .= '<li><a href=" ' .
309- CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ]) .
334+ CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ] ) .
310335 '"> ' . $ tag . '<span> ' . count ($ pathList ) . '</span></a></li> ' ;
311336 }
312337 $ body .= '</ul> ' ;
320345 $ workTagPathParts [count ($ workTagPathParts ) - 1 ][] = $ tag ;
321346 // Debug::Log($workTagPathParts);
322347 $ body .= '<li><a href=" ' .
323- CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ]) .
348+ CreateTagMapHREF ($ workTagPathParts , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ] ) .
324349 '"> ' . $ tag . '<span> ' . count ($ pathList ) . '</span></a></li> ' ;
325350}
326351$ body .= '</ul> ' ;
330355
331356if (count ($ childTags ) > 0 ){
332357 $ body .= '<div><h3>> ' . Localization \Localize ('tag-viewer.narrowDown ' , 'Narrow Down ' ) . '</h3><div style="margin-left: 16px;"> ' ;
333- $ body .= CreateTagListElement ($ childTags , $ vars ['rootDirectory ' ], $ tagPathParts );
358+ $ body .= CreateTagListElement ($ childTags , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ], $ tagPathParts );
334359 $ body .= '</div></div> ' ;
335360}
336361
350375
351376
352377// navigator 設定
353- $ vars ['navigator ' ] = CreateNavi ($ eachSelectedTaggedPaths , $ tag2path , $ path2tag , $ vars ['rootDirectory ' ]);;
378+ $ vars ['navigator ' ] = CreateNavi ($ eachSelectedTaggedPaths , $ tag2path , $ path2tag , $ vars ['rootDirectory ' ], $ vars [ ' layerName ' ] );;
354379
355380
356381// ビルド時間計測 終了
@@ -395,7 +420,7 @@ function GetUnionTags($paths, $path2tag){
395420 * ], ...
396421 * ]
397422 */
398- function CreateNavi ($ eachSelectedTaggedPaths , $ tag2path , $ path2tag , $ rootDirectory ){
423+ function CreateNavi ($ eachSelectedTaggedPaths , $ tag2path , $ path2tag , $ rootDirectory, $ layerName ){
399424 $ navi = '<nav class="navi"><ul> ' ;
400425
401426 $ tagStack = array_reverse (array_keys ($ tag2path ));
@@ -425,7 +450,7 @@ function CreateNavi($eachSelectedTaggedPaths, $tag2path, $path2tag, $rootDirecto
425450 $ alreadyCrawlIntoChildrenStack [] = true ;
426451 $ currentPathParts [] = $ currentTaggedPaths ['selectors ' ];
427452 $ navi .= '<li><a href=" ' .
428- CreateTagMapHREF ($ currentPathParts , $ rootDirectory ) .
453+ CreateTagMapHREF ($ currentPathParts , $ rootDirectory, $ layerName ) .
429454 '" class="selected"> ' . implode (', ' , $ currentTaggedPaths ['selectors ' ]) .
430455 '</a></li><ul> ' ;
431456 $ unionTags = GetUnionTags ($ currentTaggedPaths ['selected ' ], $ path2tag );
@@ -447,7 +472,7 @@ function CreateNavi($eachSelectedTaggedPaths, $tag2path, $path2tag, $rootDirecto
447472 }
448473 }
449474 $ navi .= '<li><a href=" ' .
450- CreateTagMapHREF (array_merge ($ currentPathParts , [[$ poppedTag ]]), $ rootDirectory ) .
475+ CreateTagMapHREF (array_merge ($ currentPathParts , [[$ poppedTag ]]), $ rootDirectory, $ layerName ) .
451476 '"> ' . $ poppedTag .
452477 '</a></li> ' ;
453478 }
0 commit comments