Plugin Directory

Changeset 3433574


Ignore:
Timestamp:
01/06/2026 12:26:03 PM (3 months ago)
Author:
iflairwebtechnologies
Message:

Fix plugin naming issues and update readme per directory guidelines

Location:
iflair-pwa-app
Files:
32 added
5 edited

Legend:

Unmodified
Added
Removed
  • iflair-pwa-app/trunk/iflair-pwa-app.php

    r3226658 r3433574  
    11<?php
    22/*
    3 Plugin Name: PWA App
    4 Description: iFlair PWA 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.
     3Plugin Name: SiteEase Progressive Web App
     4Description: 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.
    55Plugin URI: https://profiles.wordpress.org/iflairwebtechnologies
    6 Version: 1.1.3
     6Version: 1.1.4
    77Author: iFlair Web Technologies Pvt. Ltd.
    88Author URI: https://www.iflair.com/
    9 Text Domain: ifpwap-pwa-app
     9Text Domain: iflair-pwa-app
    1010License: GPLv2 or later
    1111*/
     
    1414if ( ! defined( 'ABSPATH' ) ) { die(); }
    1515// define plugin version
    16 define( 'IFPWAP_VERSION' , '1.0.0' );
     16define( 'IFPWAP_VERSION' , '1.1.4' );
    1717define( 'IFPWAP_FILE', __FILE__ );
    1818define( 'IFPWAP_DIR', dirname(__FILE__));
     
    5050        <!-- Here are our tabs -->
    5151        <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','ifpwap-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','ifpwap-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','ifpwap-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>
    5555        </nav>
    5656        <!-- Content Section -->
     
    7575add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'ifpwap_plugin_action_links' );
    7676function ifpwap_plugin_action_links( $links ) {
    77    $settings = '<a href="'. esc_url( get_admin_url(null, 'admin.php?page=ifpwap-plugin') ) .'">'. esc_html__('Settings','ifpwap-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>'; 
    7878   array_unshift($links , $settings);
    7979   return $links;
     
    211211                    'ifpwap-notices',
    212212                    'ifpwap-success',
    213                     esc_html__('Your settings are saved successfully.', 'ifpwap-pwa-app'),
     213                    esc_html__('Your settings are saved successfully.', 'iflair-pwa-app'),
    214214                    'updated'
    215215                );
     
    218218                    'ifpwap-notices',
    219219                    'ifpwap-success',
    220                     esc_html__('Your settings are saved successfully.', 'ifpwap-pwa-app'),
     220                    esc_html__('Your settings are saved successfully.', 'iflair-pwa-app'),
    221221                    'updated'
    222222                );
     
    227227                    'ifpwap-notices',
    228228                    'ifpwap-error',
    229                     esc_html__('Settings not saved', 'ifpwap-pwa-app'),
     229                    esc_html__('Settings not saved', 'iflair-pwa-app'),
    230230                    'error'
    231231                );
     
    234234                    'ifpwap-notices',
    235235                    'ifpwap-error',
    236                     esc_html__('Settings not saved', 'ifpwap-pwa-app'),
     236                    esc_html__('Settings not saved', 'iflair-pwa-app'),
    237237                    'error'
    238238                );
     
    288288$start_url = '"' . site_url();
    289289// 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;
     290if ( ! 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            }
    301314        }
    302315    }
    303316}
     317
    304318$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);
    305319
    306320if (empty($ifpwap_description)) {
    307     $ifpwap_description = esc_html__("This PWA APP WordPress plugin description", "ifpwap-pwa-app");
     321    $ifpwap_description = esc_html__("This PWA APP WordPress plugin description", "iflair-pwa-app");
    308322}
    309323
     
    364378    $manifest_fp = trailingslashit($root_path) . "ifpwap-manifest.json";
    365379    if (false === $wp_filesystem->put_contents($manifest_fp, $ifpwap_manifest_json, FS_CHMOD_FILE)) {
    366         echo esc_html__('Failed to write the manifest file.', 'ifpwap-pwa-app');
     380        echo esc_html__('Failed to write the manifest file.', 'iflair-pwa-app');
    367381    }
    368382} else {
    369     echo esc_html__('Filesystem API not initialized.', 'ifpwap-pwa-app');
     383    echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app');
    370384}
    371385
     
    421435    );
    422436    if (!$success) {
    423         echo esc_html__('Failed to write the service worker file.', 'ifpwap-pwa-app');
     437        echo esc_html__('Failed to write the service worker file.', 'iflair-pwa-app');
    424438    }
    425439} else {
    426     echo esc_html__('Filesystem API not initialized.', 'ifpwap-pwa-app');
     440    echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app');
    427441}
    428442// analytics js code for append
     
    666680    );
    667681    if (!$success) {
    668         echo esc_html__('Failed to write the service worker file.', 'ifpwap-pwa-app');
     682        echo esc_html__('Failed to write the service worker file.', 'iflair-pwa-app');
    669683    }
    670684} else {
    671     echo esc_html__('Filesystem API not initialized.', 'ifpwap-pwa-app');
     685    echo esc_html__('Filesystem API not initialized.', 'iflair-pwa-app');
    672686}
    673687
     
    810824        ?>       
    811825        <div class="ifpwap_files_url">
    812             <h3><?php echo esc_html__('Status','ifpwap-pwa-app');?></h3>
     826            <h3><?php echo esc_html__('Status','iflair-pwa-app');?></h3>
    813827            <?php
    814828            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.','ifpwap-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>
    816830            <?php } ?>
    817             <p class='ifpwap_https ifpwap_icon-link'><?php echo esc_html__('Website served over HTTPS:','ifpwap-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>
    818832        </div>
    819833    <?php } else {
    820         echo esc_html__('WordPress environment not found.','ifpwap-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  
    1818                <!-- Offline Analytics field -->
    1919                <tr valign="top">
    20                     <th scope="row"><?php echo esc_html__('Cache External Origin URLs','ifpwap-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.','ifpwap-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>
    2222                    <td>               
    2323                        <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','ifpwap-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'); ?>>
    2525                          <span class="ifpwap_slider"></span>
    2626                        </label>               
     
    2929                <!-- Exclude URLs from Cache list textarea -->
    3030                <tr valign="top">
    31                     <th scope="row"><?php echo esc_html__('Exclude URLs from Cache list','ifpwap-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>
    3232                    <td>               
    3333                        <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  
    1717                <!-- Caching Strategies Type field -->
    1818                <tr valign="top">
    19                     <th scope="row"><?php echo esc_html__('Caching Strategies Type','ifpwap-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>
    2020                    <td>
    2121                        <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','ifpwap-pwa-app'); } ?> />
    23                             <span><?php echo esc_html__('Network first, then Cache','ifpwap-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.','ifpwap-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>
    2525                        </label>
    2626                        <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','ifpwap-pwa-app'); } ?> />
    28                             <span><?php echo esc_html__('Cache first, then Network','ifpwap-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.','ifpwap-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>
    3030                        </label>               
    3131                        <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','ifpwap-pwa-app'); } ?> />
    33                             <span><?php echo esc_html__('Stale While Revalidate','ifpwap-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.','ifpwap-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>
    3535                        </label>               
    3636                        <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','ifpwap-pwa-app'); ?> />
    38                             <span><?php echo esc_html__('Cache only','ifpwap-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.','ifpwap-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>
    4040                        </label>
    4141                        <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','ifpwap-pwa-app'); ?> />
    43                             <span><?php echo esc_html__('Network only','ifpwap-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>
    4444                        </label>
    4545                    </td>
     
    4747                <!-- Pre Caching field -->
    4848                <tr valign="top">
    49                     <th scope="row"><?php echo esc_html__('Pre Caching Manual','ifpwap-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>
    5050                    <td>
    5151                        <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  
    2727            <table class="form-table first-sec">
    2828                <tr valign="top">
    29                     <th scope="row"><?php echo esc_html__('Display custom button in footer?','ifpwap-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>
    3030                    <td>               
    3131                        <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','ifpwap-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'); ?>>
    3333                          <span class="ifpwap_slider"></span>
    3434                        </label>               
     
    3737                <!-- APP Name Field -->
    3838                <tr valign="top">
    39                     <th scope="row"><?php echo esc_html__('APP Name :','ifpwap-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>
    4040                    <td>
    4141                        <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); } ?>">
     
    4444                <!-- APP Short Name field -->
    4545                <tr valign="top">
    46                     <th scope="row"><?php echo esc_html__('APP Short Name :','ifpwap-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>
    4747                    <td>
    4848                        <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); } ?>">
     
    5050                </tr>
    5151                <tr valign="top">
    52                     <th scope="row"><?php echo esc_html__('App Icon :','ifpwap-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>
    5353                    <td>
    5454                    <?php
     
    5959                            <img src="<?php echo esc_url( $ifpwap_app_image ) ?>" />
    6060                        </a>
    61                         <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','ifpwap-pwa-app');?></a>
     61                        <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a>
    6262                        <input type="hidden" name="ifpwap_app_icon" value="<?php echo esc_attr(absint( $ifpwap_app_icon_id ) ); ?>"></div>
    6363                    <?php else : ?>
    6464                        <div class="ifpwap-upload-wrap">
    65                         <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','ifpwap-pwa-app');?></a>
    66                         <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','ifpwap-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>
    6767                        <input type="hidden" name="ifpwap_app_icon" value="<?php echo esc_attr(absint($ifpwap_app_icon_id)); ?>"></div>
    6868                    <?php endif; ?>
     
    7171                <!-- Space Screen Icon field -->
    7272                <tr valign="top">
    73                     <th scope="row"><?php echo esc_html__('Space Screen Icon :','ifpwap-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>
    7474                    <td>
    7575                    <?php
     
    8080                            <img src="<?php echo esc_url( $ifpwap_space_screen_icon ) ?>"/>
    8181                        </a>
    82                         <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','ifpwap-pwa-app');?></a>
     82                        <a href="#" class="ifpwap-icon-remove"><?php echo esc_html__('Remove image','iflair-pwa-app');?></a>
    8383                        <input type="hidden" name="ifpwap_space_screen_icon" value="<?php echo esc_attr( absint( $ifpwap_space_screen_icon_id ) ); ?>">
    8484                    </div>
    8585                    <?php else : ?>
    8686                        <div class="ifpwap-upload-wrap">
    87                         <a href="#" class="button ifpwap-icon-upload"><?php echo esc_html__('Upload image','ifpwap-pwa-app');?></a>
    88                         <a href="#" class="ifpwap-icon-remove" style="display:none"><?php echo esc_html__('Remove image','ifpwap-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>
    8989                        <input type="hidden" name="ifpwap_space_screen_icon" value="<?php echo esc_attr(absint($ifpwap_space_screen_icon_id)); ?>"></div>
    9090                    <?php endif; ?>
     
    9797                <!-- Background Color field -->
    9898                <tr valign="top">
    99                     <th scope="row"><?php echo esc_html__('Background Color :','ifpwap-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>
    100100                    <td>
    101101                    <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" />   
     
    104104                <!-- Theme color field -->
    105105                <tr valign="top">
    106                     <th scope="row"><?php echo esc_html__('Theme Color :','ifpwap-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>
    107107                    <td>
    108108                    <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" />     
     
    111111                <!-- Start page field -->
    112112                <tr valign="top">
    113                     <th scope="row"><?php echo esc_html__('Start Page:', 'ifpwap-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.','ifpwap-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>
    115115                    </th>
    116116                    <td>
    117117                        <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', 'ifpwap-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'); ?>
    119119                            </option>
    120120                            <?php
     
    142142                <!-- Offline page field -->
    143143                <tr valign="top">
    144                     <th scope="row"><?php echo esc_html__('Offline Page:', 'ifpwap-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>
    145145                    <td>
    146146                        <select name="ifpwap_select_offline_page">
    147147                            <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', 'ifpwap-pwa-app'); ?>
     148                                <?php echo esc_html__('Select page', 'iflair-pwa-app'); ?>
    149149                            </option>
    150150                            <?php
     
    172172                <!-- Orientation field -->
    173173                <tr valign="top">
    174                     <th scope="row"><?php echo esc_html__('Orientation :','ifpwap-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>
    175175                    <td>
    176176                        <select name="ifpwap_orientation">
    177                             <option value="any"<?php if(!empty($ifpwap_orientation) && $ifpwap_orientation == "any"){ echo esc_html__('selected','ifpwap-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','ifpwap-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','ifpwap-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>
    180180                        </select>
    181181                    </td>
     
    183183                <!-- Display field -->
    184184                <tr valign="top">
    185                     <th scope="row"><?php echo esc_html__('Display :','ifpwap-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>
    186186                    <td>
    187187                        <select name="ifpwap_display">
    188                             <option value="fullscreen"<?php if(!empty($ifpwap_display) && $ifpwap_display == "fullscreen"){ echo esc_html__('selected','ifpwap-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', 'ifpwap-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','ifpwap-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>
    191191                        </select>
    192192                    </td>
     
    194194                <!-- Text Direction field -->
    195195                <tr valign="top">
    196                     <th scope="row"><?php echo esc_html__('Text Direction :','ifpwap-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>
    197197                    <td>
    198198                        <select name="ifpwap_text_direction">
    199                             <option value="ltr"<?php if(!empty($ifpwap_text_direction) && $ifpwap_text_direction == "ltr"){ echo esc_html__('selected','ifpwap-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','ifpwap-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>
    201201                        </select>
    202202                    </td>
  • iflair-pwa-app/trunk/readme.txt

    r3226658 r3433574  
    1 === PWA App ===
     1=== SiteEase Progressive Web App ===
    22Contributors: iflairwebtechnologies
    33Donate link: https://www.iflair.com
    4 Tags: pwa app
     4Tags: progressive web app, pwa, offline, cache, service worker
    55Requires at least: 4.7
    6 Tested up to: 6.7
    7 Stable tag: 1.1.3
     6Tested up to: 6.9
     7Stable tag: 1.1.4
    88Requires PHP: 5.6
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1111
    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.
     12SiteEase 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.
    1313
    1414== Description ==
    1515
    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.
    1717
    18 ### Functionalities:
     18The plugin offers an intuitive admin interface where you can configure application details, appearance, caching behavior, and advanced PWA options without writing code.
    1919
    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.
     20This plugin does **not collect personal data** and focuses entirely on performance, usability, and offline availability.
    2121
    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---
    2323
    24 **3) App Icon:** This App Icon is displayed on mobile devices.
     24### Core Features
    2525
    26 **4) Space Screen Icon:** This Space Screen Icon is displayed on desktop devices.
     26**1) App Name** 
     27Defines the name displayed on the home screen, app launcher, and task switcher.
    2728
    28 **5) Background Color:** The "Background Color" property refers to the color displayed behind the application's content.
     29**2) App Short Name** 
     30A shortened version of the app name used where space is limited.
    2931
    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** 
     33Icon displayed when the PWA is installed on mobile devices.
    3134
    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** 
     36Icon shown on the splash screen during app launch, primarily on desktop devices.
    3337
    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** 
     39Sets the background color used while the application loads.
    3540
    36 **9) Orientation:** Orientation refers to the positioning or alignment of an object, typically about a reference point or axis.
     41**6) Theme Color** 
     42Defines the primary UI color for browser and OS elements.
    3743
    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** 
     45Select the page users land on when opening the installed PWA.
    3946
    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** 
     48Specify a custom page shown when users are offline and content is unavailable.
    4149
    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** 
     51Control whether the app displays in portrait, landscape, or auto mode.
    4352
    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** 
     54Choose how the PWA appears (standalone, fullscreen, minimal UI, or browser).
    4555
    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** 
     57Supports both LTR and RTL languages.
    4758
    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** 
     60Configure caching strategies for assets, pages, and requests using service workers.
     61
     62**13) Manual Pre-Caching** 
     63Define URLs that should be cached in advance for faster load times and offline use.
     64
     65**14) Cache External Origin URLs** 
     66Enable caching of external resources such as fonts, scripts, or images.
     67
     68**15) Exclude URLs from Cache** 
     69Exclude specific URLs from caching (comma-separated).
     70
     71---
    4972
    5073== Installation ==
    5174
    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
     751. Go to **Plugins → Add New**
     762. Search for **SiteEase Progressive Web App**
     773. Install and activate the plugin
     784. Open **Settings → SiteEase PWA** to configure options
     79
     80---
    5681
    5782== 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.
    6383
    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? =
     85It converts a WordPress website into a Progressive Web App with offline access, caching, and installable features.
    6686
    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? =
     88No. All settings are configurable through the WordPress admin panel.
    7189
    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? =
     91No. The plugin does not collect, store, or transmit personal user data.
    7492
    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? =
     94Yes. You can select caching strategies, pre-cache URLs, exclude URLs, and cache external resources.
    7995
    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? =
     97Yes. The plugin does not track users or store personal information.
    8298
    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
     103This 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---
    85111
    86112== Screenshots ==
    87113
    88 1. Frontend - Popup button
    89 2. Frontend - Popup
    90 3. Backend - Basic settings page
    91 4. Backend - Caching strategies settings page
    92 5. Backend - Advanced settings page
     1141. Frontend – PWA install popup
     1152. Frontend – PWA interface
     1163. Backend – Basic settings
     1174. Backend – Caching strategies
     1185. Backend – Advanced settings
    93119
    94 == Change Log ==
    95 = Version 1.0.0 =
    96 * Plugin release and submit to wordPress.org
     120---
    97121
    98 = Version 1.1.0 =
    99 * We have improve User interface & we have made our plugin more compatible with different theme.
     122== Changelog ==
    100123
    101 = Version 1.1.1 =
    102 * We have updated in plugin core file
     124= 1.0.0 =
     125* Initial release
    103126
    104 = Version 1.1.2 =
    105 * We have changed plugin screenshot name for user
     127= 1.1.0 =
     128* Improved admin UI and theme compatibility
    106129
    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.