Changeset 3182110
- Timestamp:
- 11/05/2024 08:51:45 AM (17 months ago)
- Location:
- solace-extra
- Files:
-
- 183 added
- 7 edited
-
tags/1.1.9 (added)
-
tags/1.1.9/LICENSE.txt (added)
-
tags/1.1.9/README.txt (added)
-
tags/1.1.9/admin (added)
-
tags/1.1.9/admin/class-solace-extra-admin.php (added)
-
tags/1.1.9/admin/css (added)
-
tags/1.1.9/admin/css/admin-style.css (added)
-
tags/1.1.9/admin/css/admin-style.css.map (added)
-
tags/1.1.9/admin/css/admin-style.min.css (added)
-
tags/1.1.9/admin/css/admin-style.min.css.map (added)
-
tags/1.1.9/admin/css/disable-menu.css (added)
-
tags/1.1.9/admin/css/disable-menu.css.map (added)
-
tags/1.1.9/admin/css/disable-menu.min.css (added)
-
tags/1.1.9/admin/css/disable-menu.min.css.map (added)
-
tags/1.1.9/admin/demo (added)
-
tags/1.1.9/admin/demo/customizer (added)
-
tags/1.1.9/admin/demo/customizer/casanova (added)
-
tags/1.1.9/admin/demo/customizer/casanova/casanova.json (added)
-
tags/1.1.9/admin/fonts (added)
-
tags/1.1.9/admin/fonts/Poppins (added)
-
tags/1.1.9/admin/fonts/Poppins/OFL.txt (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Black.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-BlackItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Bold.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-BoldItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-ExtraBold.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-ExtraBoldItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-ExtraLight.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-ExtraLightItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Italic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Light.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-LightItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Medium.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-MediumItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Regular.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-SemiBold.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-SemiBoldItalic.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-Thin.ttf (added)
-
tags/1.1.9/admin/fonts/Poppins/Poppins-ThinItalic.ttf (added)
-
tags/1.1.9/admin/images (added)
-
tags/1.1.9/admin/images/back-button.png (added)
-
tags/1.1.9/admin/images/loadinggear.gif (added)
-
tags/1.1.9/admin/images/starter-templates (added)
-
tags/1.1.9/admin/images/starter-templates/arrow-down-alt.png (added)
-
tags/1.1.9/admin/images/starter-templates/decor1.png (added)
-
tags/1.1.9/admin/images/starter-templates/decor2.png (added)
-
tags/1.1.9/admin/images/starter-templates/decor3.png (added)
-
tags/1.1.9/admin/images/starter-templates/decor4.png (added)
-
tags/1.1.9/admin/import.php (added)
-
tags/1.1.9/admin/index.php (added)
-
tags/1.1.9/admin/js (added)
-
tags/1.1.9/admin/js/dotlottie-player.js (added)
-
tags/1.1.9/admin/js/form-email.js (added)
-
tags/1.1.9/admin/js/import.js (added)
-
tags/1.1.9/admin/js/preview.js (added)
-
tags/1.1.9/admin/js/solace-extra-admin.js (added)
-
tags/1.1.9/admin/js/solace-iframe-loader.js (added)
-
tags/1.1.9/admin/js/src (added)
-
tags/1.1.9/admin/js/src/index.js (added)
-
tags/1.1.9/admin/js/starter-templates.js (added)
-
tags/1.1.9/admin/js/sweetalert.min.js (added)
-
tags/1.1.9/admin/partials (added)
-
tags/1.1.9/admin/partials/category.json (added)
-
tags/1.1.9/admin/partials/demo.json (added)
-
tags/1.1.9/admin/partials/header.php (added)
-
tags/1.1.9/admin/partials/submenu-dashboard.php (added)
-
tags/1.1.9/admin/partials/submenu-dashboardcongratulations.php (added)
-
tags/1.1.9/admin/partials/submenu-dashboardsitebuilder.php (added)
-
tags/1.1.9/admin/partials/submenu-dashboardstep5.php (added)
-
tags/1.1.9/admin/partials/submenu-dashboardstep6.php (added)
-
tags/1.1.9/admin/partials/submenu-progress.php (added)
-
tags/1.1.9/admin/partials/submenu-starter.php (added)
-
tags/1.1.9/admin/partials/submenu-type.php (added)
-
tags/1.1.9/admin/partials/submenu-video.php (added)
-
tags/1.1.9/admin/starter-templates.php (added)
-
tags/1.1.9/assets (added)
-
tags/1.1.9/assets/css (added)
-
tags/1.1.9/assets/css/admin-style.css (added)
-
tags/1.1.9/assets/css/admin-style.css.map (added)
-
tags/1.1.9/assets/css/admin-style.min.css (added)
-
tags/1.1.9/assets/css/admin-style.min.css.map (added)
-
tags/1.1.9/assets/images (added)
-
tags/1.1.9/assets/images/congratulations (added)
-
tags/1.1.9/assets/images/congratulations/background.png (added)
-
tags/1.1.9/assets/images/congratulations/border-congratulations.png (added)
-
tags/1.1.9/assets/images/congratulations/box-congratulations.png (added)
-
tags/1.1.9/assets/images/congratulations/congratulations.jpg (added)
-
tags/1.1.9/assets/images/dashboard (added)
-
tags/1.1.9/assets/images/dashboard/contact.svg (added)
-
tags/1.1.9/assets/images/dashboard/customizer.png (added)
-
tags/1.1.9/assets/images/dashboard/docs.svg (added)
-
tags/1.1.9/assets/images/dashboard/loading-website.png (added)
-
tags/1.1.9/assets/images/dashboard/pro.svg (added)
-
tags/1.1.9/assets/images/dashboard/sol-back.png (added)
-
tags/1.1.9/assets/images/dashboard/start-template.png (added)
-
tags/1.1.9/assets/images/dashboard/sugges.svg (added)
-
tags/1.1.9/assets/images/import (added)
-
tags/1.1.9/assets/images/import/import.json (added)
-
tags/1.1.9/assets/images/import/import.png (added)
-
tags/1.1.9/assets/images/import/import2.json (added)
-
tags/1.1.9/assets/images/import/import3.json (added)
-
tags/1.1.9/assets/images/solace-logo-dark.png (added)
-
tags/1.1.9/assets/images/solace-logo-light.png (added)
-
tags/1.1.9/assets/images/starter (added)
-
tags/1.1.9/assets/images/starter/demo1.png (added)
-
tags/1.1.9/assets/images/starter/demo2.png (added)
-
tags/1.1.9/assets/images/starter/demo3.png (added)
-
tags/1.1.9/assets/images/starter/demo4.png (added)
-
tags/1.1.9/assets/images/starter/demo5.png (added)
-
tags/1.1.9/assets/images/starter/demo6.png (added)
-
tags/1.1.9/assets/images/starter/loadmore.json (added)
-
tags/1.1.9/assets/images/step2 (added)
-
tags/1.1.9/assets/images/step2/elementor.png (added)
-
tags/1.1.9/assets/images/step2/gutenberg.png (added)
-
tags/1.1.9/assets/images/step5 (added)
-
tags/1.1.9/assets/images/step5/loading-overlay.json (added)
-
tags/1.1.9/assets/images/step5/loadinggear.gif (added)
-
tags/1.1.9/assets/images/step5/loadingstep5.json (added)
-
tags/1.1.9/assets/images/step5/urlbar.png (added)
-
tags/1.1.9/assets/images/step5/urlbar2.png (added)
-
tags/1.1.9/assets/images/step5/urlbar3.png (added)
-
tags/1.1.9/assets/images/step5/urlbar4.png (added)
-
tags/1.1.9/assets/images/svg (added)
-
tags/1.1.9/assets/images/svg/social_copylink.svg (added)
-
tags/1.1.9/assets/images/svg/social_facebook.svg (added)
-
tags/1.1.9/assets/images/svg/social_instagram.svg (added)
-
tags/1.1.9/assets/images/svg/social_twitter.svg (added)
-
tags/1.1.9/assets/images/video (added)
-
tags/1.1.9/assets/images/video/decor.png (added)
-
tags/1.1.9/elementor (added)
-
tags/1.1.9/elementor/widgets (added)
-
tags/1.1.9/elementor/widgets/assets (added)
-
tags/1.1.9/elementor/widgets/assets/form (added)
-
tags/1.1.9/elementor/widgets/assets/form/form-builder.css (added)
-
tags/1.1.9/elementor/widgets/assets/form/form-builder.js (added)
-
tags/1.1.9/elementor/widgets/elementor.php (added)
-
tags/1.1.9/elementor/widgets/form (added)
-
tags/1.1.9/elementor/widgets/form/form-base.php (added)
-
tags/1.1.9/elementor/widgets/form/form-handler.php (added)
-
tags/1.1.9/elementor/widgets/widget (added)
-
tags/1.1.9/elementor/widgets/widget-base (added)
-
tags/1.1.9/elementor/widgets/widget-base/widget-base.php (added)
-
tags/1.1.9/elementor/widgets/widget/form-builder.php (added)
-
tags/1.1.9/includes (added)
-
tags/1.1.9/includes/class-solace-extra-activator.php (added)
-
tags/1.1.9/includes/class-solace-extra-deactivator.php (added)
-
tags/1.1.9/includes/class-solace-extra-i18n.php (added)
-
tags/1.1.9/includes/class-solace-extra-loader.php (added)
-
tags/1.1.9/includes/class-solace-extra.php (added)
-
tags/1.1.9/includes/index.php (added)
-
tags/1.1.9/index.php (added)
-
tags/1.1.9/languages (added)
-
tags/1.1.9/languages/solace-extra.pot (added)
-
tags/1.1.9/public (added)
-
tags/1.1.9/public/class-solace-extra-public.php (added)
-
tags/1.1.9/public/css (added)
-
tags/1.1.9/public/css/solace-extra-public.css (added)
-
tags/1.1.9/public/css/solace-extra-shortcodes.css (added)
-
tags/1.1.9/public/index.php (added)
-
tags/1.1.9/public/js (added)
-
tags/1.1.9/public/js/solace-extra-public.js (added)
-
tags/1.1.9/public/partials (added)
-
tags/1.1.9/public/partials/solace-extra-public-display.php (added)
-
tags/1.1.9/sass (added)
-
tags/1.1.9/sass/admin (added)
-
tags/1.1.9/sass/admin-style.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-congratulations.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-progress.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-sitebuilder.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-starter.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-step5.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-step6.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-type.scss (added)
-
tags/1.1.9/sass/admin/_dashboard-video.scss (added)
-
tags/1.1.9/sass/admin/_dashboard.scss (added)
-
tags/1.1.9/sass/admin/_global.scss (added)
-
tags/1.1.9/sass/admin/_tgmpa.scss (added)
-
tags/1.1.9/sass/admin/abstracts (added)
-
tags/1.1.9/sass/admin/abstracts/variables (added)
-
tags/1.1.9/sass/admin/abstracts/variables/_size.scss (added)
-
tags/1.1.9/sass/disable-menu.scss (added)
-
tags/1.1.9/solace-extra.php (added)
-
tags/1.1.9/uninstall.php (added)
-
trunk/README.txt (modified) (3 diffs)
-
trunk/admin/class-solace-extra-admin.php (modified) (1 diff)
-
trunk/admin/import.php (modified) (10 diffs)
-
trunk/admin/partials/submenu-dashboardcongratulations.php (modified) (1 diff)
-
trunk/elementor/widgets/assets/form/form-builder.css (modified) (1 diff)
-
trunk/elementor/widgets/widget/form-builder.php (modified) (3 diffs)
-
trunk/solace-extra.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
solace-extra/trunk/README.txt
r3174137 r3182110 5 5 Requires at least: 6.2 6 6 Tested up to: 6.6 7 Stable tag: 1.1. 87 Stable tag: 1.1.9 8 8 Requires PHP: 7.4 9 9 License: GPLv2 or later … … 21 21 - SolaceWP: [Terms of Use](https://solacewp.com/api/terms-of-service/), [Privacy Policy](https://solacewp.com/api/privacy-policy/) 22 22 - Google reCAPTCHA: [Terms of Use](https://www.google.com/recaptcha/intro/v3.html), [Privacy Policy](https://policies.google.com/privacy) 23 - Sendy API: [Terms of Use](https://sendy.co/end-user-license-agreement), [Privacy Policy](https://sendy.co/privacy-policy) 23 24 24 25 == Installation == … … 57 58 - This plugin provides additional functionality for the Solace theme. To view the uncompressed source code of the JavaScript used, please visit the following link: https://github.com/LottieFiles/lottie-player/tree/master/src and 58 59 https://www.google.com/recaptcha/api.js 60 - This plugin uses the Sendy API for managing newsletter subscriptions. The data sent includes user email addresses and optional names during the subscription process. For more information, please refer to their [Terms of Use](https://sendy.co/end-user-license-agreement), [Privacy Policy](https://sendy.co/privacy-policy) 59 61 60 62 == Screenshots == -
solace-extra/trunk/admin/class-solace-extra-admin.php
r3168128 r3182110 174 174 // Initialize the WP_Filesystem 175 175 if ( ! function_exists( 'WP_Filesystem' ) ) { 176 re quire_once ABSPATH . 'wp-admin/includes/file.php';176 return; 177 177 } 178 178 -
solace-extra/trunk/admin/import.php
r3174137 r3182110 65 65 66 66 /** 67 * Taken from the core media_sideload_image function and68 * modified to return an array of data instead of html.69 *70 * @since 0.171 * @access private72 * @param string $file The image file path.73 * @return array An array of image data.74 */75 static private function _sideload_image($file)76 {77 $data = new stdClass();78 79 if (!function_exists('media_handle_sideload')) {80 require_once(ABSPATH . 'wp-admin/includes/media.php');81 require_once(ABSPATH . 'wp-admin/includes/file.php');82 require_once(ABSPATH . 'wp-admin/includes/image.php');83 }84 if (!empty($file)) {85 86 // Set variables for storage, fix file filename for query strings.87 preg_match('/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches);88 $file_array = array();89 $file_array['name'] = basename($matches[0]);90 91 // Download file to temp location.92 $file_array['tmp_name'] = download_url($file);93 94 // If error storing temporarily, return the error.95 if (is_wp_error($file_array['tmp_name'])) {96 return $file_array['tmp_name'];97 }98 99 // Do the validation and storage stuff.100 $id = media_handle_sideload($file_array, 0);101 102 // If error storing permanently, wp_delete_file.103 if (is_wp_error($id)) {104 wp_delete_file($file_array['tmp_name']);105 return $id;106 }107 108 // Build the object to return.109 $meta = wp_get_attachment_metadata($id);110 $data->attachment_id = $id;111 $data->url = wp_get_attachment_url($id);112 $data->thumbnail_url = wp_get_attachment_thumb_url($id);113 $data->height = $meta['height'];114 $data->width = $meta['width'];115 }116 117 return $data;118 }119 120 /**121 67 * Checks to see whether a string is an image url or not. 122 68 * … … 139 85 140 86 /** 141 * Imports images for settings saved as mods.142 *143 * @since 0.1144 * @access private145 * @param array $mods An array of customizer mods.146 * @return array The mods array with any new import data.147 */148 static private function _import_images($mods)149 {150 foreach ($mods as $key => $val) {151 152 if (self::_is_image_url($val)) {153 154 $data = self::_sideload_image($val);155 156 if (!is_wp_error($data)) {157 158 $mods[$key] = $data->url;159 160 // Handle header image controls.161 if (isset($mods[$key . '_data'])) {162 $mods[$key . '_data'] = $data;163 update_post_meta($data->attachment_id, '_wp_attachment_is_custom_header', get_stylesheet());164 }165 }166 }167 }168 169 return $mods;170 }171 172 /**173 87 * Solace Ajax Import 174 88 */ … … 224 138 wp_die(); 225 139 } 226 227 // Import images.228 // $data = Solace_Extra_Admin::_import_images( $data );229 140 230 141 // If wp_css is set then import it. … … 1797 1708 function install_and_activate_plugins() 1798 1709 { 1799 // Verify nonce 1800 if (!isset($_POST['nonce']) || !wp_verify_nonce( sanitize_text_field( wp_unslash ( $_POST['nonce'] ) ), 'ajax-nonce' )) { 1801 $response = array('error' => 'Invalid nonce!'); 1802 echo wp_json_encode($response); 1803 wp_die(); 1804 } 1710 // Verify user permissions and nonce 1711 if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'ajax-nonce' ) ) { 1712 wp_send_json_error( [ 'error' => 'Invalid nonce!' ] ); 1713 } 1714 if ( ! current_user_can( 'install_plugins' ) ) { 1715 wp_send_json_error( [ 'error' => 'Unauthorized action!' ] ); 1716 } 1805 1717 1806 1718 update_option( 'elementor_onboarded', true ); … … 1813 1725 // Make remote request using wp_remote_get 1814 1726 $response = wp_remote_get($url); 1815 1816 // Decode the response body 1817 $body = wp_remote_retrieve_body($response); 1818 $decoded_data = json_decode($body, true); 1819 1727 if ( is_wp_error( $response ) ) { 1728 wp_send_json_error( [ 'error' => 'Failed to fetch plugins data.' ] ); 1729 } 1730 1731 $decoded_data = json_decode( wp_remote_retrieve_body( $response ), true ); 1820 1732 $plugins_to_install = null; 1821 1733 if ( $decoded_data['page_builder'] && $decoded_data['ecommerce'] ) { … … 1834 1746 } 1835 1747 1836 foreach ($plugins_to_install as $plugin_slug) { 1837 if (!is_plugin_active($plugin_slug . '/' . $plugin_slug . '.php')) { 1838 1839 if (!file_exists(WP_PLUGIN_DIR . '/' . $plugin_slug . '/' . $plugin_slug . '.php')) { 1840 1841 include_once(ABSPATH . 'wp-admin/includes/plugin-install.php'); 1842 $api = plugins_api('plugin_information', array('slug' => $plugin_slug)); 1843 if (isset($api->download_link)) { 1844 $plugin_zip = download_url($api->download_link); 1845 if (!is_wp_error($plugin_zip)) { 1846 $plugin_dir = trailingslashit(WP_PLUGIN_DIR); 1847 $zip = new ZipArchive; 1848 if ($zip->open($plugin_zip) === true) { 1849 $zip->extractTo($plugin_dir); 1850 $zip->close(); 1851 wp_delete_file($plugin_zip); 1852 } 1748 if ( ! function_exists( 'plugins_api' ) ) { 1749 require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; 1750 } 1751 if ( ! class_exists( 'WP_Upgrader' ) ) { 1752 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 1753 } 1754 1755 foreach ( $plugins_to_install as $plugin_slug ) { 1756 if ( ! is_plugin_active( "$plugin_slug/$plugin_slug.php" ) && ! file_exists( WP_PLUGIN_DIR . "/$plugin_slug/$plugin_slug.php" ) ) { 1757 $api = plugins_api( 'plugin_information', [ 'slug' => $plugin_slug ] ); 1758 if ( isset( $api->download_link ) ) { 1759 $plugin_zip = download_url( $api->download_link ); 1760 if ( ! is_wp_error( $plugin_zip ) ) { 1761 $zip = new ZipArchive; 1762 if ( $zip->open( $plugin_zip ) === true ) { 1763 $zip->extractTo( WP_PLUGIN_DIR ); 1764 $zip->close(); 1765 wp_delete_file( $plugin_zip ); 1853 1766 } 1854 1767 } … … 1857 1770 } 1858 1771 1859 foreach ($plugins_to_install as $plugin_slug) { 1860 activate_plugin($plugin_slug . '/' . $plugin_slug . '.php'); 1861 } 1862 1863 esc_html_e('Plugin Installed and Activated', 'solace-extra'); 1864 1865 // Set permalink structure to 'Post name' 1866 $permalink_structure = '/%postname%/'; 1867 1868 // Update permalink structure 1869 update_option('permalink_structure', $permalink_structure); 1870 1871 // Flush rewrite rules to ensure the changes take effect 1872 flush_rewrite_rules(); 1873 1874 $url = admin_url( 'options-permalink.php' ); 1875 1876 $response = wp_remote_get( $url ); 1877 1878 // Flush rewrite rules to ensure the changes take effect 1772 foreach ( $plugins_to_install as $plugin_slug ) { 1773 activate_plugin( "$plugin_slug/$plugin_slug.php" ); 1774 } 1775 1776 update_option( 'permalink_structure', '/%postname%/' ); 1879 1777 flush_rewrite_rules(); 1880 1778 … … 1887 1785 } else { 1888 1786 esc_html_e( 'Onboarding False', 'solace-extra'); 1889 } 1787 } 1890 1788 } 1891 1789 … … 2291 2189 } 2292 2190 2191 // Set Shop page. 2192 update_option( 'woocommerce_shop_page_id', null ); 2193 2293 2194 // Loop through each menu 2294 2195 if (!empty($menus)) { … … 2461 2362 $page_for_posts = $post_exists; 2462 2363 update_option( 'page_for_posts', $page_for_posts ); 2364 } 2365 2366 if ( $menu_item->is_shop_page && $menu_item->woocommerce_shop_page_id ) { 2367 // Set Shop page. 2368 update_option( 'woocommerce_shop_page_id', $post_exists ); 2463 2369 } 2464 2370 -
solace-extra/trunk/admin/partials/submenu-dashboardcongratulations.php
r3121792 r3182110 6 6 exit; 7 7 } 8 9 // Flush rewrite rules to ensure the changes take effect 10 flush_rewrite_rules(); 8 11 9 12 $customizer_link = admin_url('customize.php'); -
solace-extra/trunk/elementor/widgets/assets/form/form-builder.css
r3174137 r3182110 73 73 } 74 74 75 @media only screen and (max-width: 576px) { 76 .solaceform-fields, 77 .efb-field-width-100, 78 .efb-field-width-80, 79 .efb-field-width-75, 80 .efb-field-width-66, 81 .efb-field-width-60, 82 .efb-field-width-50, 83 .efb-field-width-40, 84 .efb-field-width-33, 85 .efb-field-width-25, 86 .efb-field-width-20 { 75 @media only screen and (max-width: 768px) { 76 .efb-field-width-tablet-100 { 87 77 width: 100%; 88 78 } 79 80 .efb-field-width-tablet-80 { 81 width: 80%; 82 } 83 84 .efb-field-width-tablet-75 { 85 width: 75%; 86 } 87 88 .efb-field-width-tablet-66 { 89 width: 66%; 90 } 91 92 .efb-field-width-tablet-60 { 93 width: 60%; 94 } 95 96 .efb-field-width-tablet-50 { 97 width: 50%; 98 } 99 100 .efb-field-width-tablet-40 { 101 width: 40%; 102 } 103 104 .efb-field-width-tablet-33 { 105 width: 33%; 106 } 107 108 .efb-field-width-tablet-25 { 109 width: 25%; 110 } 111 112 .efb-field-width-tablet-20 { 113 width: 20%; 114 } 89 115 } 116 117 @media only screen and (max-width: 568px) { 118 .efb-field-width-mobile-100 { 119 width: 100%; 120 } 121 122 .efb-field-width-mobile-80 { 123 width: 80%; 124 } 125 126 .efb-field-width-mobile-75 { 127 width: 75%; 128 } 129 130 .efb-field-width-mobile-66 { 131 width: 66%; 132 } 133 134 .efb-field-width-mobile-60 { 135 width: 60%; 136 } 137 138 .efb-field-width-mobile-50 { 139 width: 50%; 140 } 141 142 .efb-field-width-mobile-40 { 143 width: 40%; 144 } 145 146 .efb-field-width-mobile-33 { 147 width: 33%; 148 } 149 150 .efb-field-width-mobile-25 { 151 width: 25%; 152 } 153 154 .efb-field-width-mobile-20 { 155 width: 20%; 156 } 157 } -
solace-extra/trunk/elementor/widgets/widget/form-builder.php
r3168128 r3182110 886 886 if ( $fields ) { 887 887 foreach ( $fields as $field ) { 888 $width = $field['field_width'] ? $field['field_width'] : ''; 888 889 $width = isset( $field['field_width'] ) ? $field['field_width'] : ''; 890 $width_tablet = isset( $field['field_width_tablet'] ) ? $field['field_width_tablet'] : ''; 891 $width_mobile = isset( $field['field_width_mobile'] ) ? $field['field_width_mobile'] : ''; 892 889 893 $params = array( 890 894 'type' => $field['field_type'] ? strtolower( $field['field_type'] ) : '', … … 893 897 'value' => $field['field_default_value'] ? $field['field_default_value'] : '', 894 898 'name' => $field['field_name'] ? $field['field_name'] : '', 895 'width' => $field['field_width'] ? $field['field_width'] : '', 899 'width' => isset( $field['field_width'] ) ? $field['field_width'] : '', 900 'width_tablet' => isset( $field['field_width_tablet'] ) ? $field['field_width_tablet'] : '', 901 'width_mobile' => isset( $field['field_width_mobile'] ) ? $field['field_width_mobile'] : '', 896 902 'required' => $field['field_required'] ? $field['field_required'] : '', 897 903 'id' => $field['field_id'] ? $field['field_id'] : '', … … 906 912 ); 907 913 908 echo '<div class="solaceform-fields elementor-repeater-item-' . esc_attr( $field['_id'] ) . ' efb-field-width-' . esc_attr( $width ) . ' ">';914 echo '<div class="solaceform-fields elementor-repeater-item-' . esc_attr( $field['_id'] ) . ' efb-field-width-' . esc_attr( $width ) . ' efb-field-width-tablet-' . esc_attr( $width_tablet) . ' efb-field-width-mobile-' . esc_attr( $width_mobile) .'">'; 909 915 910 916 switch ( $field['field_type'] ) { -
solace-extra/trunk/solace-extra.php
r3174137 r3182110 13 13 * 14 14 * Plugin Name: Solace Extra 15 * Plugin URI: https://solacewp.com/ solace-extra15 * Plugin URI: https://solacewp.com/ 16 16 * Description: Additional features for Solace Theme 17 * Version: 1.1. 817 * Version: 1.1.9 18 18 * Requires PHP: 7.4 19 19 * Author: Solace … … 151 151 add_action('wp_ajax_nopriv_solace_extra_upload_logo', 'solace_extra_upload_logo'); 152 152 153 function solace_extra_install_plugin_from_url($plugin_url) {154 include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';155 include_once ABSPATH . 'wp-admin/includes/plugin-install.php';156 include_once ABSPATH . 'wp-admin/includes/plugin.php';157 include_once ABSPATH . 'wp-admin/includes/file.php';158 159 $temporary_file = download_url($plugin_url);160 161 if (is_wp_error($temporary_file)) {162 echo esc_html( 'Error: ' . $temporary_file->get_error_message() );163 return;164 }165 166 $plugin_upgrader = new Plugin_Upgrader();167 $installation = $plugin_upgrader->install($temporary_file);168 169 wp_delete_file($temporary_file);170 171 if (is_wp_error($installation)) {172 echo esc_html( 'Installation failed: ' . $temporary_file->get_error_message() );173 } else {174 esc_html_e( 'Installation successful!', 'solace-extra' );175 }176 }177 178 179 // solace_extra_install_plugin_from_url('http://solacewp.com/download/solace-extra.zip');180 181 function solace_extra_install_plugin_from_wp_repo($plugin_slug) {182 include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';183 include_once ABSPATH . 'wp-admin/includes/plugin-install.php';184 185 $api = plugins_api('plugin_information', array('slug' => $plugin_slug, 'fields' => array('sections' => false)));186 if (is_wp_error($api)) {187 echo esc_html( 'Error: ' . $api->get_error_message() );188 return;189 }190 191 $upgrader = new Plugin_Upgrader();192 $result = $upgrader->install($api->download_link);193 194 if (is_wp_error($result)) {195 echo esc_html( 'Installation failed: ' . $result->get_error_message() );196 } else {197 esc_html_e( 'Installation successful!', 'solace-extra' );198 }199 }200 201 // solace_extra_install_plugin_from_wp_repo('elementor');202 203 153 if ( ! function_exists( 'solace_is_run_in_shortcode' ) ) { 204 154
Note: See TracChangeset
for help on using the changeset viewer.