start_controls_section(
'section_yeekit_addons',
[
'label' => __('Forms Add-ons', 'text-domain'),
'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
]
);
$datas = $this->get_addons("elementor");
$html = '';
foreach ($datas as $data) {
if (wp_http_validate_url($data["download"])) {
$dl = $data["download"];
} else {
$dl = "https://" . $data["download"];
}
$install_url = "";
if (isset($data["free"]) && $data["free"] != "") {
$install_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $data["free"]), 'install-plugin_' . $data["free"]);;
}
$class = "";
if (isset($data["plugin"]) && $data["plugin"] != "") {
if (is_plugin_active($data["plugin"])) {
$class = "active";
continue;
}
}
$download_html = 'Install Now – Free';
if ($install_url == "") {
$download_html = "";
}
$html .= '
' . esc_html($data["name"]) . '
' . $download_html . '
Download
';
}
$html = '';
$element->add_control(
'yeekit_addons',
[
'type' => \Elementor\Controls_Manager::RAW_HTML,
'raw' => $html
]
);
$element->end_controls_section();
}
function set_document_link($data)
{
$defaults = array(
"plugin" => false,
"pro" => "",
"notice_id" => "",
"document" => "#"
);
$args = wp_parse_args($data, $defaults);
$this->data[$args["plugin"]] = $args;
add_filter('plugin_action_links_' . $args["plugin"], array($this, 'add_action_plugin'));
}
function add_action_plugin($links)
{
$plugin = current_filter();
$plugin = str_replace('plugin_action_links_', '', $plugin);
if (isset($this->data[$plugin])) {
$item = $this->data[$plugin];
$mylinks[] = 'Pro Version';
$mylinks[] = 'Support';
$mylinks[] = 'Document';
return array_merge($links, $mylinks);
}
return $links;
}
function add_banner()
{
global $pagenow;
$admin_pages = array('index.php', 'plugins.php');
foreach ($this->data as $data) {
$notice_id = $data["notice_id"];
$check_notice_id = get_option('_redmuber_item_' . $notice_id);
if ($check_notice_id != "ok") {
if (in_array($pagenow, $admin_pages)) {
$check_disable = "";
if ($pagenow == "index.php") {
if (get_user_meta(get_current_user_id(), "yeeaddons_dismissed_{$notice_id}", true)) {
$check_disable = "yes";
}
}
if ($check_disable == "") {
?>
wp_create_nonce('yeekit_addons_nonce'),
]);
}
function add_menu()
{
add_submenu_page("wpcf7", "contact-form-7 addons", "Add-ons 36", "manage_options", "contact-form-7-addons", array($this, 'page_addons_cf7'), 999);
add_submenu_page("elementor", "elementor form addons", "Forms Add-ons 15", "manage_options", "elementor-forms-addons", array($this, 'page_addons_elementor'), 999);
add_submenu_page("fluent_forms", "addons", "Add-ons 36", "manage_options", "fluent_forms-addons", array($this, 'page_addons_fluent_forms'));
add_submenu_page("formidable", "addons", "Add-ons 36", "manage_options", "formidable-addons", array($this, 'page_addons_formidable'), 999);
add_submenu_page("quform.dashboard", "addons", "Add-ons 36", "manage_options", "quform.dashboard-addons", array($this, 'page_addons_quform'), 999);
add_submenu_page("wpforms-overview", "addons", "Add-ons 9", "manage_options", "wpforms.dashboard-addons", array($this, 'page_addons_wpforms'), 999);
add_filter("http_response", array($this, "http_response_eform"), 10, 3);
add_submenu_page("edit.php?post_type=yeemail_template", "addons", "Add-ons ", "manage_options", "yeemail-addons", array($this, 'page_yeemail'), 999);
}
function page_yeemail()
{
$this->page_addons("yeemail");
}
function page_addons_cf7()
{
$this->page_addons("cf7");
}
function page_addons_elementor()
{
$this->page_addons("elementor");
}
function page_addons_fluent_forms()
{
$this->page_addons("fluent_forms");
}
function page_addons_formidable()
{
$this->page_addons("formidable");
}
function page_addons_quform()
{
$this->page_addons("quform");
}
function page_addons_wpforms()
{
$this->page_addons("wpforms");
}
function fluentform_global_addons($add_ons_ok)
{
$datas = $this->get_addons();
$add_ons = array();
foreach ($datas as $k => $data) {
$add_ons[$k] = array(
"logo" => $data["img"],
"url" => $data["download"],
"title" => $data["name"],
"description" => $data["des"],
"purchase_url" => $data["download"],
"category" => "a",
);
}
return array_merge($add_ons, $add_ons_ok);
}
function add_ninja_form()
{
$saved = get_option('ninja_forms_addons_feed', false);
$datas = $this->get_addons("ninja_forms");
$add_ons = array();
foreach ($datas as $k => $data) {
$add_ons[] = array(
"image" => $data["img"],
"url" => $data["download"],
"title" => $data["name"],
"content" => $data["des"],
"link" => $data["download"],
"plugin" => "a",
"version" => "3.0.1",
"categories" => array(
array(
"name" => "Look & Feel",
"slug" => "form-function-design"
)
)
);
}
update_option("ninja_forms_addons_feed", json_encode($add_ons));
}
function http_response_eform($response, $datas, $url)
{
$add_ons = array();
switch ($url) {
case "https://wpquark.com/wp-json/ipt-api/v1/fsqm/":
// eforms
$datas = $this->get_addons("eforms");
foreach ($datas as $data) {
$add_ons[] = array(
"image" => $data["img"],
"url" => $data["download"],
"name" => $data["name"],
"description" => $data["des"],
"author" => "rednumber",
"authorurl" => "https://add-ons.org",
"class" => "",
"star" => 5,
"starnum" => rand(10, 100),
"downloaded" => rand(100, 1000),
"version" => "2." . rand(10, 100),
"compatible" => "4.0",
"date" => date("Y-m-d h:i:sa")
);
$datas_rs = json_decode($response['body'], true);
$add_on = $datas_rs["addons"];
$datas_rs["addons"] = array_merge($add_ons, $add_on);
$response["body"] = json_encode($datas_rs);
}
break;
case "https://gravityapi.com/wp-content/plugins/gravitymanager/api.php?op=plugin_browser&page=gf_addons":
// gravity form
ob_start();
?>
get_addons("gravity");
foreach ($datas as $data) {
?>

">
get_addons("ninja_forms");
$add_ons = array();
foreach ($datas as $k => $data) {
$add_ons[] = array(
"image" => $data["img"],
"url" => $data["download"],
"title" => $data["name"],
"content" => $data["des"],
"link" => $data["download"],
"plugin" => "a",
"version" => "3.0.1",
"categories" => array(
array(
"name" => "Look & Feel",
"slug" => "form-function-design"
)
)
);
}
$add_on = json_decode($response['body'], true);
$response["body"] = json_encode(array_merge($add_ons, $add_on));
break;
default:
// code...
break;
}
return $response;
}
function page_addons($addon = "")
{
?>
get_addons($addon);
foreach ($datas as $data) {
?>

">
set_document_link(
array(
"plugin" => "repeater-for-gravity-forms/repeater-for-gravity-forms.php",
"pro"=>"https://add-ons.org/plugin/gravity-forms-repeater-fields/",
"plugin_name"=> "Repeater Field For Gravity Forms",
"document"=>"https://add-ons.org/document-gravity-forms-repeater-fields/",
"notice_id"=>1540
)
);