Changeset 3433574
- Timestamp:
- 01/06/2026 12:26:03 PM (3 months ago)
- Location:
- iflair-pwa-app
- Files:
-
- 32 added
- 5 edited
-
tags/1.1.4 (added)
-
tags/1.1.4/assets (added)
-
tags/1.1.4/assets/admin (added)
-
tags/1.1.4/assets/admin/css (added)
-
tags/1.1.4/assets/admin/css/jquery-ui.css (added)
-
tags/1.1.4/assets/admin/css/style.css (added)
-
tags/1.1.4/assets/admin/images (added)
-
tags/1.1.4/assets/admin/images/close.svg (added)
-
tags/1.1.4/assets/admin/images/default_pwa_img.png (added)
-
tags/1.1.4/assets/admin/images/tooltip_icon.png (added)
-
tags/1.1.4/assets/admin/js (added)
-
tags/1.1.4/assets/admin/js/custom.js (added)
-
tags/1.1.4/assets/frontend (added)
-
tags/1.1.4/assets/frontend/font-awesome.css (added)
-
tags/1.1.4/assets/frontend/style.css (added)
-
tags/1.1.4/assets/webfonts (added)
-
tags/1.1.4/assets/webfonts/fa-brands-400.ttf (added)
-
tags/1.1.4/assets/webfonts/fa-brands-400.woff2 (added)
-
tags/1.1.4/assets/webfonts/fa-regular-400.ttf (added)
-
tags/1.1.4/assets/webfonts/fa-regular-400.woff2 (added)
-
tags/1.1.4/assets/webfonts/fa-solid-900.ttf (added)
-
tags/1.1.4/assets/webfonts/fa-solid-900.woff2 (added)
-
tags/1.1.4/assets/webfonts/fa-v4compatibility.ttf (added)
-
tags/1.1.4/assets/webfonts/fa-v4compatibility.woff2 (added)
-
tags/1.1.4/iflair-pwa-app.php (added)
-
tags/1.1.4/includes (added)
-
tags/1.1.4/includes/admin (added)
-
tags/1.1.4/includes/admin/advanced.php (added)
-
tags/1.1.4/includes/admin/caching-strategies.php (added)
-
tags/1.1.4/includes/admin/settings_fields.php (added)
-
tags/1.1.4/includes/frontend (added)
-
tags/1.1.4/readme.txt (added)
-
trunk/iflair-pwa-app.php (modified) (13 diffs)
-
trunk/includes/admin/advanced.php (modified) (2 diffs)
-
trunk/includes/admin/caching-strategies.php (modified) (2 diffs)
-
trunk/includes/admin/settings_fields.php (modified) (14 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
iflair-pwa-app/trunk/iflair-pwa-app.php
r3226658 r3433574 1 1 <?php 2 2 /* 3 Plugin Name: PWAApp4 Description: iFlair PWAApp plugin transforms your website into a Progressive Web App (PWA), enhancing user experience with app-like features such as faster load times, offline accessibility, and the convenience of adding the site to a smartphone's home screen. It also offers customizable backend settings, allowing for modifications to the app's color, name, and more, ensuring a personalized and seamless integration.3 Plugin Name: SiteEase Progressive Web App 4 Description: SiteEase Progressive Web App plugin transforms your website into a Progressive Web App (PWA), enhancing user experience with app-like features such as faster load times, offline accessibility, and the convenience of adding the site to a smartphone's home screen. It also offers customizable backend settings, allowing for modifications to the app's color, name, and more, ensuring a personalized and seamless integration. 5 5 Plugin URI: https://profiles.wordpress.org/iflairwebtechnologies 6 Version: 1.1. 36 Version: 1.1.4 7 7 Author: iFlair Web Technologies Pvt. Ltd. 8 8 Author URI: https://www.iflair.com/ 9 Text Domain: if pwap-pwa-app9 Text Domain: iflair-pwa-app 10 10 License: GPLv2 or later 11 11 */ … … 14 14 if ( ! defined( 'ABSPATH' ) ) { die(); } 15 15 // define plugin version 16 define( 'IFPWAP_VERSION' , '1. 0.0' );16 define( 'IFPWAP_VERSION' , '1.1.4' ); 17 17 define( 'IFPWAP_FILE', __FILE__ ); 18 18 define( 'IFPWAP_DIR', dirname(__FILE__)); … … 50 50 <!-- Here are our tabs --> 51 51 <nav class="nav-tab-wrapper"> 52 <a href="?page=ifpwap-plugin" class="nav-tab <?php if($ifpwap_tab===null):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Basic Settings','if pwap-pwa-app');?></a>53 <a href="?page=ifpwap-plugin&tab=caching-strategies" class="nav-tab <?php if($ifpwap_tab==='caching-strategies'):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Caching Strategies','if pwap-pwa-app');?></a>54 <a href="?page=ifpwap-plugin&tab=advanced" class="nav-tab <?php if($ifpwap_tab==='advanced'):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Advanced','if pwap-pwa-app');?></a>52 <a href="?page=ifpwap-plugin" class="nav-tab <?php if($ifpwap_tab===null):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Basic Settings','iflair-pwa-app');?></a> 53 <a href="?page=ifpwap-plugin&tab=caching-strategies" class="nav-tab <?php if($ifpwap_tab==='caching-strategies'):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Caching Strategies','iflair-pwa-app');?></a> 54 <a href="?page=ifpwap-plugin&tab=advanced" class="nav-tab <?php if($ifpwap_tab==='advanced'):?>nav-tab-active<?php endif; ?>"><?php echo esc_html_e('Advanced','iflair-pwa-app');?></a> 55 55 </nav> 56 56 <!-- Content Section --> … … 75 75 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'ifpwap_plugin_action_links' ); 76 76 function ifpwap_plugin_action_links( $links ) { 77 $settings = '<a href="'. esc_url( get_admin_url(null, 'admin.php?page=ifpwap-plugin') ) .'">'. esc_html__('Settings','if pwap-pwa-app') .'</a>';77 $settings = '<a href="'. esc_url( get_admin_url(null, 'admin.php?page=ifpwap-plugin') ) .'">'. esc_html__('Settings','iflair-pwa-app') .'</a>'; 78 78 array_unshift($links , $settings); 79 79 return $links; … … 211 211 'ifpwap-notices', 212 212 'ifpwap-success', 213 esc_html__('Your settings are saved successfully.', 'if pwap-pwa-app'),213 esc_html__('Your settings are saved successfully.', 'iflair-pwa-app'), 214 214 'updated' 215 215 ); … … 218 218 'ifpwap-notices', 219 219 'ifpwap-success', 220 esc_html__('Your settings are saved successfully.', 'if pwap-pwa-app'),220 esc_html__('Your settings are saved successfully.', 'iflair-pwa-app'), 221 221 'updated' 222 222 ); … … 227 227 'ifpwap-notices', 228 228 'ifpwap-error', 229 esc_html__('Settings not saved', 'if pwap-pwa-app'),229 esc_html__('Settings not saved', 'iflair-pwa-app'), 230 230 'error' 231 231 ); … … 234 234 'ifpwap-notices', 235 235 'ifpwap-error', 236 esc_html__('Settings not saved', 'if pwap-pwa-app'),236 esc_html__('Settings not saved', 'iflair-pwa-app'), 237 237 'error' 238 238 ); … … 288 288 $start_url = '"' . site_url(); 289 289 // Check if the current page is the front page 290 if (!is_front_page()) { 291 // Check if the page name matches the title of the page set as the front page 292 $front_page = get_option('page_on_front'); 293 $front_page_title = get_the_title($front_page); 294 if ($ifpwap_start_page_name && $ifpwap_start_page_name !== $front_page_title) { 295 // Get the corresponding page object and extract the slug 296 $start_page = get_page_by_title($ifpwap_start_page_name); 297 $slug = isset($start_page->post_name) ? $start_page->post_name : ''; 298 // Append the slug if it's not the front page 299 if ($slug) { 300 $start_url .= '/' . $slug; 290 if ( ! is_front_page() ) { 291 292 // Get front page ID and title 293 $front_page_id = (int) get_option( 'page_on_front' ); 294 $front_page_title = $front_page_id ? get_the_title( $front_page_id ) : ''; 295 296 if ( ! empty( $ifpwap_start_page_name ) && $ifpwap_start_page_name !== $front_page_title ) { 297 298 // Fetch page by title (replacement for deprecated get_page_by_title) 299 $pages = get_posts( [ 300 'post_type' => 'page', 301 'post_status' => 'publish', 302 'title' => $ifpwap_start_page_name, 303 'numberposts' => 1, 304 'suppress_filters' => false, 305 ] ); 306 307 if ( ! empty( $pages ) ) { 308 $slug = $pages[0]->post_name; 309 310 // Append the slug if valid 311 if ( ! empty( $slug ) ) { 312 $start_url = trailingslashit( $start_url ) . $slug; 313 } 301 314 } 302 315 } 303 316 } 317 304 318 $start_url .= '?utm_source=' . sanitize_text_field($ifpwap_campaign_source) . '&utm_medium=' . sanitize_text_field($ifpwap_campaign_medium) . '&utm_campaign=' . sanitize_text_field($ifpwap_campaign_name); 305 319 306 320 if (empty($ifpwap_description)) { 307 $ifpwap_description = esc_html__("This PWA APP WordPress plugin description", "if pwap-pwa-app");321 $ifpwap_description = esc_html__("This PWA APP WordPress plugin description", "iflair-pwa-app"); 308 322 } 309 323 … … 364 378 $manifest_fp = trailingslashit($root_path) . "ifpwap-manifest.json"; 365 379 if (false === $wp_filesystem->put_contents($manifest_fp, $ifpwap_manifest_json, FS_CHMOD_FILE)) { 366 echo esc_html__('Failed to write the manifest file.', 'if pwap-pwa-app');380 echo esc_html__('Failed to write the manifest file.', 'iflair-pwa-app'); 367 381 } 368 382 } else { 369 echo esc_html__('Filesystem API not initialized.', 'if pwap-pwa-app');383 echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app'); 370 384 } 371 385 … … 421 435 ); 422 436 if (!$success) { 423 echo esc_html__('Failed to write the service worker file.', 'if pwap-pwa-app');437 echo esc_html__('Failed to write the service worker file.', 'iflair-pwa-app'); 424 438 } 425 439 } else { 426 echo esc_html__('Filesystem API not initialized.', 'if pwap-pwa-app');440 echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app'); 427 441 } 428 442 // analytics js code for append … … 666 680 ); 667 681 if (!$success) { 668 echo esc_html__('Failed to write the service worker file.', 'if pwap-pwa-app');682 echo esc_html__('Failed to write the service worker file.', 'iflair-pwa-app'); 669 683 } 670 684 } else { 671 echo esc_html__('Filesystem API not initialized.', 'if pwap-pwa-app');685 echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app'); 672 686 } 673 687 … … 810 824 ?> 811 825 <div class="ifpwap_files_url"> 812 <h3><?php echo esc_html__('Status','if pwap-pwa-app');?></h3>826 <h3><?php echo esc_html__('Status','iflair-pwa-app');?></h3> 813 827 <?php 814 828 foreach ($file_urls as $file => $url) { ?> 815 <p class='ifpwap_<?php echo esc_attr($file);?>'><a class='ifpwap_icon-link' target='_blank' href='<?php echo esc_url($url);?>'><?php echo esc_html($file);?></a><?php echo esc_html__(' File successfully generated.','if pwap-pwa-app');?></p>829 <p class='ifpwap_<?php echo esc_attr($file);?>'><a class='ifpwap_icon-link' target='_blank' href='<?php echo esc_url($url);?>'><?php echo esc_html($file);?></a><?php echo esc_html__(' File successfully generated.','iflair-pwa-app');?></p> 816 830 <?php } ?> 817 <p class='ifpwap_https ifpwap_icon-link'><?php echo esc_html__('Website served over HTTPS:','if pwap-pwa-app') . ' ' . esc_html($https_status);?></p>831 <p class='ifpwap_https ifpwap_icon-link'><?php echo esc_html__('Website served over HTTPS:','iflair-pwa-app') . ' ' . esc_html($https_status);?></p> 818 832 </div> 819 833 <?php } else { 820 echo esc_html__('WordPress environment not found.','if pwap-pwa-app');821 } 822 } 834 echo esc_html__('WordPress environment not found.','iflair-pwa-app'); 835 } 836 } -
iflair-pwa-app/trunk/includes/admin/advanced.php
r3076417 r3433574 18 18 <!-- Offline Analytics field --> 19 19 <tr valign="top"> 20 <th scope="row"><?php echo esc_html__('Cache External Origin URLs','if pwap-pwa-app'); ?>21 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Caching external origin URLs involves storing copies of resources (such as images, scripts, or stylesheets) from external websites or servers in a local cache. This caching mechanism helps improve website performance by reducing latency and server load, as the resources can be retrieved quickly from the local cache instead of fetching them from the external origin every time a user accesses the website.','if pwap-pwa-app'); ?></label></span></th>20 <th scope="row"><?php echo esc_html__('Cache External Origin URLs','iflair-pwa-app'); ?> 21 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Caching external origin URLs involves storing copies of resources (such as images, scripts, or stylesheets) from external websites or servers in a local cache. This caching mechanism helps improve website performance by reducing latency and server load, as the resources can be retrieved quickly from the local cache instead of fetching them from the external origin every time a user accesses the website.','iflair-pwa-app'); ?></label></span></th> 22 22 <td> 23 23 <label for="ifpwap_cache_external_urls" class="ifpwap_toggle"> 24 <input type="checkbox" id="ifpwap_cache_external_urls" name="ifpwap_cache_external_urls" value="yes" <?php if(!empty($ifpwap_cache_external_urls) && $ifpwap_cache_external_urls == 'yes') echo esc_html__('checked=checked','if pwap-pwa-app'); ?>>24 <input type="checkbox" id="ifpwap_cache_external_urls" name="ifpwap_cache_external_urls" value="yes" <?php if(!empty($ifpwap_cache_external_urls) && $ifpwap_cache_external_urls == 'yes') echo esc_html__('checked=checked','iflair-pwa-app'); ?>> 25 25 <span class="ifpwap_slider"></span> 26 26 </label> … … 29 29 <!-- Exclude URLs from Cache list textarea --> 30 30 <tr valign="top"> 31 <th scope="row"><?php echo esc_html__('Exclude URLs from Cache list','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: This feature is useful when you have certain resources that you do not want to be cached, either because they are dynamic or because caching them could lead to undesirable behavior. Seperate the URLs using Comma(,)','ifpwap-pwa-app'); ?></label></span></th>31 <th scope="row"><?php echo esc_html__('Exclude URLs from Cache list','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: This feature is useful when you have certain resources that you do not want to be cached, either because they are dynamic or because caching them could lead to undesirable behavior. Seperate the URLs using Comma(,)','iflair-pwa-app'); ?></label></span></th> 32 32 <td> 33 33 <textarea cols="50" rows="5" placeholder="https://example.com/2019/06/06/hello-world/, https://example.com/2019/06/06/hello-world-2/" name="ifpwap_exclude_urls_from_cache_list"><?php if(isset($ifpwap_exclude_urls_from_cache_list) && !empty($ifpwap_exclude_urls_from_cache_list)) { echo esc_textarea($ifpwap_exclude_urls_from_cache_list); } ?></textarea> -
iflair-pwa-app/trunk/includes/admin/caching-strategies.php
r3076417 r3433574 17 17 <!-- Caching Strategies Type field --> 18 18 <tr valign="top"> 19 <th scope="row"><?php echo esc_html__('Caching Strategies Type','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Caching strategies refer to the methods used to determine how resources such as HTML files, JavaScript, CSS, images, and API responses are stored and retrieved in a web application. These strategies play a crucial role in optimizing performance, reducing network dependencies and enabling offline capabilities especially in Progressive Web Apps (PWAs) and applications utilizing service workers.','ifpwap-pwa-app'); ?></label></span></th>19 <th scope="row"><?php echo esc_html__('Caching Strategies Type','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Caching strategies refer to the methods used to determine how resources such as HTML files, JavaScript, CSS, images, and API responses are stored and retrieved in a web application. These strategies play a crucial role in optimizing performance, reducing network dependencies and enabling offline capabilities especially in Progressive Web Apps (PWAs) and applications utilizing service workers.','iflair-pwa-app'); ?></label></span></th> 20 20 <td> 21 21 <label for="ifpwap_network_first" class="ifpwap_cache"> 22 <input type="radio" name="ifpwap_caching_type" id="ifpwap_network_first" value="network_first" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'network_first') { echo esc_html__('checked=checked','if pwap-pwa-app'); } ?> />23 <span><?php echo esc_html__('Network first, then Cache','if pwap-pwa-app'); ?></span>24 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('In the network-first strategy, the application attempts to fetch the requested resource from the network first. If the network request succeeds, the response is returned to the application. If the network request fails, the application falls back to the cache to retrieve the resource. This strategy ensures that the most up-to-date version of the resource is always served whenever possible.','if pwap-pwa-app'); ?></label></span>22 <input type="radio" name="ifpwap_caching_type" id="ifpwap_network_first" value="network_first" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'network_first') { echo esc_html__('checked=checked','iflair-pwa-app'); } ?> /> 23 <span><?php echo esc_html__('Network first, then Cache','iflair-pwa-app'); ?></span> 24 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('In the network-first strategy, the application attempts to fetch the requested resource from the network first. If the network request succeeds, the response is returned to the application. If the network request fails, the application falls back to the cache to retrieve the resource. This strategy ensures that the most up-to-date version of the resource is always served whenever possible.','iflair-pwa-app'); ?></label></span> 25 25 </label> 26 26 <label for="ifpwap_cache_first" class="ifpwap_cache"> 27 <input type="radio" name="ifpwap_caching_type" id="ifpwap_cache_first" value="cache_first" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'cache_first') { echo esc_html__('checked=checked','if pwap-pwa-app'); } ?> />28 <span><?php echo esc_html__('Cache first, then Network','if pwap-pwa-app'); ?></span>29 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('This strategy involves checking the cache for the requested resource first. If the resource is found in the cache, it is returned immediately. If the resource is not found in the cache, the request is made to the network, and the response is cached for future use. This strategy prioritizes serving resources from the cache whenever possible to reduce latency and decrease network traffic.','if pwap-pwa-app'); ?></label></span>27 <input type="radio" name="ifpwap_caching_type" id="ifpwap_cache_first" value="cache_first" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'cache_first') { echo esc_html__('checked=checked','iflair-pwa-app'); } ?> /> 28 <span><?php echo esc_html__('Cache first, then Network','iflair-pwa-app'); ?></span> 29 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('This strategy involves checking the cache for the requested resource first. If the resource is found in the cache, it is returned immediately. If the resource is not found in the cache, the request is made to the network, and the response is cached for future use. This strategy prioritizes serving resources from the cache whenever possible to reduce latency and decrease network traffic.','iflair-pwa-app'); ?></label></span> 30 30 </label> 31 31 <label for="ifpwap_steal_while_revalidate" class="ifpwap_cache"> 32 <input type="radio" name="ifpwap_caching_type" id="ifpwap_steal_while_revalidate" value="steal_while_revalidate" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'steal_while_revalidate') { echo esc_html__('checked=checked','if pwap-pwa-app'); } ?> />33 <span><?php echo esc_html__('Stale While Revalidate','if pwap-pwa-app'); ?></span>34 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('This strategy involves first serving the resource from the cache while simultaneously making a request to the network to fetch an updated version. The cached version of the resource is immediately displayed to the user, providing a fast response time. This strategy provides a balance between serving cached content and ensuring it stays up-to-date.','if pwap-pwa-app'); ?></label></span>32 <input type="radio" name="ifpwap_caching_type" id="ifpwap_steal_while_revalidate" value="steal_while_revalidate" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'steal_while_revalidate') { echo esc_html__('checked=checked','iflair-pwa-app'); } ?> /> 33 <span><?php echo esc_html__('Stale While Revalidate','iflair-pwa-app'); ?></span> 34 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('This strategy involves first serving the resource from the cache while simultaneously making a request to the network to fetch an updated version. The cached version of the resource is immediately displayed to the user, providing a fast response time. This strategy provides a balance between serving cached content and ensuring it stays up-to-date.','iflair-pwa-app'); ?></label></span> 35 35 </label> 36 36 <label for="ifpwap_cache_only" class="ifpwap_cache"> 37 <input type="radio" name="ifpwap_caching_type" id="ifpwap_cache_only" value="cache_only" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'cache_only') echo esc_html__('checked=checked','if pwap-pwa-app'); ?> />38 <span><?php echo esc_html__('Cache only','if pwap-pwa-app'); ?></span>39 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The cache-only strategy attempts to retrieve the resource exclusively from the cache without making a network request. If the resource is not found in the cache, the request fails. This strategy is useful for ensuring offline access to cached resources but requires careful management of cached data.','if pwap-pwa-app'); ?></label></span>37 <input type="radio" name="ifpwap_caching_type" id="ifpwap_cache_only" value="cache_only" <?php if (!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'cache_only') echo esc_html__('checked=checked','iflair-pwa-app'); ?> /> 38 <span><?php echo esc_html__('Cache only','iflair-pwa-app'); ?></span> 39 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The cache-only strategy attempts to retrieve the resource exclusively from the cache without making a network request. If the resource is not found in the cache, the request fails. This strategy is useful for ensuring offline access to cached resources but requires careful management of cached data.','iflair-pwa-app'); ?></label></span> 40 40 </label> 41 41 <label for="ifpwap_network_only" class="ifpwap_cache"> 42 <input type="radio" name="ifpwap_caching_type" id="ifpwap_network_only" value="network_only" <?php if(!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'network_only') echo esc_html__('checked=checked','if pwap-pwa-app'); ?> />43 <span><?php echo esc_html__('Network only','if pwap-pwa-app'); ?></span><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The network-only strategy fetches the resource exclusively from the network without consulting the cache. It ensures that the application always receives the latest version of the resource from the network. This strategy is suitable for resources that require real-time data and should not be served from the cache.','ifpwap-pwa-app'); ?></label></span>42 <input type="radio" name="ifpwap_caching_type" id="ifpwap_network_only" value="network_only" <?php if(!empty($ifpwap_caching_type) && $ifpwap_caching_type == 'network_only') echo esc_html__('checked=checked','iflair-pwa-app'); ?> /> 43 <span><?php echo esc_html__('Network only','iflair-pwa-app'); ?></span><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The network-only strategy fetches the resource exclusively from the network without consulting the cache. It ensures that the application always receives the latest version of the resource from the network. This strategy is suitable for resources that require real-time data and should not be served from the cache.','iflair-pwa-app'); ?></label></span> 44 44 </label> 45 45 </td> … … 47 47 <!-- Pre Caching field --> 48 48 <tr valign="top"> 49 <th scope="row"><?php echo esc_html__('Pre Caching Manual','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Seperate the URLs using Comma(,)','ifpwap-pwa-app'); ?><br><?php echo esc_html__('Place the list of URLs which you want to pre cache by service worker','ifpwap-pwa-app'); ?></label></span></th>49 <th scope="row"><?php echo esc_html__('Pre Caching Manual','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Seperate the URLs using Comma(,)','iflair-pwa-app'); ?><br><?php echo esc_html__('Place the list of URLs which you want to pre cache by service worker','iflair-pwa-app'); ?></label></span></th> 50 50 <td> 51 51 <label><textarea placeholder="https://example.com/2019/06/06/hello-world/, https://example.com/2019/06/06/hello-world-2/" name="ifpwap_pre_caching_manual" rows="5" cols="50"><?php echo esc_textarea($ifpwap_pre_caching_manual);?></textarea> -
iflair-pwa-app/trunk/includes/admin/settings_fields.php
r3076417 r3433574 27 27 <table class="form-table first-sec"> 28 28 <tr valign="top"> 29 <th scope="row"><?php echo esc_html__('Display custom button in footer?','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('You can see custom Install button at footer at frontside','ifpwap-pwa-app'); ?></label></span></th>29 <th scope="row"><?php echo esc_html__('Display custom button in footer?','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('You can see custom Install button at footer at frontside','iflair-pwa-app'); ?></label></span></th> 30 30 <td> 31 31 <label for="ifpwap_custom_footer_btn" class="ifpwap_toggle"> 32 <input type="checkbox" id="ifpwap_custom_footer_btn" name="ifpwap_custom_footer_btn" value="yes" <?php if(!empty($ifpwap_custom_footer_btn) && $ifpwap_custom_footer_btn == 'yes') echo esc_html__('checked=checked','if pwap-pwa-app'); ?>>32 <input type="checkbox" id="ifpwap_custom_footer_btn" name="ifpwap_custom_footer_btn" value="yes" <?php if(!empty($ifpwap_custom_footer_btn) && $ifpwap_custom_footer_btn == 'yes') echo esc_html__('checked=checked','iflair-pwa-app'); ?>> 33 33 <span class="ifpwap_slider"></span> 34 34 </label> … … 37 37 <!-- APP Name Field --> 38 38 <tr valign="top"> 39 <th scope="row"><?php echo esc_html__('APP Name :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "App Name" typically refers to the name or title of the web application as it appears on the users device, such as on the home screen, in the app launcher, or in the task switcher. ','ifpwap-pwa-app'); ?></label></span></th>39 <th scope="row"><?php echo esc_html__('APP Name :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "App Name" typically refers to the name or title of the web application as it appears on the users device, such as on the home screen, in the app launcher, or in the task switcher. ','iflair-pwa-app'); ?></label></span></th> 40 40 <td> 41 41 <input type="text" name="ifpwap_app_title" id="ifpwap_app_title" value="<?php if(isset($ifpwap_app_title) && !empty($ifpwap_app_title)) { echo esc_html($ifpwap_app_title); } ?>"> … … 44 44 <!-- APP Short Name field --> 45 45 <tr valign="top"> 46 <th scope="row"><?php echo esc_html__('APP Short Name :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "App Short Name" refers to a shortened version of the applications name that is used in places where space is limited, such as on the devices home screen, in the app launcher, or in notifications.','ifpwap-pwa-app'); ?></label></span></th>46 <th scope="row"><?php echo esc_html__('APP Short Name :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "App Short Name" refers to a shortened version of the applications name that is used in places where space is limited, such as on the devices home screen, in the app launcher, or in notifications.','iflair-pwa-app'); ?></label></span></th> 47 47 <td> 48 48 <input type="text" name="ifpwap_app_short_title" id="ifpwap_app_short_title" value="<?php if(isset($ifpwap_app_short_title) && !empty($ifpwap_app_short_title)) { echo esc_html($ifpwap_app_short_title); } ?>"> … … 50 50 </tr> 51 51 <tr valign="top"> 52 <th scope="row"><?php echo esc_html__('App Icon :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Image should be 192x192 and png format for mobile device','ifpwap-pwa-app'); ?></th>52 <th scope="row"><?php echo esc_html__('App Icon :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Image should be 192x192 and png format for mobile device','iflair-pwa-app'); ?></th> 53 53 <td> 54 54 <?php … … 59 59 <img src="<?php echo esc_url( $ifpwap_app_image ) ?>" /> 60 60 </a> 61 <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','if pwap-pwa-app');?></a>61 <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a> 62 62 <input type="hidden" name="ifpwap_app_icon" value="<?php echo esc_attr(absint( $ifpwap_app_icon_id ) ); ?>"></div> 63 63 <?php else : ?> 64 64 <div class="ifpwap-upload-wrap"> 65 <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','if pwap-pwa-app');?></a>66 <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','if pwap-pwa-app');?></a>65 <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','iflair-pwa-app');?></a> 66 <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a> 67 67 <input type="hidden" name="ifpwap_app_icon" value="<?php echo esc_attr(absint($ifpwap_app_icon_id)); ?>"></div> 68 68 <?php endif; ?> … … 71 71 <!-- Space Screen Icon field --> 72 72 <tr valign="top"> 73 <th scope="row"><?php echo esc_html__('Space Screen Icon :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Image should be 512x512 and png format for desktop device.','ifpwap-pwa-app'); ?></label></span></th>73 <th scope="row"><?php echo esc_html__('Space Screen Icon :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Note: Image should be 512x512 and png format for desktop device.','iflair-pwa-app'); ?></label></span></th> 74 74 <td> 75 75 <?php … … 80 80 <img src="<?php echo esc_url( $ifpwap_space_screen_icon ) ?>"/> 81 81 </a> 82 <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','if pwap-pwa-app');?></a>82 <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a> 83 83 <input type="hidden" name="ifpwap_space_screen_icon" value="<?php echo esc_attr( absint( $ifpwap_space_screen_icon_id ) ); ?>"> 84 84 </div> 85 85 <?php else : ?> 86 86 <div class="ifpwap-upload-wrap"> 87 <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','if pwap-pwa-app');?></a>88 <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','if pwap-pwa-app');?></a>87 <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','iflair-pwa-app');?></a> 88 <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a> 89 89 <input type="hidden" name="ifpwap_space_screen_icon" value="<?php echo esc_attr(absint($ifpwap_space_screen_icon_id)); ?>"></div> 90 90 <?php endif; ?> … … 97 97 <!-- Background Color field --> 98 98 <tr valign="top"> 99 <th scope="row"><?php echo esc_html__('Background Color :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "background color" property refers to the color that is displayed behind the content of the application.','ifpwap-pwa-app'); ?></label></span></th>99 <th scope="row"><?php echo esc_html__('Background Color :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "background color" property refers to the color that is displayed behind the content of the application.','iflair-pwa-app'); ?></label></span></th> 100 100 <td> 101 101 <input class="ifpwap-background-color" name="ifpwap_background_color" type="text" value="<?php if(isset($ifpwap_background_color) && !empty($ifpwap_background_color)) { echo esc_attr($ifpwap_background_color); } ?>" data-default-color="#effeff" /> … … 104 104 <!-- Theme color field --> 105 105 <tr valign="top"> 106 <th scope="row"><?php echo esc_html__('Theme Color :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "theme color" property refers to the primary color that is used to customize the browsers UI elements to match the color scheme of the PWA. ','ifpwap-pwa-app'); ?></label></span></th>106 <th scope="row"><?php echo esc_html__('Theme Color :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "theme color" property refers to the primary color that is used to customize the browsers UI elements to match the color scheme of the PWA. ','iflair-pwa-app'); ?></label></span></th> 107 107 <td> 108 108 <input class="ifpwap-theme-color" name="ifpwap_theme_color" type="text" value="<?php if(isset($ifpwap_theme_color) && !empty($ifpwap_theme_color)) { echo esc_attr($ifpwap_theme_color); } ?>" data-default-color="#effeff" /> … … 111 111 <!-- Start page field --> 112 112 <tr valign="top"> 113 <th scope="row"><?php echo esc_html__('Start Page:', 'if pwap-pwa-app'); ?>114 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The start page refers to the initial webpage or landing page that users encounter when they first visit a website or open a web browser.','if pwap-pwa-app'); ?></label></span>113 <th scope="row"><?php echo esc_html__('Start Page:', 'iflair-pwa-app'); ?> 114 <span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The start page refers to the initial webpage or landing page that users encounter when they first visit a website or open a web browser.','iflair-pwa-app'); ?></label></span> 115 115 </th> 116 116 <td> 117 117 <select name="ifpwap_select_start_page"> 118 <option disabled="disabled" value="<?php echo esc_attr(''); ?>" <?php selected('', esc_attr(get_option('ifpwap_select_start_page')), true); ?>><?php echo esc_html__('Select page', 'if pwap-pwa-app'); ?>118 <option disabled="disabled" value="<?php echo esc_attr(''); ?>" <?php selected('', esc_attr(get_option('ifpwap_select_start_page')), true); ?>><?php echo esc_html__('Select page', 'iflair-pwa-app'); ?> 119 119 </option> 120 120 <?php … … 142 142 <!-- Offline page field --> 143 143 <tr valign="top"> 144 <th scope="row"><?php echo esc_html__('Offline Page:', 'if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('An offline page is a webpage that is displayed to users when they attempt to access a website or web application while offline, meaning they dont have an active internet connection and the requested page is not already cached.','ifpwap-pwa-app'); ?></label></span></th>144 <th scope="row"><?php echo esc_html__('Offline Page:', 'iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('An offline page is a webpage that is displayed to users when they attempt to access a website or web application while offline, meaning they dont have an active internet connection and the requested page is not already cached.','iflair-pwa-app'); ?></label></span></th> 145 145 <td> 146 146 <select name="ifpwap_select_offline_page"> 147 147 <option disabled="disabled" value="<?php echo esc_attr(''); ?>" <?php selected('', esc_attr(get_option('ifpwap_select_offline_page')), true); ?>> 148 <?php echo esc_html__('Select page', 'if pwap-pwa-app'); ?>148 <?php echo esc_html__('Select page', 'iflair-pwa-app'); ?> 149 149 </option> 150 150 <?php … … 172 172 <!-- Orientation field --> 173 173 <tr valign="top"> 174 <th scope="row"><?php echo esc_html__('Orientation :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Orientation refers to the positioning or alignment of an object, typically in relation to a reference point or axis.','ifpwap-pwa-app'); ?></label></span></th>174 <th scope="row"><?php echo esc_html__('Orientation :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('Orientation refers to the positioning or alignment of an object, typically in relation to a reference point or axis.','iflair-pwa-app'); ?></label></span></th> 175 175 <td> 176 176 <select name="ifpwap_orientation"> 177 <option value="any"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "any"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('Any','ifpwap-pwa-app'); ?></option>178 <option value="portrait"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "portrait"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('Portrait','ifpwap-pwa-app'); ?></option>179 <option value="landscape"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "landscape"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('Landscape','ifpwap-pwa-app'); ?></option>177 <option value="any"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "any"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('Any','iflair-pwa-app'); ?></option> 178 <option value="portrait"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "portrait"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('Portrait','iflair-pwa-app'); ?></option> 179 <option value="landscape"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "landscape"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('Landscape','iflair-pwa-app'); ?></option> 180 180 </select> 181 181 </td> … … 183 183 <!-- Display field --> 184 184 <tr valign="top"> 185 <th scope="row"><?php echo esc_html__('Display :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "display" property allows developers to specify how the web application will be presented to users when launched from the home screen or app launcher. ','ifpwap-pwa-app'); ?></label></span></th>185 <th scope="row"><?php echo esc_html__('Display :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "display" property allows developers to specify how the web application will be presented to users when launched from the home screen or app launcher. ','iflair-pwa-app'); ?></label></span></th> 186 186 <td> 187 187 <select name="ifpwap_display"> 188 <option value="fullscreen"<?php if(!empty($ifpwap_display) && $ifpwap_display == "fullscreen"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('Full Screen','ifpwap-pwa-app'); ?></option>189 <option value="standalone"<?php if(!empty($ifpwap_display) && $ifpwap_display == "standalone"){ echo esc_html__('selected', 'if pwap-pwa-app'); }?>><?php echo esc_html__('Standalone','ifpwap-pwa-app'); ?></option>190 <option value="minimal-ui"<?php if(!empty($ifpwap_display) && $ifpwap_display == "minimal-ui"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('Minimal UI','ifpwap-pwa-app'); ?></option>188 <option value="fullscreen"<?php if(!empty($ifpwap_display) && $ifpwap_display == "fullscreen"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('Full Screen','iflair-pwa-app'); ?></option> 189 <option value="standalone"<?php if(!empty($ifpwap_display) && $ifpwap_display == "standalone"){ echo esc_html__('selected', 'iflair-pwa-app'); }?>><?php echo esc_html__('Standalone','iflair-pwa-app'); ?></option> 190 <option value="minimal-ui"<?php if(!empty($ifpwap_display) && $ifpwap_display == "minimal-ui"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('Minimal UI','iflair-pwa-app'); ?></option> 191 191 </select> 192 192 </td> … … 194 194 <!-- Text Direction field --> 195 195 <tr valign="top"> 196 <th scope="row"><?php echo esc_html__('Text Direction :','if pwap-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "text direction" property allows developers to specify the direction in which text is displayed within the application. This property is particularly relevant for languages that are written from right to left (RTL), such as Arabic, Hebrew, and Persian, as opposed to languages that are written from left to right (LTR), such as English. ','ifpwap-pwa-app'); ?></label></span></th>196 <th scope="row"><?php echo esc_html__('Text Direction :','iflair-pwa-app'); ?><span class="ifpwap_ctooltip"><sup><img src="<?php echo esc_url($ifpwap_tooltip_url);?>"></sup><label class="ifpwap-tooltip-content"><?php echo esc_html__('The "text direction" property allows developers to specify the direction in which text is displayed within the application. This property is particularly relevant for languages that are written from right to left (RTL), such as Arabic, Hebrew, and Persian, as opposed to languages that are written from left to right (LTR), such as English. ','iflair-pwa-app'); ?></label></span></th> 197 197 <td> 198 198 <select name="ifpwap_text_direction"> 199 <option value="ltr"<?php if(!empty($ifpwap_text_direction) && $ifpwap_text_direction == "ltr"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('LTR','ifpwap-pwa-app'); ?></option>200 <option value="rtr"<?php if(!empty($ifpwap_text_direction) && $ifpwap_text_direction == "rtr"){ echo esc_html__('selected','if pwap-pwa-app'); }?>><?php echo esc_html__('RTL','ifpwap-pwa-app'); ?></option>199 <option value="ltr"<?php if(!empty($ifpwap_text_direction) && $ifpwap_text_direction == "ltr"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('LTR','iflair-pwa-app'); ?></option> 200 <option value="rtr"<?php if(!empty($ifpwap_text_direction) && $ifpwap_text_direction == "rtr"){ echo esc_html__('selected','iflair-pwa-app'); }?>><?php echo esc_html__('RTL','iflair-pwa-app'); ?></option> 201 201 </select> 202 202 </td> -
iflair-pwa-app/trunk/readme.txt
r3226658 r3433574 1 === PWAApp ===1 === SiteEase Progressive Web App === 2 2 Contributors: iflairwebtechnologies 3 3 Donate link: https://www.iflair.com 4 Tags: p wa app4 Tags: progressive web app, pwa, offline, cache, service worker 5 5 Requires at least: 4.7 6 Tested up to: 6. 77 Stable tag: 1.1. 36 Tested up to: 6.9 7 Stable tag: 1.1.4 8 8 Requires PHP: 5.6 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 11 12 PWA App by iFlair plugin is a tool designed to convert a WordPress website into a Progressive Web App. PWAs combine the features of both web and mobile applications to provide users with an engaging and responsive experience.12 SiteEase Progressive Web App converts your WordPress website into a Progressive Web App (PWA) with offline support, caching strategies, and installable app features for modern browsers. 13 13 14 14 == Description == 15 15 16 PWA App by iFlair plugin transforms your website into a Progressive Web App (PWA), enhancing user experience with app-like features such as faster load times, offline accessibility, and the convenience of adding the site to a smartphone's home screen. It also offers customizable backend settings, allowing modifications to the app's color, name, and more, ensuring a personalized and seamless integration.16 **SiteEase Progressive Web App** allows you to transform your WordPress website into a fully functional Progressive Web App (PWA). It provides app-like capabilities such as offline access, faster loading through caching strategies, and the ability for users to install your site on their device’s home screen. 17 17 18 ### Functionalities: 18 The plugin offers an intuitive admin interface where you can configure application details, appearance, caching behavior, and advanced PWA options without writing code. 19 19 20 **1) APP Name:** The "App Name" typically refers to the name or title of the web application as it appears on the users' devices, such as on the home screen, in the app launcher, or in the task switcher.20 This plugin does **not collect personal data** and focuses entirely on performance, usability, and offline availability. 21 21 22 **2) APP Short Name:** The "App Short Name" refers to a shortened version of the application's name used in places where space is limited, such as on the device's home screen, in the app launcher, or in notifications. 22 --- 23 23 24 **3) App Icon:** This App Icon is displayed on mobile devices. 24 ### Core Features 25 25 26 **4) Space Screen Icon:** This Space Screen Icon is displayed on desktop devices. 26 **1) App Name** 27 Defines the name displayed on the home screen, app launcher, and task switcher. 27 28 28 **5) Background Color:** The "Background Color" property refers to the color displayed behind the application's content. 29 **2) App Short Name** 30 A shortened version of the app name used where space is limited. 29 31 30 **6) Theme Color:** The "Theme Colour" property refers to the primary color used to customize the browser UI elements to match the color scheme of the PWA. 32 **3) App Icon** 33 Icon displayed when the PWA is installed on mobile devices. 31 34 32 **7) Start Page:** The start page refers to the initial webpage or landing page users encounter when they first visit a website or open a web browser. 35 **4) Splash Screen Icon** 36 Icon shown on the splash screen during app launch, primarily on desktop devices. 33 37 34 **8) Offline Page:** An offline page is a webpage displayed to users when they attempt to access a website or web application while offline, meaning they don't have an active internet connection and the requested page is not already cached. 38 **5) Background Color** 39 Sets the background color used while the application loads. 35 40 36 **9) Orientation:** Orientation refers to the positioning or alignment of an object, typically about a reference point or axis. 41 **6) Theme Color** 42 Defines the primary UI color for browser and OS elements. 37 43 38 **10) Display:** The "Display" property allows developers to specify how the web application will be presented to users when launched from the home screen or app launcher. 44 **7) Start Page** 45 Select the page users land on when opening the installed PWA. 39 46 40 **11) Text Direction:** The "Text Direction" property allows developers to specify the direction in which text is displayed within the application. This property is particularly relevant for languages written from right to left (RTL), such as Arabic, Hebrew, and Persian, as opposed to languages written from left to right (LTR), such as English. 47 **8) Offline Page** 48 Specify a custom page shown when users are offline and content is unavailable. 41 49 42 **12) Caching Strategies Type:** Caching Strategies refer to the methods used to determine how resources such as HTML files, JavaScript, CSS, images, and API responses are stored and retrieved in a web application. These strategies are crucial in optimizing performance, reducing network dependencies, and enabling offline capabilities, especially in Progressive Web Apps (PWAs) and applications utilizing service workers. 50 **9) Orientation** 51 Control whether the app displays in portrait, landscape, or auto mode. 43 52 44 **13) Pre-Caching Manual:** This progressive web app plugin turns your website into a Progressive Web App (PWA). It offers pre-caching manuals for faster load times and offline access with customizable settings for a personalized experience. 53 **10) Display Mode** 54 Choose how the PWA appears (standalone, fullscreen, minimal UI, or browser). 45 55 46 **14) Cache External Origin URLs:** This plugin's Caching External Origin URLs feature involves storing copies of resources (such as images, scripts, or stylesheets) from external websites or servers in a local cache. This caching mechanism helps improve website performance by reducing latency and server load, as the resources can be retrieved quickly from the local cache instead of fetching them from the external origin every time a user accesses the website. 56 **11) Text Direction** 57 Supports both LTR and RTL languages. 47 58 48 **15) Exclude URLs from Cache List:** This feature is useful when you have specific resources you don't want to be cached, either because they are dynamic or because caching them could lead to undesirable behavior. Separate the URLs using Comma(,). 59 **12) Caching Strategy Type** 60 Configure caching strategies for assets, pages, and requests using service workers. 61 62 **13) Manual Pre-Caching** 63 Define URLs that should be cached in advance for faster load times and offline use. 64 65 **14) Cache External Origin URLs** 66 Enable caching of external resources such as fonts, scripts, or images. 67 68 **15) Exclude URLs from Cache** 69 Exclude specific URLs from caching (comma-separated). 70 71 --- 49 72 50 73 == Installation == 51 74 52 1. Visit Plugins > Add New 53 2. Search for "PWA App by iFlair" 54 3. Install and Activate PWA App by iFlair from your plugins page 55 4. Follow setup steps on PWA App by iFlair Settings page 75 1. Go to **Plugins → Add New** 76 2. Search for **SiteEase Progressive Web App** 77 3. Install and activate the plugin 78 4. Open **Settings → SiteEase PWA** to configure options 79 80 --- 56 81 57 82 == Frequently Asked Questions == 58 = How to install and use this PWA plugin? =59 To install and utilize the PWA App by iFlair plugin, follow these steps:60 * Install the plugin on your WordPress site through the Plugin menu and activate the plugin.61 * Navigate to the PWA App by iFlair Settings page.62 * Here, you'll find the status of the plugin and setup options for customization.63 83 64 = What is the main purpose of the PWA App by iFlair plugin? =65 The primary purpose of the PWA App by iFlair plugin is to enable users to create a Progressive Web App (PWA) for their website. Once installed, users can manage their website through an app-like interface across various devices, with options for customization to suit specific requirements.84 = What does this plugin do? = 85 It converts a WordPress website into a Progressive Web App with offline access, caching, and installable features. 66 86 67 = How To Customize Splash Screen icon and App icon? = 68 Customizing the Splash Screen icon and App icon is easy: 69 * Navigate to the PWA App by iFlair > Basic settings. 70 * Within this section, you can easily modify the icons to personalize the appearance of your PWA. 87 = Do I need coding knowledge to use this plugin? = 88 No. All settings are configurable through the WordPress admin panel. 71 89 72 = How does the PWA App by iFlair ensure GDPR compliance? =73 PWA App by iFlair adheres to GDPR compliance standards. It does not collect or store user data, nor does it utilize cookies or store tracking data. Content accessed by users via the PWA is stored locally on the user's device, akin to modern browsers caching content for offline access, ensuring privacy and compliance with data protection regulations.90 = Does this plugin collect user data? = 91 No. The plugin does not collect, store, or transmit personal user data. 74 92 75 = How can manage caching Strategies? = 76 Managing caching strategies with the PWA App by iFlair plugin involves the following steps: 77 * After activating the plugin, navigate to the PWA App by iFlair > Caching Strategies Type option. 78 * Within this section, you can select and configure the caching method that best suits your requirements, allowing for efficient management of cached content. 93 = Can I control caching behavior? = 94 Yes. You can select caching strategies, pre-cache URLs, exclude URLs, and cache external resources. 79 95 80 = Do you have options for Pre-Caching URLs and Excluding URLs from Cache in your plugin? =81 Yes , we do. You can access these features within the "Caching Strategies" section and the "Advanced" section of the PWA App by the iFlair plugin. Here, you can configure the URLs for pre-caching and exclude specific URLs from being cached according to your requirements.96 = Is this plugin GDPR-compliant? = 97 Yes. The plugin does not track users or store personal information. 82 98 83 = Can I store data from external URLs locally using the PWA App by iFlair plugin? = 84 Absolutely. You have the option to enable the "Cache External Origin URLs" feature within the "Advanced" section of the PWA App by iFlair plugin. This allows you to store data from external URLs locally on your system, enhancing the performance and accessibility of your PWA. 99 --- 100 101 == External Services == 102 103 This plugin uses **Google Workbox** via CDN for service worker and caching functionality. 104 105 **Service:** Google Workbox 106 **Purpose:** Enables service workers and caching strategies 107 **Data Sent:** None 108 **Privacy Policy:** https://policies.google.com/privacy 109 110 --- 85 111 86 112 == Screenshots == 87 113 88 1. Frontend - Popup button89 2. Frontend - Popup90 3. Backend - Basic settings page91 4. Backend - Caching strategies settings page92 5. Backend - Advanced settings page114 1. Frontend – PWA install popup 115 2. Frontend – PWA interface 116 3. Backend – Basic settings 117 4. Backend – Caching strategies 118 5. Backend – Advanced settings 93 119 94 == Change Log == 95 = Version 1.0.0 = 96 * Plugin release and submit to wordPress.org 120 --- 97 121 98 = Version 1.1.0 = 99 * We have improve User interface & we have made our plugin more compatible with different theme. 122 == Changelog == 100 123 101 = Version 1.1.1=102 * We have updated in plugin core file124 = 1.0.0 = 125 * Initial release 103 126 104 = Version 1.1.2=105 * We have changed plugin screenshot name for user127 = 1.1.0 = 128 * Improved admin UI and theme compatibility 106 129 107 = Version 1.1.3 = 108 * We have changed plugin admin menu name 130 = 1.1.1 = 131 * Core improvements and optimizations 132 133 = 1.1.2 = 134 * Updated plugin screenshots 135 136 = 1.1.3 = 137 * Updated admin menu naming 138 139 = 1.1.4 = 140 * Renamed admin menu for better clarity 141 * Updated plugin naming to avoid conflicts 142 * Improved settings structure and labels 143 * Minor code cleanup and compatibility fixes
Note: See TracChangeset
for help on using the changeset viewer.