HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.34
System: Linux atalantini.com 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64
User: root (0)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: //opt/plugins/comments-like-dislike/inc/classes/cld-hook.php
<?php

if ( !class_exists( 'CLD_Comments_Hooks' ) ) {

    class CLD_Comments_Hooks extends CLD_Library {

        function __construct() {
            parent::__construct();
            add_filter( 'comment_text', array( $this, 'comments_like_dislike' ), 200, 2 ); // hook to add html for like dislike
            add_action( 'cld_like_dislike_output', array( $this, 'generate_like_dislike_html' ), 10, 2 );
            add_action( 'wp_head', array( $this, 'custom_styles' ) );
        }

        function comments_like_dislike( $comment_text, $comment = null ) {

            /**
             * Don't append like dislike when links are being checked
             * 
             * @1.0.6
             */
            if ( isset( $_REQUEST['comment'] ) ) {
                return $comment_text;
            }
            /**
             * Don't implement on admin section
             *
             * @since 1.0.2
             */
            if ( is_admin() ) {
                return $comment_text;
            }
            ob_start();

            /**
             * Fires while generating the like dislike html
             *
             * @param type string $comment_text
             * @param type array $comment
             *
             * @since 1.0.0
             */
            do_action( 'cld_like_dislike_output', $comment_text, $comment );

            $like_dislike_html = ob_get_contents();
            ob_end_clean();
            $cld_settings = $this->cld_settings;
            if ( $cld_settings['basic_settings']['like_dislike_position'] == 'after' ) {
                /**
                 * Filters Like Dislike HTML
                 *
                 * @param string $like_dislike_html
                 * @param array $cld_settings
                 *
                 * @since 1.0.0
                 */
                $comment_text .= apply_filters( 'cld_like_dislike_html', $like_dislike_html, $cld_settings );
            } else {
                $comment_text = apply_filters( 'cld_like_dislike_html', $like_dislike_html, $cld_settings ) . $comment_text;
            }
            return $comment_text;
        }

        function generate_like_dislike_html( $comment_text, $comment ) {
            include(CLD_PATH . '/inc/views/frontend/like-dislike-html.php');
        }

        function custom_styles() {
            $cld_settings = $this->cld_settings;
            echo "<style>";
            if ( $cld_settings['design_settings']['icon_color'] != '' ) {
                echo 'a.cld-like-dislike-trigger {color: ' . esc_attr( $cld_settings['design_settings']['icon_color'] ) . ';}';
            }
            if ( $cld_settings['design_settings']['count_color'] != '' ) {
                echo 'span.cld-count-wrap {color: ' . esc_attr( $cld_settings['design_settings']['count_color'] ) . ';}';
            }
            echo "</style>";
        }

    }

    new CLD_Comments_Hooks();
}