PluginProbe
wpForo Forum / 3.1.2
wpForo Forum v3.1.2
3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.2 All 137 releases
wpforo / modules / revisions / classes / Template.php

Template.php in wpForo Forum 3.1.2, at modules/revisions/classes/Template.php

108 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace wpforo\modules\revisions\classes;
4
5 class Template {
6 public function __construct() {
7 $this->init_hooks();
8 }
9
10 private function init_hooks() {
11 if( wpforo_setting( 'posting', 'is_preview_on' )
12 || wpforo_setting( 'posting', 'is_draft_on' )
13 ) {
14 add_action( 'wpforo_editor_topic_submit_after', [ $this, 'show_html_into_form' ] );
15 add_action( 'wpforo_editor_post_submit_after', [ $this, 'show_html_into_form' ] );
16 add_action( 'wpforo_portable_editor_post_submit_after', [ $this, 'show_html_into_form' ] );
17 }
18 }
19
20 private function build_wrap_inner_html( $revisions_count = null ) {
21 $buttons = '';
22 if( wpforo_setting( 'posting', 'is_preview_on' ) ) {
23 $buttons .= sprintf( '<span class="wpforo-revision-action-button wpforo_post_preview wpf-disabled"> <i class="fas fa-eye wpf-rev-preview-ico"></i> %1$s </span>', wpforo_phrase( 'Preview', false ) );
24 }
25 if( wpforo_setting( 'posting', 'is_draft_on' ) ) {
26 $revisions_count = intval( $revisions_count );
27 $buttons .= sprintf( '<span class="wpforo-revision-action-button wpforo_revisions_history"><i class="fas fa-history wpf-rev-ico"></i> %1$s </span>', sprintf( wpforo_phrase( '%1$s Revisions', false ), '<span class="wpf-rev-history-count">' . $revisions_count . '</span>' ) ) . sprintf(
28 '<span class="wpforo-revision-action-button wpforo_save_revision" style="display: none;"><i class="fas fa-save wpf-rev-save-ico"></i> %1$s </span>',
29 wpforo_phrase( 'Save Draft', false )
30 ) . sprintf( '<span class="wpforo-revision-action-button wpforo_revision_saved wpf-disabled"><i class="fas fa-check wpf-rev-saved-ico"></i> %1$s </span>', wpforo_phrase( 'Saved', false ) );
31 }
32
33 return sprintf( '<div class="wpforo-revisions-action-buttons">%1$s</div><div class="wpforo-revisions-preview-wrap"></div>', $buttons );
34 }
35
36
37 private function show_wrap_inner_html( $revisions_count = null ) {
38 echo $this->build_wrap_inner_html( $revisions_count );
39 }
40
41 public function show_html_into_form() {
42 if( wpforo_setting( 'posting', 'is_draft_on' ) ) {
43 $args = [
44 // 'textareaids_include' => (string) wpfval( $_POST, 'textareaid' ),
45 'postids_include' => wpforo_bigintval( wpfval( $_POST, 'postid' ) ),
46 'userids_include' => WPF()->current_userid,
47 'emails_include' => WPF()->current_user_email,
48 'urls_include' => WPF()->revision->get_current_url_query_vars_str(),
49 ];
50 $revisions_count = wpforo_ram_get( [ WPF()->revision, 'get_count' ], $args );
51 } else {
52 $revisions_count = null;
53 }
54
55 ?>
56 <div class="wpf-clear"></div>
57 <div class="wpforo-revisions-wrap"><?php $this->show_wrap_inner_html( $revisions_count ); ?></div>
58 <?php
59 }
60
61 public function build_preview( $revision ) {
62 return sprintf(
63 '<div class="wpforo-revision" data-revisionid="%1$d" data-created="%2$d">
64 <div class="wpforo-revision-top">
65 <div class="wpforo-revision-created"><i class="fas fa-eye wpf-rev-ico"></i> %3$s</div>
66 </div>
67 <div class="wpforo-revision-body">%4$s</div>
68 </div>',
69 $revision['revisionid'],
70 $revision['created'],
71 wpforo_phrase( 'Preview', false ),
72 wpforo_content( $revision, false )
73 );
74 }
75
76 public function show_preview( $revision ) {
77 echo $this->build_preview( $revision );
78 }
79
80 public function build_revision( $revision ) {
81 return sprintf(
82 '
83 <div class="wpforo-revision" data-revisionid="%1$d" data-created="%2$s">
84 <div class="wpforo-revision-top">
85 <div class="wpforo-revision-created"><i class="fas fa-clock wpf-rev-ico"></i> %3$s %4$s</div>
86 <div class="wpforo-revision-actions">
87 <span class="wpforo-revision-action-restore" style="cursor: pointer;"><i class="fas fa-history wpf-rev-ico"></i> %5$s</span>
88 &nbsp;|&nbsp;
89 <span class="wpforo-revision-action-delete" style="cursor: pointer;"><i class="fas fa-trash wpf-rev-ico"></i> %6$s</span>
90 </div>
91 </div>
92 <div class="wpforo-revision-body">%7$s</div>
93 </div>',
94 $revision['revisionid'],
95 $revision['created'],
96 wpforo_phrase( 'Revision', false ),
97 wpforo_date( $revision['created'], 'ago', false ),
98 wpforo_phrase( 'Restore', false ),
99 wpforo_phrase( 'Delete', false ),
100 wpforo_content( $revision, false )
101 );
102 }
103
104 public function show_revision( $revision ) {
105 echo $this->build_revision( $revision );
106 }
107 }
108