@@ -32,6 +32,7 @@ public function handleRequest(AphrontRequest $request) {
32
32
$ move_notice = '' ;
33
33
$ properties = null ;
34
34
$ content = null ;
35
+ $ toc = null ;
35
36
36
37
if (!$ document ) {
37
38
@@ -53,6 +54,7 @@ public function handleRequest(AphrontRequest $request) {
53
54
$ page_title = pht ('Page Not Found ' );
54
55
} else {
55
56
$ version = $ request ->getInt ('v ' );
57
+
56
58
if ($ version ) {
57
59
$ content = id (new PhrictionContent ())->loadOneWhere (
58
60
'documentID = %d AND version = %d ' ,
@@ -74,7 +76,6 @@ public function handleRequest(AphrontRequest $request) {
74
76
$ content = id (new PhrictionContent ())->load ($ document ->getContentID ());
75
77
}
76
78
$ page_title = $ content ->getTitle ();
77
-
78
79
$ properties = $ this
79
80
->buildPropertyListView ($ document , $ content , $ slug );
80
81
@@ -84,6 +85,8 @@ public function handleRequest(AphrontRequest $request) {
84
85
$ current_status == PhrictionChangeType::CHANGE_MOVE_HERE ) {
85
86
86
87
$ core_content = $ content ->renderContent ($ viewer );
88
+ $ toc = $ this ->getToc ($ content );
89
+
87
90
} else if ($ current_status == PhrictionChangeType::CHANGE_DELETE ) {
88
91
$ notice = new PHUIInfoView ();
89
92
$ notice ->setSeverity (PHUIInfoView::SEVERITY_NOTICE );
@@ -102,7 +105,6 @@ public function handleRequest(AphrontRequest $request) {
102
105
$ core_content = $ notice ->render ();
103
106
} else if ($ current_status == PhrictionChangeType::CHANGE_MOVE_AWAY ) {
104
107
$ new_doc_id = $ content ->getChangeRef ();
105
-
106
108
$ slug_uri = null ;
107
109
108
110
// If the new document exists and the viewer can see it, provide a link
@@ -212,11 +214,12 @@ public function handleRequest(AphrontRequest $request) {
212
214
$ prop_list ->addPropertyList ($ properties );
213
215
}
214
216
215
- $ page_content = id (new PHUIDocumentView ())
217
+ $ page_content = id (new PHUIDocumentViewPro ())
216
218
->setHeader ($ header )
219
+ ->setPropertyList ($ prop_list )
220
+ ->setToc ($ toc )
217
221
->appendChild (
218
222
array (
219
- $ prop_list ,
220
223
$ version_note ,
221
224
$ move_notice ,
222
225
$ core_content ,
@@ -230,7 +233,8 @@ public function handleRequest(AphrontRequest $request) {
230
233
),
231
234
array (
232
235
'pageObjects ' => array ($ document ->getPHID ()),
233
- 'title ' => $ page_title ,
236
+ 'title ' => $ page_title ,
237
+ 'class ' => 'pro-white-background ' ,
234
238
));
235
239
236
240
}
@@ -278,20 +282,23 @@ private function buildActionView(
278
282
$ action_view ->addAction (
279
283
id (new PhabricatorActionView ())
280
284
->setName (pht ('Edit Document ' ))
285
+ ->setDisabled (!$ can_edit )
281
286
->setIcon ('fa-pencil ' )
282
287
->setHref ('/phriction/edit/ ' .$ document ->getID ().'/ ' ));
283
288
284
289
if ($ document ->getStatus () == PhrictionDocumentStatus::STATUS_EXISTS ) {
285
290
$ action_view ->addAction (
286
291
id (new PhabricatorActionView ())
287
292
->setName (pht ('Move Document ' ))
293
+ ->setDisabled (!$ can_edit )
288
294
->setIcon ('fa-arrows ' )
289
295
->setHref ('/phriction/move/ ' .$ document ->getID ().'/ ' )
290
296
->setWorkflow (true ));
291
297
292
298
$ action_view ->addAction (
293
299
id (new PhabricatorActionView ())
294
300
->setName (pht ('Delete Document ' ))
301
+ ->setDisabled (!$ can_edit )
295
302
->setIcon ('fa-times ' )
296
303
->setHref ('/phriction/delete/ ' .$ document ->getID ().'/ ' )
297
304
->setWorkflow (true ));
@@ -431,7 +438,7 @@ private function renderDocumentChildren($slug) {
431
438
),
432
439
$ list )));
433
440
434
- return phutil_tag_div ('phui-document-box ' , $ box );
441
+ return phutil_tag_div ('phui-document-view-pro- box ' , $ box );
435
442
}
436
443
437
444
private function renderChildDocumentLink (array $ info ) {
@@ -454,4 +461,17 @@ protected function getDocumentSlug() {
454
461
return $ this ->slug ;
455
462
}
456
463
464
+ protected function getToc (PhrictionContent $ content ) {
465
+ $ toc = $ content ->getRenderedTableOfContents ();
466
+ if ($ toc ) {
467
+ $ toc = phutil_tag_div ('phui-document-toc-content ' , array (
468
+ phutil_tag_div (
469
+ 'phui-document-toc-header ' ,
470
+ pht ('Contents ' )),
471
+ $ toc ,
472
+ ));
473
+ }
474
+ return $ toc ;
475
+ }
476
+
457
477
}
0 commit comments