/home/smartbloks/www/help.smartbloks.ai/wp-content/themes/docly/inc/classes/Docly_Forum_Class.php
<?php
/**
* Docly theme helper functions and resources
*/
if ( !class_exists( 'Docly_Forum_Class' ) ) {
class Docly_Forum_Class {
/**
* Hold an instance of Docly_Forum_Class class.
* @var Docly_Forum_Class
*/
protected static $instance = null;
/**
* Main Docly_Forum_Class instance.
* @return Docly_Forum_Class - Main instance.
*/
public static function instance() {
if ( null == self::$instance ) {
self::$instance = new Docly_Forum_Class();
}
return self::$instance;
}
/**
* Adds a reference of this object to $instance, populates default strings,
* @see __construct
*/
public function __construct() {
}
/**
* Authors Name
*
* @return string
*/
public static function forum_topics_authors() {
global $wpdb;
$d_users = [];
$doclyusers = get_users();
if ( $doclyusers ) {
foreach ( $doclyusers as $doclyuser ) {
$post_count = count_user_posts( $doclyuser->ID, 'topic' );
$d_users[$doclyuser->ID] = $post_count;
}
arsort( $d_users );
$i = 0;
foreach ( $d_users as $key => $value ) {
$i++;
$user = get_userdata( $key );
$parent_id = get_queried_object_id();
//$users_post_count = count_user_posts( $user->ID, 'topic' );
$users_post_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '" . $user->ID . "' AND post_type = 'topic' AND post_status = 'publish' AND post_parent = '" . $parent_id . "' " );
$author_posts_url = get_author_posts_url( $key );
$post_count = $users_post_count;
if ( $post_count > 0 ) {
echo '<div class="userlist">';
echo '<a class="dropdown-item current-user docly-data data-auth" data-nonce="' . wp_create_nonce( 'docly-nonce' ) . '" data-rel="' . $user->display_name . '" data-type="author" data-count="' . $post_count . '" data-parent="' . get_queried_object_id() . '" data-id="' . intval( $user->ID ) . '" href="#' . $user->display_name . '">
<img src="' . get_avatar_url( $user->ID ) . '" alt="' . $user->display_name . '">' . $user->display_name . '<span class="count">' . $post_count . '</span>
</a>';
echo '</div>';
}
}
}
}
/**
* Tag Name
*
* @return string
*/
public static function forum_topics_tags() {
$args = [
'post_type' => 'topic',
'post_parent' => get_queried_object_id(),
'post_status' => 'publish',
'order' => 'ASC',
'orderby' => 'ID',
'posts_per_page' => -1,
];
$doclytags = new WP_Query( $args );
if ( $doclytags->have_posts() ):
$i=1;
while ( $doclytags->have_posts() ): $doclytags->the_post();
global $post;
$get_tags = get_the_terms( get_the_ID(), 'topic-tag' );
if ( $get_tags ) {
foreach ( $get_tags as $tag ) {
$post_count = $tag->count;
echo '<div class="tagList" id="'.$tag->slug.'">';
echo '<a class="dropdown-item docly-data data-tag" data-parent="'.get_queried_object_id().'" data-nonce="'.wp_create_nonce('docly-nonce').'" data-rel="'.$tag->slug.'" data-type="tag" data-count="' . $post_count . '" data-id="' . intval( $tag->term_id ) . '" href="#' . esc_attr( $tag->slug ) . '"><span class="color-purple"></span>' . $tag->name . '</a>';
echo '</div>';
}
}
$i++;
endwhile;
endif;
}
/**
* Tag Name
*
* @return string
*/
public static function forum_topics_open_close() {
$is_queried_obj = is_singular('forum') ? get_queried_object_id() : false;
$user_id = is_singular('forum') ? false : bbp_get_displayed_user_field('ID');
$op = [
'post_type' => 'topic',
'post_parent' => $is_queried_obj,
'post_status' => 'publish',
'author' => $user_id
];
$cl = [
'post_type' => 'topic',
'post_parent' => $is_queried_obj,
'post_status' => 'closed',
'author' => $user_id
];
$open = new WP_Query( $op );
$closed = new WP_Query( $cl );
?>
<div class="support-info">
<?php
if ( in_array('bbp-user-page', get_body_class()) ) :
?>
<ul class="support-total-info">
<li class="open-ticket">
<?php esc_html_e( 'TOPIC', 'docly' ); ?>
</li>
</ul>
<ul class="category-menu">
<li> <?php esc_html_e( 'Comments', 'docly' ); ?> </li>
<li> <?php esc_html_e( 'Favorites', 'docly' ); ?> </li>
</ul>
<?php
else :
?>
<ul class="support-total-info">
<li class="open-ticket">
<i class="icon_info_alt"></i>
<a href="#open" class="loading open-data" data-nonce="<?php echo wp_create_nonce( 'docly-nonce' );?>" data-type="open" data-userid="<?php echo esc_attr($user_id) ?>" data-parent="<?php echo esc_attr($is_queried_obj); ?>">
<?php echo esc_html($open->found_posts) . esc_html__( ' Open', 'docly' ); ?>
</a>
</li>
<li class="close-ticket">
<i class="icon_check"></i>
<a href="#closed" class="open-data" data-nonce="<?php echo wp_create_nonce( 'docly-nonce' );?>" data-type="closed" data-parent="<?php echo esc_attr($is_queried_obj); ?>" data-userid="<?php echo esc_attr($user_id) ?>">
<?php echo esc_html($closed->found_posts) . esc_html__( ' Closed', 'docly' ); ?>
</a>
</li>
<li class="close-ticket reset-btn reset-none">
<i class="icon_refresh"></i>
<a href="#open" class="open-data" data-nonce="<?php echo wp_create_nonce( 'docly-nonce' );?>" data-type="open" data-parent="<?php echo esc_attr($is_queried_obj); ?>" data-userid="<?php echo esc_attr($user_id) ?>">
<?php esc_html_e( 'Reset', 'docly' ); ?>
</a>
</li>
</ul>
<?php
endif;
?>
</div>
<?php
}
}
}
/**
* Instance of Docly_Forum_Class class
*/
function Docly_Forum() {
return Docly_Forum_Class::instance();
}