Plugin Directory

Changeset 3418862


Ignore:
Timestamp:
12/13/2025 11:04:30 AM (2 months ago)
Author:
dbee78
Message:

Update to version 1.0.17

Location:
keiste-solar-report/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • keiste-solar-report/trunk/assets/css/solar-analysis.css

    r3417984 r3418862  
    202202
    203203.ksrad-wrapper .container {
    204     max-width: 1200px;
    205204    margin: 0 auto;
     205    max-width: 650px;
    206206    padding: 0 var(--spacing-md);
    207     background-color: unset !important;
    208207}
    209208
     
    12181217.ksrad-wrapper {
    12191218    min-height: 100%;
    1220     margin: 0;
    12211219    padding: 0;
     1220    text-align: center;
    12221221}
    12231222
  • keiste-solar-report/trunk/includes/admin-settings.php

    r3417330 r3418862  
    165165        add_settings_field(
    166166            'google_solar_api_key',
    167             'API Key 1 (Solar API, Maps Javascript API)',
     167            'Google API Credentials Key',
    168168            array($this, 'google_solar_api_key_callback'),
    169             'keiste-solar-admin',
    170             'api_keys_section'
    171         );
    172        
    173         add_settings_field(
    174             'google_maps_api_key',
    175             'API Key 2 (Maps API, Places API (New))',
    176             array($this, 'google_maps_api_key_callback'),
    177169            'keiste-solar-admin',
    178170            'api_keys_section'
     
    413405        if (isset($input['google_solar_api_key'])) {
    414406            $new_input['google_solar_api_key'] = sanitize_text_field($input['google_solar_api_key']);
    415         }
    416        
    417         if (isset($input['google_maps_api_key'])) {
    418             $new_input['google_maps_api_key'] = sanitize_text_field($input['google_maps_api_key']);
    419407        }
    420408       
     
    587575            isset($this->options['google_solar_api_key']) ? esc_attr($this->options['google_solar_api_key']) : ''
    588576        );
    589         echo '<p class="description">**REQUIRED for fetching solar potential data. (Same API Key for both inputs is recommended)</p>';
    590     }
    591    
    592     public function google_maps_api_key_callback() {
    593         printf(
    594             '<input type="password" id="google_maps_api_key" name="ksrad_options[google_maps_api_key]" value="%s" class="regular-text" />',
    595             isset($this->options['google_maps_api_key']) ? esc_attr($this->options['google_maps_api_key']) : ''
    596         );
    597         echo '<p class="description">**REQUIRED for location search and map display. (Same API Key for both inputs is recommended)</p>';
     577        echo '<p class="description">**REQUIRED - Single API key for all Google services (Solar API, Maps JavaScript API, Maps API, Places API)</p>';
    598578    }
    599579   
  • keiste-solar-report/trunk/includes/plugin-init.php

    r3416617 r3418862  
    299299        $default_options = array(
    300300            'google_solar_api_key' => '',
    301             'google_maps_api_key' => '',
    302301            'report_key' => '',
    303302            'logo_url' => '',
  • keiste-solar-report/trunk/keiste-solar-report.php

    r3417984 r3418862  
    55 * Plugin URI: https://keiste.com/keiste-solar-report
    66 * Description: Comprehensive solar panel analysis tool with ROI calculations, Google Solar API integration, interactive charts, and PDF report generation.
    7  * Version: 1.0.16
     7 * Version: 1.0.17
    88 * Author: Dara Burke, Keiste
    99 * Author URI: https://keiste.com
     
    3434// Define plugin constants (only once) with ksrad_ namespace
    3535if (!defined('KSRAD_VERSION')) {
    36     define('KSRAD_VERSION', '1.0.16');
     36    define('KSRAD_VERSION', '1.0.17');
    3737}
    3838if (!defined('KSRAD_PLUGIN_DIR')) {
     
    120120                echo '<div style="font-family: Arial, sans-serif; max-width: 800px; margin: 50px auto; padding: 20px; border: 1px solid #dc3545; border-radius: 8px; background: #fff;">';
    121121                echo '<h2 style="color: #dc3545;">⚠️ Solar Data Not Found (404)</h2>';
    122                 echo '<p>The Google Solar API reports that the requested entity was not found for the provided coordinates.</p>';
     122                echo '<p>The Google Solar API reports that the requested building may not be suitable for solar roof installation.</p>';
    123123                if (isset($errorResponse['error']['message'])) {
    124124                    echo '<p><strong>Message:</strong> ' . esc_html($errorResponse['error']['message']) . '</p>';
    125125                }
    126                 echo '<p>Please verify the latitude and longitude, or try a location within Google Solar coverage.</p>';
     126                echo '<p>Please choose another building, or try a location within Google Solar coverage. <a href="#" onclick="location.reload(); return false;">Try Again</a></p>';
    127127                echo '</div>';
    128128                exit;
     
    329329                <h3 style="color: #2A2A28; margin-bottom: 1rem; font-size: 1.3em; font-weight: 600;">🔍 How Much Can You Save With Solar?
    330330                </h3>
    331                 <h5 style="font-size: 1rem; color: #2a2a28; font-family: 'Brush Script MT', cursive;">by <a href="https://keiste.com" target="_blank" rel="noopener noreferrer">Keiste.com</a></h5>
     331                <h5 style="font-size: 1.6rem; color: #2a2a28; font-family: 'Brush Script MT', cursive;">by <a href="https://keiste.com" target="_blank" rel="noopener noreferrer">Keiste.com</a></h5>
    332332
    333333                <?php if (apply_filters('ksrad_is_premium', false)): ?>
     
    381381                <?php endif; ?>
    382382
    383                 <p style="color: #3A3A38; margin-bottom: 0.5rem; font-weight: 500;">Use the search box below to select an
    384                     address.</p>
     383                <p style="color: #3A3A38; margin-bottom: 0.5rem; font-size: 1.2rem; font-weight: 500;">Select your country and building type. Then search for your chosen building address.</p>
    385384                <p style="color: #5A5A58; font-size: 1rem; margin-bottom: 0;">We'll analyze solar potential
    386                     and show you financial projections for your building.</p>
     385                    and show you financial projections for your building. Correct building type is required for the correct grant calculations.</p>
    387386            </div>
    388387
     
    446445        </div>
    447446
     447        <?php if (empty(ksrad_get_option('google_solar_api_key', ''))): ?>
     448        <div class="row">
     449            <div class="section map-section col-md-12" id="map-section">
     450                <div class="alert alert-warning" style="text-align: center; padding: 2rem; margin: 2rem auto;">
     451                    <h4 style="margin-bottom: 1rem;">⚠️ API Key Required</h4>
     452                    <p>You must add your Google API key in order for this plugin to function.</p>
     453                    <p>Go to <a href="https://console.cloud.google.com" target="_blank" rel="noopener">console.cloud.google.com</a>, open a free account, and enable the following APIs for your key:</p>
     454                    <ul style="list-style: none; padding: 0; margin: 1rem 0;">
     455                        <li>✓ Google Solar API</li>
     456                        <li>✓ Places API (New)</li>
     457                        <li>✓ Maps JavaScript API</li>
     458                        <li>✓ Maps API</li>
     459                    </ul>
     460                    <p><a href="<?php echo admin_url('admin.php?page=ksrad-solar'); ?>" class="button button-primary">Enter API Key in Settings</a></p>
     461                    <p style="font-size: 0.9em; margin-top: 1rem;">See documentation for further details.</p>
     462                </div>
     463            </div>
     464        </div>
     465        <?php else: ?>
    448466        <div class="row">
    449467            <div class="section map-section col-md-12" id="map-section">
     
    451469            </div>
    452470        </div>
     471        <?php endif; ?>
    453472
    454473        <script>
     
    730749                                                </div>
    731750                                            </div>
    732                                         </div>
    733 
     751                                           
     752                                        </div>
     753                                        <p class="mt-3 align-center"><a href="/how-is-our-math/" style="color: #5A5A58;font-size: 0.9rem;" >How is our math?</a></p>
    734754                                    </div>
    735755
  • keiste-solar-report/trunk/readme.txt

    r3417988 r3418862  
    55Tested up to: 6.9
    66Requires PHP: 7.4
    7 Stable tag: 1.0.16
     7Stable tag: 1.0.17
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    1515The Keiste Solar Report is a powerful WordPress plugin that provides comprehensive solar project analysis for US, Canadian, UK and Irish buildings including residential, commercial, community, business and farm buildings. Using Google's Solar API, it delivers accurate solar potential assessments, financial projections, and detailed ROI calculations.
    1616
    17 The visitor simply enters a building address, their monthly electricity bill amount and their preferred System Size (ie. no of solar panels). They receive a full financial and technical breakdown along with a 10-12 page bespoke-designed personalized report download (Enterprise Plan only).
     17The visitor simply enters a building address, their average monthly electricity bill amount and their preferred System Size (ie. no of solar panels). They receive a full financial and technical breakdown along with a 10-12 page bespoke-designed personalized report download (Enterprise Plan only).
     18
     19<b>NB: You will need a Google Cloud API Key to use this plugin</b>
    1820
    1921Calculations for the visitor's solar project include estimates of Return on Investment, CO2 saved and solar project breakeven point.
    2022
    2123The Keiste Solar Plugin features a Google Solar API integration, interactive charts, a lead generation form (Premium Plan or above) and tons more features.
     24
     25</b>This interface uses 400W solar panels as standard. All the figures eg. grant, loan, small-medium-large system size and other estimates are entered by you the plugin admin in the settings. Figures are meant as estimates only, not as quotes. For the grant calculations to work, user must choose the correct building type from the dropdown menu. See the docs for more info.</b>
    2226
    2327Check out our Enterprise Plan which will programmatically verify your visitor lead data eg. phone number and email address as well as a custom-designed personalized downloadable report.
     
    8084Parts of rural Ireland are not covered by the satellite and so won't appear on the results.
    8185
     86Panels are chosen by the system as 400W (small) panels less than 2m squared in area.
     87
     88It's up to the website admin to decide all variables in the system such as grant, loan, small - medium - large installation job cost per kWh, country geographic variables etc.
     89
    8290Stay tuned for new country support, multi-language support and additional features.
    8391
     
    921001. Upload the plugin files to `/wp-content/plugins/keiste-solar-report/` or install via WordPress plugin installer
    931012. Activate the plugin through the 'Plugins' menu in WordPress
    94 3. **IMPORTANT: Get your Google Solar API key** (see Configuration below). Enable Google Places (New) API, Google Maps API and Google Solar API for this key. Add http website restrictions to the key on your Google Console for your domain only.
    95 4. Go to **Solar Leads → Settings** and enter your API Key (or keys)
     1023. **IMPORTANT: Get your Google Console API key** (see Configuration below). Log on to cloud.google.com and create an credentials key. Enable Google Places (New) API, Google Maps API, Google Maps Javascript API and Google Solar API for this key. Don't forget to add http website restrictions to the key - for your domain only. So noone else can use your key.
     1034. Go to **Solar Leads → Settings** and enter your API Key near the top of the page
    961045. Add the shortcode `[keiste_solar_report]` to any page
    97105
     
    132140This plugin connects to an API to obtain solar info, it's needed to show the iridescence information and access satellite photos of roofs of buildings.
    133141
    134 This service is provided by "Google": terms of use, privacy policy
     142This service is provided by "Google": please consult Google for the terms of use and privacy policy
    135143
    136144== Frequently Asked Questions ==
     145
     146= Why do i get a red error (404) page when i search my building address? =
     147
     148Not every building will be able to have solar panels fitted to the roof. Some buildings are located outside the satellite area. Try another building or contact a solar installer.
    137149
    138150= Do I need a Google API key? =
     
    181193
    1821941. Address search interface with Google Maps autocomplete
    183 2. ROI results dashboard showing payback period and savings
    184 3. Interactive break-even chart over 25 years
    185 4. System size configuration with panel slider
    186 5. Financial inputs and customization options
     1952. System size configuration with panel slider
     1963. ROI results dashboard showing payback period and savings
     1974. Financial analysis charts
     1985. Grant and installation variables entered by website admin
    187199
    188200== Changelog ==
     201
     202= 1.0.17 =
     203* Simplified API key configuration - now uses single Google API key for all services
     204* Added conditional display for API key setup message (only shows when key is missing)
     205* Improved admin settings interface with clearer API requirements
     206* Removed redundant google_maps_api_key field
    189207
    190208= 1.0.10 =
     
    193211* Centered input field alignment
    194212* Updated form control widths for better mobile display
    195 
    196 = 1.0.9 =
    197 * Fixed: Added missing config-inline.js file
    198 * Fixed: Font Awesome loading from local files instead of CDN
    199 * Improved: Asset enqueuing and dependency management
    200213
    201214= 1.0.0 =
     
    230243* Uses Google Maps API for rooftop satellite image
    231244* Uses Google Maps Javascript API for logic
    232 * Uses Google Places API for autocomplete address bar
     245* Uses Google Places (New) API for autocomplete address bar
    233246* Charts powered by Chart.js
    234247* PDF generation by gamma.app
Note: See TracChangeset for help on using the changeset viewer.