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_attr($data[ ' . 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 == "") { ?>
    ">

    : " target="_blank">

    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 ) );