PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.7.2
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.7.2
2.7.1 2.7.2 2.7.0 2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 All 141 releases
← All changes | views/metasync-google-index-api-settings.php +33 -10 2.6.10 → 2.7.2 View file →
@@ -55,8 +55,9 @@
55 55 <table class="form-table" style="margin-top: 0;">
56 56 <tr>
57 57 <th scope="row" style="width: 200px;">
58 58 <label for="google_index_service_account_json">Service Account JSON</label>
59 + <?php Metasync::render_tooltip_icon('google_index_service_account_json', 'Paste the private key file from a Google Cloud service account added to your Search Console property. This lets the plugin ask Google to crawl your pages. Treat it like a password. It is stored on your server and never shared.'); ?>
59 60 </th>
60 61 <td>
61 62 <textarea name="google_index_service_account_json"
62 63 id="google_index_service_account_json"
@@ -78,15 +79,37 @@
78 79
79 80 <tr>
80 81 <th scope="row">
81 82 <label for="google_index_service_account_file">Upload JSON File</label>
83 + <?php Metasync::render_tooltip_icon('google_index_service_account_file', 'Upload the service account JSON key file you downloaded from Google Cloud instead of pasting it. The file fills in the Service Account JSON box above. It is only stored once you save.'); ?>
82 84 </th>
83 85 <td>
84 - <input type="file"
85 - name="google_index_service_account_file"
86 + <input type="file"
87 + name="google_index_service_account_file"
86 88 id="google_index_service_account_file"
87 - accept=".json"
89 + accept=".json,application/json"
88 90 class="regular-text" />
91 +
92 + <!--
93 + Selected-file row. Hidden until a file is chosen; the admin
94 + JS fills in the name and reveals it. "Remove" clears the
95 + input and restores the textarea to whatever it held before
96 + the file was read, so a mis-click does not destroy a saved
97 + (redacted) configuration the user never meant to replace.
98 + -->
99 + <p id="google-index-selected-file" style="display:none;margin:8px 0 0;">
100 + <span class="dashicons dashicons-media-code" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span>
101 + <strong id="google-index-selected-file-name"></strong>
102 + <button type="button"
103 + id="google-index-remove-file"
104 + class="button-link"
105 + style="margin-left:8px;color:var(--dashboard-error, #b32d2e);text-decoration:none;"
106 + aria-label="Remove the selected JSON file">&times; Remove</button>
107 + </p>
108 +
109 + <!-- Inline validation feedback; replaces the old alert(). -->
110 + <div id="google-index-file-messages" style="margin-top:8px;"></div>
111 +
89 112 <p class="description">
90 113 Upload your service account JSON file. This will auto-populate the textarea above.
91 114 </p>
92 115 </td>
@@ -91,25 +114,25 @@
91 114 </p>
92 115 </td>
93 116 </tr>
94 117 </table>
95 -
118 +
96 119 <!-- Action Buttons and Test Results -->
97 120 <?php if ($is_configured): ?>
98 121 <div style="margin-top: 20px; padding-top: 15px; border-top: 1px solid #ddd;">
99 - <button type="button"
100 - id="google-index-test-connection"
122 + <button type="button"
123 + id="google-index-test-connection"
101 124 class="button button-secondary">
102 125 <span class="dashicons dashicons-yes" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span> Test Connection
103 126 </button>
104 -
105 - <button type="button"
127 +
128 + <button type="button"
106 129 id="google-index-clear-config"
107 - class="button button-link-delete"
130 + class="button button-link-delete"
108 131 style="margin-left: 10px;">
109 132 <span class="dashicons dashicons-trash" style="margin-top:3px;font-size:15px;width:15px;height:15px;"></span> Clear Configuration
110 133 </button>
111 -
134 +
112 135 <div id="google-index-test-results" style="margin-top: 15px;"></div>
113 136 </div>
114 137 <?php endif; ?>
115 138