Current Path : /storage/v11800/ls-narendraram/public_html/wp-content/plugins/romethemeform/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/ls-narendraram/public_html/wp-content/plugins/romethemeform/rometheme-form.php |
<?php
/**
* Plugin Name: RomethemeForm
* Description: The Advanced Form Builder for Elementor
* Version: 1.1.7
* Author: Rometheme
* Author URI: https://rometheme.net/
* License : GPLv3
*
*/
define('ROMETHEMEFORM_PLUGIN_DIR', plugin_dir_path(__FILE__));
/**
* Define RomeThemeForm
*/
class RomeThemeForm
{
function __construct()
{
require_once self::plugin_dir() . 'libs/notice/notice.php';
add_action('admin_menu', [$this, 'romethemeform_add_menu']);
add_action('plugins_loaded', [$this, 'init'], 100);
}
public function isCompatible()
{
if (!did_action('elementor/loaded')) {
add_action('admin_head', array($this, 'missing_elementor'));
return false;
}
return true;
}
public function init()
{
if ($this->isCompatible()) {
require_once self::plugin_dir() . '/plugin.php';
\RomethemeFormPlugin\Plugin::register_autoloader();
\RomethemeFormPlugin\Plugin::load_romethemeform_form();
add_action('admin_enqueue_scripts', [$this, 'register_style']);
add_action('elementor/widgets/register', [\RomethemeFormPlugin\Plugin::class, 'register_widget']);
add_action('elementor/elements/categories_registered', [\RomethemeFormPlugin\Plugin::class, 'add_elementor_widget_categories']);
add_action('wp_enqueue_scripts', [\RomethemeFormPlugin\Plugin::class, 'register_widget_styles']);
add_action('elementor/frontend/after_register_scripts', [\RomethemeFormPlugin\Plugin::class, 'register_widget_scripts']);
add_action('elementor/editor/before_enqueue_styles', [\RomethemeFormPlugin\Plugin::class, 'register_widget_styles']);
add_action('elementor/editor/before_register_scripts', [\RomethemeFormPlugin\Plugin::class, 'register_widget_scripts']);
add_action('elementor/editor/before_enqueue_scripts', [\RomethemeFormPlugin\Plugin::class, 'register_widget_scripts']);
add_action('elementor/controls/register', [\RomethemeFormPlugin\Plugin::class, 'add_controls']);
add_action('wp_ajax_remove_notice', [$this, 'remove_notice']);
add_action('rform_notices', [$this, 'rform_notice']);
do_action('rform_notices');
add_action('elementor/editor/before_enqueue_styles' , [RomethemeFormPlugin\Plugin::class , 'enqueue_frontend']);
}
}
/**
* Minimum Elementor Version
*
* @since 1.0.0
* @var string Minimum Elementor version required to run the plugin.
*/
static function min_el_version()
{
return '3.0.0';
}
/**
* Romethemeform Version
*
* @since 1.0.0
* @var string Romethemeform Version
*/
static function rform_version(){
return '1.1.7';
}
/**
* Plugin file
*
* @since 1.0.0
* @var string plugins's root file.
*/
static function plugin_file()
{
return __FILE__;
}
/**
* Plugin url
*
* @since 1.0.0
* @var string plugins's root url.
*/
static function plugin_url()
{
return trailingslashit(plugin_dir_url(__FILE__));
}
/**
* Plugin dir
*
* @since 1.0.0
* @var string plugins's root directory.
*/
static function plugin_dir()
{
return trailingslashit(plugin_dir_path(__FILE__));
}
/**
* Plugin's module directory.
*
* @since 1.0.0
* @var string module's root directory.
*/
static function module_dir()
{
return self::plugin_dir() . 'modules/';
}
/**
* Plugin's module url.
*
* @since 1.0.0
* @var string module's root url.
*/
static function module_url()
{
return self::plugin_url() . 'modules/';
}
/**
* Plugin's Widget directory.
*
* @since 1.0.0
* @var string widget's root directory.
*/
static function widget_dir()
{
return self::plugin_dir() . 'widgets/';
}
/**
* Plugin's widget url.
*
* @since 1.0.0
* @var string widget's root url.
*/
static function widget_url()
{
return self::plugin_url() . 'widgets/';
}
/**
* Plugin's controls dir.
*
* @since 1.0.0
* @var string control's root dir.
*/
static function controls_dir()
{
return self::plugin_dir() . 'controls/';
}
/**
* Plugin's controls url.
*
* @since 1.0.0
* @var string control's root url.
*/
static function controls_url()
{
return self::plugin_url() . 'controls/';
}
public function missing_elementor()
{
$btn = array(
'default_class' => 'button',
'class' => 'button-primary ', // button-primary button-secondary button-small button-large button-link
);
if (file_exists(WP_PLUGIN_DIR . '/elementor/elementor.php')) {
$btn['text'] = esc_html__('Activate Elementor', 'romethemeform');
$btn['url'] = wp_nonce_url('plugins.php?action=activate&plugin=elementor/elementor.php&plugin_status=all&paged=1', 'activate-plugin_elementor/elementor.php');
} else {
$btn['text'] = esc_html__('Install Elementor', 'romethemeform');
$btn['url'] = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
}
$message = sprintf(
/* translators: 1: Plugin name 2: Elementor */
esc_html__('%1$s requires %2$s to work properly. Please install and activate it first.', 'romethemeform'),
'<strong>' . esc_html__('RomeThemeForm', 'romethemeform') . '</strong>',
'<strong>' . esc_html__('Elementor', 'romethemeform') . '</strong>'
);
\Oxaim\Libs\Notice::instance('romethemeform', 'unsupported-elementor-version')
->set_type('error')
->set_message($message)
->set_button($btn)
->call();
}
function romethemeform_add_menu()
{
add_menu_page(
'romethemeform', //page-title
'RomethemeForm', //title
'manage_options', //capability
'romethemeform', //slug
[$this, 'romethemeform_call'], //callback,
$this->plugin_url() . 'assets/images/rform.svg', //icon,
20
);
add_submenu_page(
'romethemeform' ,
'RomethemeForm Dashboard',
'Dashboard',
'manage_options',
'romethemeform',
[$this, 'romethemeform_call'],
);
}
function romethemeform_call()
{
require self::plugin_dir() . 'views/welcome.php';
}
function register_style()
{
wp_enqueue_script('notice-js', self::plugin_url() . 'assets/js/notice.js' , array('jquery'), '1.0', true );
wp_localize_script('notice-js', 'ajax_url', array(
'ajax_url' => admin_url('admin-ajax.php')
));
$screen = get_current_screen();
if ($screen->id == 'toplevel_page_romethemeform') {
wp_enqueue_style('style.css', self::plugin_url() . 'bootstrap/css/bootstrap.css');
wp_enqueue_style('rtmicons.css', self::plugin_url() . 'assets/css/rtmicons.css' , '' ,self::rform_version() , 'all');
}
wp_enqueue_style('rform-admin-style' , self::plugin_url() . 'assets/css/admin_style.css' , '' , self::rform_version() , 'all');
}
public function rform_notice()
{
$rform_hasbeen_rated = get_user_meta(get_current_user_id(), 'rform-hasbeen-rated');
if (empty($rform_hasbeen_rated)) {
add_action('admin_notices', [\RomethemeFormPlugin\Plugin::class, 'rform_notice_raw']);
}
}
function remove_notice()
{
$userid = get_current_user_id();
add_user_meta($userid, 'rform-hasbeen-rated', 'true');
}
}
new RomethemeForm();