AlkantarClanX12
Current Path : /home/thanudqk/128shen.com/wp-content/plugins/embedpress/EmbedPress/Plugins/ |
Current File : /home/thanudqk/128shen.com/wp-content/plugins/embedpress/EmbedPress/Plugins/Plugin.php |
<?php namespace EmbedPress\Plugins; (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed."); /** * Entity that represents a model to EmbedPress plugins. * * @package EmbedPress * @author EmbedPress <help@embedpress.com> * @copyright Copyright (C) 2023 WPDeveloper. All rights reserved. * @license GPLv3 or later * @since 1.4.0 * @abstract */ abstract class Plugin { const VERSION = '0.0.0'; /** * Method that register all EmbedPress events. * * @since 1.4.0 * @static * * @return void */ public static function registerEvents() { // do nothing } /** * Method that checks if EmbedPress is active or not. * * @since 1.4.0 * @access protected * @static * * @return boolean */ protected static function isEmbedPressActive() { return is_plugin_active(EMBEDPRESS_PLG_NAME . '/' . EMBEDPRESS_PLG_NAME . '.php'); } /** * Retrieve an error message based on its code. * * @since 1.4.0 * @access protected * @static * * @param string $err The error code. * * @return string */ protected static function getErrorMessage($err = '') { if ($err === 'ERR_MISSING_DEPENDENCY') { return __('Please, <strong>install</strong> and <strong>activate <a href="https://wordpress.org/plugins/' . EMBEDPRESS_PLG_NAME . '" target="_blank" rel="noopener noreferrer">' . EMBEDPRESS . '</a></strong> plugin in order to make <em>' . EMBEDPRESS . ' - ' . static::NAME . '</em> to work.'); } return $err; } /** * Callback triggered by WordPress' 'admin_init' default action. * * @since 1.4.0 * @static * * @return void */ public static function onLoadAdminCallback() { $pluginSignature = EMBEDPRESS_PLG_NAME . '-' . static::SLUG . '/' . EMBEDPRESS_PLG_NAME . '-' . static::SLUG . '.php'; if (is_admin() && ! self::isEmbedPressActive() && is_plugin_active($pluginSignature)) { deactivate_plugins($pluginSignature); } } /** * Callback triggered by WordPress' 'register_activation_hook' function. * @return bool *@since 1.4.0 * @static */ public static function onActivationCallback() { return true; } /** * Callback triggered by WordPress' 'register_deactivation_hook' function. * * @since 1.4.0 * @static * * @return void */ public static function onDeactivationCallback() { delete_option(EMBEDPRESS_PLG_NAME . ':' . static::SLUG); } /** * Retrieve user defined options. * * @since 1.4.0 * @static * * @return array */ public static function getOptions() { $options = (array)get_option(EMBEDPRESS_PLG_NAME . ':' . static::SLUG); if (empty($options) || (count($options) === 1 && empty($options[0]))) { $options = []; $schema = static::getOptionsSchema(); foreach ($schema as $fieldSlug => $field) { $value = isset($field['default']) ? $field['default'] : ""; settype($value, isset($field['type']) && in_array(strtolower($field['type']), ['bool', 'boolean', 'int', 'integer', 'float', 'string']) ? $field['type'] : 'string'); if ($fieldSlug === "license_key") { $options['license'] = [ 'key' => true, 'status' => "missing", ]; } else { $options[$fieldSlug] = $value; } } } $options['license'] = [ 'key' => true, 'status' => "missing", ]; return $options; } /** * Handle links displayed below the plugin name in the WordPress Installed Plugins page. * * @since 1.4.0 * @static * * @return array */ public static function handleActionLinks($links, $file) { $settingsLink = '<a href="' . admin_url('admin.php?page=' . EMBEDPRESS_PLG_NAME . '&page_type=' . static::SLUG) . '" aria-label="' . __('Open settings page', 'embedpress') . '">' . __('Settings', 'embedpress') . '</a>'; array_unshift($links, $settingsLink); if ( !apply_filters('embedpress/is_allow_rander', false) ) { $links[] = '<a href="https://wpdeveloper.com/in/upgrade-embedpress" target="_blank" class="embedpress-go-pro-action" style="color: green">'.__('Go Pro', 'embedpress').'</a>'; } return $links; } }