<?php /** * @package PublishPress Authors * @author PublishPress * * Copyright (C) 2021 PublishPress * * This file is part of PublishPress Authors * * PublishPress Authors is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * PublishPress is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with PublishPress. If not, see <http://www.gnu.org/licenses/>. */ use PublishPress\WordPressReviews\ReviewsController; use MultipleAuthors\Classes\Legacy\Module; use MultipleAuthors\Classes\Legacy\Util; use MultipleAuthors\Factory; if (! defined('ABSPATH')) { exit; } /** * Class PP_Reviews * * This class adds a review request system for your plugin or theme to the WP dashboard. */ class MA_Reviews extends Module { /** * Tracking API Endpoint. * * @var string */ public static $api_url = ''; public $module_name = 'reviews'; public $module_url = ''; /** * Instance for the module * * @var stdClass */ public $module; /** * @var ReviewsController */ private $reviewController; /** * The constructor */ public function __construct() { global $publishpress; $this->module_url = $this->get_module_url(__FILE__); // Register the module with PublishPress $args = [ 'title' => __('Reviews', 'publishpress-authors'), 'short_description' => false, 'extended_description' => false, 'module_url' => $this->module_url, 'icon_class' => 'dashicons dashicons-feedback', 'slug' => 'reviews', 'default_options' => [ 'enabled' => 'on', ], 'general_options' => false, 'autoload' => true, ]; // Apply a filter to the default options $args['default_options'] = apply_filters( 'ppma_reviews_default_options', $args['default_options'] ); $legacyPlugin = Factory::getLegacyPlugin(); $this->module = $legacyPlugin->register_module($this->module_name, $args); parent::__construct(); $this->reviewController = new ReviewsController( 'publishpress-authors', 'PublishPress Authors', PP_AUTHORS_ASSETS_URL . '/img/publishpress-authors-wp-logo.png' ); } /** * */ public function init() { $this->reviewController->init(); } }