PluginProbe
wpForo Forum / 3.0.8
wpForo Forum v3.0.8
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 / bookmarks / classes / Template.php

Template.php in wpForo Forum 3.0.8, at modules/bookmarks/classes/Template.php

63 lines 1.5 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\bookmarks\classes;
4
5 class Template {
6 public function __construct() {
7 $this->init_hooks();
8 }
9
10 private function init_hooks( ) {
11 add_filter( 'wpforo_template_buttons',
12 function( $html, $button, $forum, $topic, $post ){
13 if( $button === 'bookmark' ){
14 $post['forumid'] = (int) wpfval( $forum, 'forumid' );
15 $html .= $this->button( $post );
16 }
17
18 return $html;
19 },
20 10, 5
21 );
22 }
23
24 /**
25 * @param array $post
26 *
27 * @return string
28 */
29 public function button( $post ) {
30 if(
31 ( $postid = wpforo_bigintval( wpfval( $post, 'postid' ) ) )
32 && ( $forumid = wpforo_bigintval( wpfval( $post, 'forumid' ) ) )
33 && WPF()->perm->forum_can( 'l', $forumid )
34 ) {
35 $is_bookmarked = WPF()->bookmark->is_user_bookmarked_this( $postid );
36 return $this->_button( ! $is_bookmarked );
37 }
38
39 return '';
40 }
41
42 /**
43 * @param bool $status
44 *
45 * @return string
46 */
47 public function _button( $status, $onlyicon = true ) {
48 return sprintf(
49 '<span class="wpf-action %1$s" wpf-tooltip="%2$s">%3$s %4$s</span>',
50 ( $status ? 'wpforo-bookmark' : 'wpforo-unbookmark' ),
51 ( $status ? wpforo_phrase( 'Bookmark', false ) : wpforo_phrase( 'Unbookmark', false ) ),
52 ( $status ? '<i class="fa-regular fa-bookmark wpfsx"></i>' : '<i class="fa-solid fa-bookmark wpfsx"></i>' ),
53 (
54 ! $onlyicon ?
55 sprintf(
56 '<span class="wpf-action-txt">%1$s</span>',
57 ( $status ? wpforo_phrase( 'Bookmark', false ) : wpforo_phrase( 'Unbookmark', false ) )
58 ) : ''
59 )
60 );
61 }
62 }
63