Version Description
- 02/26/2021 = Fixed - Optimized layout for smaller screens to include all SEO elements Fixed - getimagesize warning when the image path is not found Fixed - Focus Pages dissapear on applying filters Fixed - Snippet transparency on frontend reload Fixed - Add all custom taxonomies in the SEO Automation
Download this release
Release Info
Developer | cifi |
Plugin | SEO SQUIRRLY™ |
Version | 11.0.03 |
Comparing to | |
See all releases |
Code changes from version 11.0.02 to 11.0.03
- classes/ActionController.php +2 -3
- classes/RemoteController.php +1 -1
- classes/helpers/DevKit.php +2 -3
- classes/helpers/Tools.php +126 -37
- config.json +1 -0
- controllers/Menu.php +10 -2
- controllers/Post.php +1 -4
- controllers/SeoSettings.php +30 -2
- controllers/Snippet.php +1 -0
- models/Audits.php +1 -1
- models/Ico.php +1 -3
- models/domain/Patterns.php +4 -0
- readme.txt +9 -0
- squirrly.php +3 -3
- view/Assistant/Assistant.php +14 -14
- view/Assistant/Settings.php +33 -33
- view/Audits/Addpage.php +18 -20
- view/Audits/Audit.php +12 -13
- view/Audits/AuditPageRow.php +1 -1
- view/Audits/AuditPages.php +7 -7
- view/Audits/AuditStats.php +18 -18
- view/Audits/Audits.php +17 -19
- view/Audits/Compare.php +11 -11
- view/Audits/Settings.php +13 -13
- view/Blocks/Account.php +2 -2
- view/Blocks/Connect.php +2 -2
- view/Blocks/Features.php +48 -62
- view/Blocks/Jorney.php +15 -15
- view/Blocks/Login.php +1 -1
- view/Blocks/Snippet.php +28 -18
- view/Blocks/Stats.php +10 -10
- view/Blocks/Support.php +2 -2
- view/Blocks/Toolbar.php +8 -8
- view/BulkSeo/Bulkseo.php +17 -19
- view/BulkSeo/BulkseoRow.php +1 -1
- view/Connect/GoogleAnalytics.php +5 -5
- view/Connect/GoogleSearchConsole.php +5 -5
- view/Errors/Error.php +6 -6
- view/Errors/Maintenance.php +6 -6
- view/FocusPages/Addpage.php +18 -19
- view/FocusPages/Bestpractice.php +6 -6
- view/FocusPages/FocusPageRow.php +1 -1
- view/FocusPages/FocusPageStats.php +9 -9
- view/FocusPages/FocusPages.php +14 -11
- view/FocusPages/Pagelist.php +9 -9
- view/FocusPages/Settings.php +7 -7
- view/Goals/CheckSeo.php +11 -11
- view/Goals/Goals.php +26 -26
- view/Help.php +1 -1
- view/Onboarding/Step1.php +11 -11
- view/Onboarding/Step2.1.php +14 -14
- view/Onboarding/Step2.2.php +18 -18
- view/Onboarding/Step3.php +19 -19
- view/Onboarding/Step4.php +7 -7
- view/Overview.php +23 -24
- view/Ranking/Gscsync.php +9 -9
- view/Ranking/Rankings.php +43 -41
- view/Ranking/Settings.php +14 -14
- view/Research/Briefcase.php +186 -185
- view/Research/History.php +8 -8
- view/Research/HistoryDetails.php +2 -2
- view/Research/Labels.php +74 -66
- view/Research/Research.php +53 -50
- view/Research/Suggested.php +8 -8
- view/SeoSettings/Advanced.php +22 -22
- view/SeoSettings/Automation.php +153 -141
- view/SeoSettings/Backup.php +58 -43
- view/SeoSettings/Favicon.php +27 -27
- view/SeoSettings/Jsonld.php +63 -63
- view/SeoSettings/Metas.php +54 -54
- view/SeoSettings/Robots.php +19 -19
- view/SeoSettings/Sitemap.php +81 -81
- view/SeoSettings/Social.php +58 -58
- view/SeoSettings/Tracking.php +32 -32
- view/SeoSettings/Webmaster.php +27 -27
- view/assets/css/audits.min.css +1 -1
- view/assets/css/bootstrap.min.css +1 -1
- view/assets/css/bootstrap.rtl.min.css +1 -2
classes/ActionController.php
CHANGED
@@ -70,9 +70,8 @@ class SQ_Classes_ActionController extends SQ_Classes_FrontController {
|
|
70 |
*
|
71 |
*/
|
72 |
public function getActions() {
|
73 |
-
|
74 |
-
|
75 |
-
WP_Filesystem();
|
76 |
|
77 |
$this->actions = array();
|
78 |
$cur_action = SQ_Classes_Helpers_Tools::getValue('action', false);
|
70 |
*
|
71 |
*/
|
72 |
public function getActions() {
|
73 |
+
|
74 |
+
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
|
|
75 |
|
76 |
$this->actions = array();
|
77 |
$cur_action = SQ_Classes_Helpers_Tools::getValue('action', false);
|
classes/RemoteController.php
CHANGED
@@ -1019,7 +1019,7 @@ class SQ_Classes_RemoteController {
|
|
1019 |
public static function getInspectURL($args = array()) {
|
1020 |
self::$apimethod = 'get'; //call method
|
1021 |
|
1022 |
-
$json = json_decode(self::apiCall('api/posts/crawl', $args));
|
1023 |
|
1024 |
if (isset($json->error) && $json->error <> '') {
|
1025 |
return (new WP_Error('api_error', $json->error));
|
1019 |
public static function getInspectURL($args = array()) {
|
1020 |
self::$apimethod = 'get'; //call method
|
1021 |
|
1022 |
+
$json = json_decode(self::apiCall('api/posts/crawl', $args, ['timeout' => 60]));
|
1023 |
|
1024 |
if (isset($json->error) && $json->error <> '') {
|
1025 |
return (new WP_Error('api_error', $json->error));
|
classes/helpers/DevKit.php
CHANGED
@@ -25,9 +25,8 @@ class SQ_Classes_Helpers_DevKit {
|
|
25 |
* @return bool
|
26 |
*/
|
27 |
public function updatePluginData() {
|
28 |
-
|
29 |
-
|
30 |
-
WP_Filesystem();
|
31 |
|
32 |
$package_file = _SQ_ROOT_DIR_ . 'package.json';
|
33 |
if (!$wp_filesystem->exists($package_file)) {
|
25 |
* @return bool
|
26 |
*/
|
27 |
public function updatePluginData() {
|
28 |
+
|
29 |
+
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
|
|
30 |
|
31 |
$package_file = _SQ_ROOT_DIR_ . 'package.json';
|
32 |
if (!$wp_filesystem->exists($package_file)) {
|
classes/helpers/Tools.php
CHANGED
@@ -973,51 +973,87 @@ class SQ_Classes_Helpers_Tools {
|
|
973 |
|
974 |
/**
|
975 |
* Empty the cache from other plugins
|
976 |
-
* @param null $post_id
|
977 |
*/
|
978 |
-
public static function emptyCache(
|
979 |
-
|
980 |
-
|
981 |
-
|
|
|
|
|
982 |
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
|
|
992 |
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
|
|
|
|
|
|
1001 |
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
|
|
1006 |
|
1007 |
-
|
1008 |
-
|
1009 |
-
|
1010 |
-
|
|
|
1011 |
|
1012 |
-
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1016 |
|
1017 |
-
//Clear the fastest cache
|
1018 |
-
global $wp_fastest_cache;
|
1019 |
-
if (isset($wp_fastest_cache) && method_exists($wp_fastest_cache, 'deleteCache')) {
|
1020 |
-
$wp_fastest_cache->deleteCache();
|
1021 |
}
|
1022 |
}
|
1023 |
|
@@ -1111,4 +1147,57 @@ class SQ_Classes_Helpers_Tools {
|
|
1111 |
return apply_filters('sq_menu_url', $url, $page, $tab, $args);
|
1112 |
}
|
1113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1114 |
}
|
973 |
|
974 |
/**
|
975 |
* Empty the cache from other plugins
|
|
|
976 |
*/
|
977 |
+
public static function emptyCache() {
|
978 |
+
try {
|
979 |
+
//////////////////////////////////////////////////////////////////////////////
|
980 |
+
if ( function_exists( 'w3tc_pgcache_flush' ) ) {
|
981 |
+
w3tc_pgcache_flush();
|
982 |
+
}
|
983 |
|
984 |
+
if ( function_exists( 'w3tc_minify_flush' ) ) {
|
985 |
+
w3tc_minify_flush();
|
986 |
+
}
|
987 |
+
if ( function_exists( 'w3tc_dbcache_flush' ) ) {
|
988 |
+
w3tc_dbcache_flush();
|
989 |
+
}
|
990 |
+
if ( function_exists( 'w3tc_objectcache_flush' ) ) {
|
991 |
+
w3tc_objectcache_flush();
|
992 |
+
}
|
993 |
+
//////////////////////////////////////////////////////////////////////////////
|
994 |
|
995 |
+
if ( function_exists( 'wp_cache_clear_cache' ) ) {
|
996 |
+
wp_cache_clear_cache();
|
997 |
+
}
|
998 |
|
999 |
+
if ( function_exists( 'rocket_clean_domain' ) && function_exists( 'rocket_clean_minify' ) && function_exists( 'rocket_clean_cache_busting' ) ) {
|
1000 |
+
// Remove all cache files
|
1001 |
+
rocket_clean_domain();
|
1002 |
+
rocket_clean_minify();
|
1003 |
+
rocket_clean_cache_busting();
|
1004 |
+
}
|
1005 |
+
//////////////////////////////////////////////////////////////////////////////
|
1006 |
|
1007 |
+
if ( function_exists( 'apc_clear_cache' ) ) {
|
1008 |
+
// Remove all apc if enabled
|
1009 |
+
apc_clear_cache();
|
1010 |
+
}
|
1011 |
+
//////////////////////////////////////////////////////////////////////////////
|
1012 |
|
1013 |
+
if ( class_exists( 'Cache_Enabler_Disk' ) && method_exists( 'Cache_Enabler_Disk', 'clear_cache' ) ) {
|
1014 |
+
// clear disk cache
|
1015 |
+
Cache_Enabler_Disk::clear_cache();
|
1016 |
+
}
|
1017 |
+
//////////////////////////////////////////////////////////////////////////////
|
1018 |
|
1019 |
+
if ( class_exists( 'LiteSpeed_Cache' ) ) {
|
1020 |
+
LiteSpeed_Cache::get_instance()->purge_all();
|
1021 |
+
}
|
1022 |
+
//////////////////////////////////////////////////////////////////////////////
|
1023 |
+
|
1024 |
+
if ( self::isPluginInstalled( 'hummingbird-performance/wp-hummingbird.php' ) ) {
|
1025 |
+
do_action( 'wphb_clear_page_cache' );
|
1026 |
+
}
|
1027 |
+
//////////////////////////////////////////////////////////////////////////////
|
1028 |
+
|
1029 |
+
if ( class_exists( 'WpeCommon' ) ) {
|
1030 |
+
if ( method_exists( 'WpeCommon', 'purge_memcached' ) ) {
|
1031 |
+
WpeCommon::purge_memcached();
|
1032 |
+
}
|
1033 |
+
if ( method_exists( 'WpeCommon', 'clear_maxcdn_cache' ) ) {
|
1034 |
+
WpeCommon::clear_maxcdn_cache();
|
1035 |
+
}
|
1036 |
+
if ( method_exists( 'WpeCommon', 'purge_varnish_cache' ) ) {
|
1037 |
+
WpeCommon::purge_varnish_cache();
|
1038 |
+
}
|
1039 |
+
}
|
1040 |
+
//////////////////////////////////////////////////////////////////////////////
|
1041 |
+
|
1042 |
+
if ( self::isPluginInstalled( 'sg-cachepress/sg-cachepress.php' ) && class_exists( 'Supercacher' ) ) {
|
1043 |
+
if ( method_exists( 'Supercacher', 'purge_cache' ) && method_exists( 'Supercacher', 'delete_assets' ) ) {
|
1044 |
+
Supercacher::purge_cache();
|
1045 |
+
Supercacher::delete_assets();
|
1046 |
+
}
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
//Clear the fastest cache
|
1050 |
+
global $wp_fastest_cache;
|
1051 |
+
if ( isset( $wp_fastest_cache ) && method_exists( $wp_fastest_cache, 'deleteCache' ) ) {
|
1052 |
+
$wp_fastest_cache->deleteCache();
|
1053 |
+
}
|
1054 |
+
//////////////////////////////////////////////////////////////////////////////
|
1055 |
+
}catch (Exception $e){
|
1056 |
|
|
|
|
|
|
|
|
|
1057 |
}
|
1058 |
}
|
1059 |
|
1147 |
return apply_filters('sq_menu_url', $url, $page, $tab, $args);
|
1148 |
}
|
1149 |
|
1150 |
+
/**
|
1151 |
+
* Instantiates the WordPress filesystem.
|
1152 |
+
*
|
1153 |
+
* @static
|
1154 |
+
* @access public
|
1155 |
+
* @return object
|
1156 |
+
*/
|
1157 |
+
public static function initFilesystem() {
|
1158 |
+
// The WordPress filesystem.
|
1159 |
+
global $wp_filesystem;
|
1160 |
+
|
1161 |
+
if ( !$wp_filesystem || empty( $wp_filesystem ) ) {
|
1162 |
+
$credentials = array();
|
1163 |
+
|
1164 |
+
if ( !defined( 'FS_METHOD' ) ) {
|
1165 |
+
define( 'FS_METHOD', 'direct' );
|
1166 |
+
}
|
1167 |
+
|
1168 |
+
$method = defined( 'FS_METHOD' ) ? FS_METHOD : false;
|
1169 |
+
|
1170 |
+
if ( 'ftpext' === $method ) {
|
1171 |
+
// If defined, set it to that, Else, set to NULL.
|
1172 |
+
$credentials['hostname'] = defined( 'FTP_HOST' ) ? preg_replace( '|\w+://|', '', FTP_HOST ) : null;
|
1173 |
+
$credentials['username'] = defined( 'FTP_USER' ) ? FTP_USER : null;
|
1174 |
+
$credentials['password'] = defined( 'FTP_PASS' ) ? FTP_PASS : null;
|
1175 |
+
|
1176 |
+
// Set FTP port.
|
1177 |
+
if ( strpos( $credentials['hostname'], ':' ) && null !== $credentials['hostname'] ) {
|
1178 |
+
list( $credentials['hostname'], $credentials['port'] ) = explode( ':', $credentials['hostname'], 2 );
|
1179 |
+
if ( !is_numeric( $credentials['port'] ) ) {
|
1180 |
+
unset( $credentials['port'] );
|
1181 |
+
}
|
1182 |
+
} else {
|
1183 |
+
unset( $credentials['port'] );
|
1184 |
+
}
|
1185 |
+
|
1186 |
+
// Set connection type.
|
1187 |
+
if ( (defined( 'FTP_SSL' ) && FTP_SSL) && 'ftpext' === $method ) {
|
1188 |
+
$credentials['connection_type'] = 'ftps';
|
1189 |
+
} elseif ( !array_filter( $credentials ) ) {
|
1190 |
+
$credentials['connection_type'] = null;
|
1191 |
+
} else {
|
1192 |
+
$credentials['connection_type'] = 'ftp';
|
1193 |
+
}
|
1194 |
+
}
|
1195 |
+
|
1196 |
+
|
1197 |
+
require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' );
|
1198 |
+
WP_Filesystem( $credentials );
|
1199 |
+
}
|
1200 |
+
|
1201 |
+
return $wp_filesystem;
|
1202 |
+
}
|
1203 |
}
|
config.json
CHANGED
@@ -136,6 +136,7 @@
|
|
136 |
"sq_seosettings_importall",
|
137 |
"sq_seosettings_ga_revoke",
|
138 |
"sq_seosettings_gsc_revoke",
|
|
|
139 |
"sq_rollback",
|
140 |
"sq_alerts_close",
|
141 |
"sq_ajax_seosettings_save",
|
136 |
"sq_seosettings_importall",
|
137 |
"sq_seosettings_ga_revoke",
|
138 |
"sq_seosettings_gsc_revoke",
|
139 |
+
"sq_reinstall",
|
140 |
"sq_rollback",
|
141 |
"sq_alerts_close",
|
142 |
"sq_ajax_seosettings_save",
|
controllers/Menu.php
CHANGED
@@ -15,7 +15,6 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
15 |
add_action('admin_bar_menu', array($this, 'hookTopmenuDashboard'), 10);
|
16 |
add_action('admin_bar_menu', array($this, 'hookTopmenuSquirrly'), 91);
|
17 |
add_action('do_meta_boxes', array($this, 'addMetabox'));
|
18 |
-
|
19 |
//run compatibility check on Squirrly settings
|
20 |
if (SQ_Classes_Helpers_Tools::getIsset('page')) {
|
21 |
$menus = $this->model->getMainMenu();
|
@@ -23,6 +22,7 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
23 |
|
24 |
if (in_array($page, array_keys($menus))) {
|
25 |
add_action('admin_enqueue_scripts', array(SQ_Classes_ObjController::getClass('SQ_Models_Compatibility'), 'fixEnqueueErrors'), PHP_INT_MAX);
|
|
|
26 |
}
|
27 |
}
|
28 |
|
@@ -490,7 +490,6 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
490 |
echo '<script type="text/javascript" src="//www.google.com/jsapi"></script>';
|
491 |
echo '<script>google.load("visualization", "1.0", {packages: ["corechart"]});</script>';
|
492 |
echo '<div id="sq_preloader" class="sq_loading"></div>';
|
493 |
-
|
494 |
if ($page <> 'sq_dashboard') {
|
495 |
$sq_fullscreen = true;
|
496 |
SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->loadMedia('fullwidth', array('trigger' => true, 'media' => 'all'));
|
@@ -511,6 +510,15 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
511 |
}
|
512 |
}
|
513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
514 |
public function hookBuilders() {
|
515 |
add_action('elementor/editor/footer', array(SQ_Classes_ObjController::getClass('SQ_Controllers_Post'), 'loadLiveAssistant'), 99);
|
516 |
}
|
15 |
add_action('admin_bar_menu', array($this, 'hookTopmenuDashboard'), 10);
|
16 |
add_action('admin_bar_menu', array($this, 'hookTopmenuSquirrly'), 91);
|
17 |
add_action('do_meta_boxes', array($this, 'addMetabox'));
|
|
|
18 |
//run compatibility check on Squirrly settings
|
19 |
if (SQ_Classes_Helpers_Tools::getIsset('page')) {
|
20 |
$menus = $this->model->getMainMenu();
|
22 |
|
23 |
if (in_array($page, array_keys($menus))) {
|
24 |
add_action('admin_enqueue_scripts', array(SQ_Classes_ObjController::getClass('SQ_Models_Compatibility'), 'fixEnqueueErrors'), PHP_INT_MAX);
|
25 |
+
add_action( 'admin_head', array($this, 'setViewport'), PHP_INT_MAX);
|
26 |
}
|
27 |
}
|
28 |
|
490 |
echo '<script type="text/javascript" src="//www.google.com/jsapi"></script>';
|
491 |
echo '<script>google.load("visualization", "1.0", {packages: ["corechart"]});</script>';
|
492 |
echo '<div id="sq_preloader" class="sq_loading"></div>';
|
|
|
493 |
if ($page <> 'sq_dashboard') {
|
494 |
$sq_fullscreen = true;
|
495 |
SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->loadMedia('fullwidth', array('trigger' => true, 'media' => 'all'));
|
510 |
}
|
511 |
}
|
512 |
|
513 |
+
function setViewport() {
|
514 |
+
$page = apply_filters('sq_page', SQ_Classes_Helpers_Tools::getValue('page', ''));
|
515 |
+
if ($page == 'sq_dashboard') {
|
516 |
+
echo '<meta name="viewport" content="width=900">';
|
517 |
+
}else{
|
518 |
+
echo '<meta name="viewport" content="width=1200">';
|
519 |
+
}
|
520 |
+
}
|
521 |
+
|
522 |
public function hookBuilders() {
|
523 |
add_action('elementor/editor/footer', array(SQ_Classes_ObjController::getClass('SQ_Controllers_Post'), 'loadLiveAssistant'), 99);
|
524 |
}
|
controllers/Post.php
CHANGED
@@ -259,9 +259,7 @@ class SQ_Controllers_Post extends SQ_Classes_FrontController {
|
|
259 |
|
260 |
$post_type = 'post';
|
261 |
if (post_type_exists($post_type)) {
|
262 |
-
|
263 |
-
require_once(ABSPATH . '/wp-admin/includes/file.php');
|
264 |
-
WP_Filesystem();
|
265 |
|
266 |
if ($wp_filesystem->exists(_SQ_ROOT_DIR_ . 'demo.json')) {
|
267 |
$json = json_decode($wp_filesystem->get_contents(_SQ_ROOT_DIR_ . 'demo.json'));
|
@@ -332,7 +330,6 @@ class SQ_Controllers_Post extends SQ_Classes_FrontController {
|
|
332 |
wp_update_attachment_metadata($attach_id, $attach_data);
|
333 |
}
|
334 |
SQ_Classes_Helpers_Tools::setHeader('json');
|
335 |
-
SQ_Classes_Helpers_Tools::emptyCache();
|
336 |
|
337 |
echo wp_json_encode($return);
|
338 |
exit();
|
259 |
|
260 |
$post_type = 'post';
|
261 |
if (post_type_exists($post_type)) {
|
262 |
+
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
|
|
|
|
263 |
|
264 |
if ($wp_filesystem->exists(_SQ_ROOT_DIR_ . 'demo.json')) {
|
265 |
$json = json_decode($wp_filesystem->get_contents(_SQ_ROOT_DIR_ . 'demo.json'));
|
330 |
wp_update_attachment_metadata($attach_id, $attach_data);
|
331 |
}
|
332 |
SQ_Classes_Helpers_Tools::setHeader('json');
|
|
|
333 |
|
334 |
echo wp_json_encode($return);
|
335 |
exit();
|
controllers/SeoSettings.php
CHANGED
@@ -563,6 +563,28 @@ class SQ_Controllers_SeoSettings extends SQ_Classes_FrontController {
|
|
563 |
]
|
564 |
);
|
565 |
exit();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
case 'sq_alerts_close':
|
567 |
//remove the specified alert from showing again
|
568 |
if ($alert = SQ_Classes_Helpers_Tools::getValue('alert', false)) {
|
@@ -674,10 +696,16 @@ class SQ_Controllers_SeoSettings extends SQ_Classes_FrontController {
|
|
674 |
exit();
|
675 |
}
|
676 |
|
677 |
-
|
678 |
//Get the new post type
|
679 |
$posttype = SQ_Classes_Helpers_Tools::getValue('value', false);
|
680 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
681 |
|
682 |
//If the post type is in the list of types
|
683 |
if ($posttype && in_array($posttype, $types)) {
|
563 |
]
|
564 |
);
|
565 |
exit();
|
566 |
+
case 'sq_reinstall':
|
567 |
+
SQ_Classes_Helpers_Tools::setHeader('html');
|
568 |
+
$plugin_slug = basename(_SQ_PLUGIN_NAME_, '.php');
|
569 |
+
|
570 |
+
|
571 |
+
$rollback = SQ_Classes_ObjController::getClass('SQ_Models_Rollback');
|
572 |
+
|
573 |
+
$rollback->set_plugin(array(
|
574 |
+
'version' => SQ_VERSION,
|
575 |
+
'plugin_name' => _SQ_ROOT_DIR_,
|
576 |
+
'plugin_slug' => $plugin_slug,
|
577 |
+
'package_url' => sprintf('https://downloads.wordpress.org/plugin/%s.%s.zip', $plugin_slug, SQ_VERSION),
|
578 |
+
));
|
579 |
+
|
580 |
+
$rollback->run();
|
581 |
+
|
582 |
+
wp_die(
|
583 |
+
'', esc_html__("Reinstall Current Version", _SQ_PLUGIN_NAME_), [
|
584 |
+
'response' => 200,
|
585 |
+
]
|
586 |
+
);
|
587 |
+
exit();
|
588 |
case 'sq_alerts_close':
|
589 |
//remove the specified alert from showing again
|
590 |
if ($alert = SQ_Classes_Helpers_Tools::getValue('alert', false)) {
|
696 |
exit();
|
697 |
}
|
698 |
|
|
|
699 |
//Get the new post type
|
700 |
$posttype = SQ_Classes_Helpers_Tools::getValue('value', false);
|
701 |
+
$filter = array('public' => true, '_builtin' => false);
|
702 |
+
$types = get_post_types($filter);
|
703 |
+
|
704 |
+
$filter = array('public' => true,);
|
705 |
+
$taxonomies = get_taxonomies($filter);
|
706 |
+
foreach ($taxonomies as $pattern => $type) {
|
707 |
+
$types['tax-' . $pattern] = 'tax-' . $pattern;
|
708 |
+
}
|
709 |
|
710 |
//If the post type is in the list of types
|
711 |
if ($posttype && in_array($posttype, $types)) {
|
controllers/Snippet.php
CHANGED
@@ -195,6 +195,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController {
|
|
195 |
}
|
196 |
if (SQ_Classes_Helpers_Tools::isAjax()) {
|
197 |
SQ_Classes_Helpers_Tools::setHeader('json');
|
|
|
198 |
|
199 |
echo wp_json_encode($json);
|
200 |
exit();
|
195 |
}
|
196 |
if (SQ_Classes_Helpers_Tools::isAjax()) {
|
197 |
SQ_Classes_Helpers_Tools::setHeader('json');
|
198 |
+
SQ_Classes_Helpers_Tools::emptyCache();
|
199 |
|
200 |
echo wp_json_encode($json);
|
201 |
exit();
|
models/Audits.php
CHANGED
@@ -57,7 +57,7 @@ class SQ_Models_Audits {
|
|
57 |
'title' => esc_html__("Visible for search engines?", _SQ_PLUGIN_NAME_),
|
58 |
'success' => esc_html__("Yes") . '!',
|
59 |
'fail' => esc_html__("No") . '!' . '<div class="sq_list_error_title">' . esc_html__("The pages with noindex", _SQ_PLUGIN_NAME_) . ':</div><div class="sq_list_error">%s</div>',
|
60 |
-
'description' => sprintf(esc_html__("How can we fix the noindex for our pages? %s You're currently telling Google not to index some of your pages through a robots tag inside your code. %s On WordPress, it's super easy to control on which pages to place no-index and which pages should never get tagged with no-index if you use the Squirrly SEO Plugin. %s If you decided you 100
|
61 |
'protip' => esc_html__("Some pages are better off if they have an associated no-index tag. Every website has a couple of pages that would be completely pointless to appear in search results, because they wouldn't ever make any sense for potential searchers.", _SQ_PLUGIN_NAME_),
|
62 |
'solution' => esc_html__("Add the correct meta robots tag in the pages", _SQ_PLUGIN_NAME_),
|
63 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_bulkseo', 'bulkseo'),
|
57 |
'title' => esc_html__("Visible for search engines?", _SQ_PLUGIN_NAME_),
|
58 |
'success' => esc_html__("Yes") . '!',
|
59 |
'fail' => esc_html__("No") . '!' . '<div class="sq_list_error_title">' . esc_html__("The pages with noindex", _SQ_PLUGIN_NAME_) . ':</div><div class="sq_list_error">%s</div>',
|
60 |
+
'description' => sprintf(esc_html__("How can we fix the noindex for our pages? %s You're currently telling Google not to index some of your pages through a robots tag inside your code. %s On WordPress, it's super easy to control on which pages to place no-index and which pages should never get tagged with no-index if you use the Squirrly SEO Plugin. %s If you decided you 100%% want these pages to be No-Index (you don’t want Google to index them) - then remove these pages from the SEO Audit. Use the SEO Audit for the pages you want to be seen on search engines.%s", _SQ_PLUGIN_NAME_), '<ul><li>', '</li><li>', '</li><li>', '</li><li>','</li></ul>'),
|
61 |
'protip' => esc_html__("Some pages are better off if they have an associated no-index tag. Every website has a couple of pages that would be completely pointless to appear in search results, because they wouldn't ever make any sense for potential searchers.", _SQ_PLUGIN_NAME_),
|
62 |
'solution' => esc_html__("Add the correct meta robots tag in the pages", _SQ_PLUGIN_NAME_),
|
63 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_bulkseo', 'bulkseo'),
|
models/Ico.php
CHANGED
@@ -308,9 +308,7 @@ class SQ_Models_Ico {
|
|
308 |
* @access private
|
309 |
*/
|
310 |
function _load_image_file($file) {
|
311 |
-
|
312 |
-
require_once(ABSPATH . '/wp-admin/includes/file.php');
|
313 |
-
WP_Filesystem();
|
314 |
|
315 |
//initiate image as false
|
316 |
$im = false;
|
308 |
* @access private
|
309 |
*/
|
310 |
function _load_image_file($file) {
|
311 |
+
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
|
|
|
|
312 |
|
313 |
//initiate image as false
|
314 |
$im = false;
|
models/domain/Patterns.php
CHANGED
@@ -337,6 +337,10 @@ class SQ_Models_Domain_Patterns extends SQ_Models_Abstract_Domain {
|
|
337 |
if ($search !== '') {
|
338 |
$this->_searchphrase = esc_html($search);
|
339 |
}
|
|
|
|
|
|
|
|
|
340 |
}
|
341 |
return $this->_searchphrase;
|
342 |
}
|
337 |
if ($search !== '') {
|
338 |
$this->_searchphrase = esc_html($search);
|
339 |
}
|
340 |
+
$search = SQ_Classes_Helpers_Tools::getValue('s');
|
341 |
+
if ($search !== '') {
|
342 |
+
$this->_searchphrase = esc_html($search);
|
343 |
+
}
|
344 |
}
|
345 |
return $this->_searchphrase;
|
346 |
}
|
readme.txt
CHANGED
@@ -417,6 +417,13 @@ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
|
|
417 |
28. Wp Seo - Facebook Pixel, Google Analytics and Google Search Console
|
418 |
|
419 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
= 11.0.02 - 02/17/2021 =
|
421 |
Update - Added the option to delete keywords from Keyword Suggestion
|
422 |
Update - Changed the Ranking column in Briefcase
|
@@ -425,6 +432,8 @@ Update - Show more results in Keyword Research Tool
|
|
425 |
Update - Select up to 3 keyword suggestions in the Research Process
|
426 |
Update - Make the main keyword more visible in the Focus Page section
|
427 |
Update - The limit for Google News to match the number of Posts per Page from Sitemap XML
|
|
|
|
|
428 |
Fixed - UI in Briefcase to look more friendly
|
429 |
Fixed - Already in SERP Checker button to show when a keyword is already added in Rankings
|
430 |
Fixed - Make sure to save the optimizations for all keywords in Live Assistant > Briefcase
|
417 |
28. Wp Seo - Facebook Pixel, Google Analytics and Google Search Console
|
418 |
|
419 |
== Changelog ==
|
420 |
+
= 11.0.03 - 02/26/2021 =
|
421 |
+
Fixed - Optimized layout for smaller screens to include all SEO elements
|
422 |
+
Fixed - getimagesize warning when the image path is not found
|
423 |
+
Fixed - Focus Pages dissapear on applying filters
|
424 |
+
Fixed - Snippet transparency on frontend reload
|
425 |
+
Fixed - Add all custom taxonomies in the SEO Automation
|
426 |
+
|
427 |
= 11.0.02 - 02/17/2021 =
|
428 |
Update - Added the option to delete keywords from Keyword Suggestion
|
429 |
Update - Changed the Ranking column in Briefcase
|
432 |
Update - Select up to 3 keyword suggestions in the Research Process
|
433 |
Update - Make the main keyword more visible in the Focus Page section
|
434 |
Update - The limit for Google News to match the number of Posts per Page from Sitemap XML
|
435 |
+
Update - Add the NewsArticle OG in Squirrly SEO Open Graph
|
436 |
+
Update - Change Json-LD Validation link in SEO Snippet with the new Google Validation link
|
437 |
Fixed - UI in Briefcase to look more friendly
|
438 |
Fixed - Already in SERP Checker button to show when a keyword is already added in Rankings
|
439 |
Fixed - Make sure to save the optimizations for all keywords in Live Assistant > Briefcase
|
squirrly.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Description: A.I.-based Private SEO Consultant. In a Plugin. Powered by Machine Learning and Cloud Services. Over 300 functionalities for SEO available when you need them.<BR> <a href="http://cloud.squirrly.co/user" target="_blank"><strong>Account Info</strong></a>
|
9 |
* Author: Squirrly SEO
|
10 |
* Author URI: https://plugin.squirrly.co
|
11 |
-
* Version: 11.0.
|
12 |
* License: GPLv2 or later
|
13 |
* License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
14 |
* Text Domain: squirrly-seo
|
@@ -17,9 +17,9 @@
|
|
17 |
|
18 |
if (!defined('SQ_VERSION')) {
|
19 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
20 |
-
define('SQ_VERSION', '11.0.
|
21 |
//The last stable version
|
22 |
-
define('SQ_STABLE_VERSION', '
|
23 |
// Call config files
|
24 |
try {
|
25 |
require_once(dirname(__FILE__) . '/config/config.php');
|
8 |
* Description: A.I.-based Private SEO Consultant. In a Plugin. Powered by Machine Learning and Cloud Services. Over 300 functionalities for SEO available when you need them.<BR> <a href="http://cloud.squirrly.co/user" target="_blank"><strong>Account Info</strong></a>
|
9 |
* Author: Squirrly SEO
|
10 |
* Author URI: https://plugin.squirrly.co
|
11 |
+
* Version: 11.0.03
|
12 |
* License: GPLv2 or later
|
13 |
* License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
14 |
* Text Domain: squirrly-seo
|
17 |
|
18 |
if (!defined('SQ_VERSION')) {
|
19 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
20 |
+
define('SQ_VERSION', '11.0.03');
|
21 |
//The last stable version
|
22 |
+
define('SQ_STABLE_VERSION', '11.0.02');
|
23 |
// Call config files
|
24 |
try {
|
25 |
require_once(dirname(__FILE__) . '/config/config.php');
|
view/Assistant/Assistant.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<div id="sq_wrap">
|
2 |
<?php SQ_Classes_ObjController::getClass('SQ_Core_BlockToolbar')->init(); ?>
|
3 |
<?php do_action('sq_notices'); ?>
|
4 |
-
<div class="d-flex flex-row my-0 bg-white">
|
5 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'assistant'), 'sq_assistant'); ?>
|
6 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white
|
7 |
-
<div class="flex-grow-1
|
8 |
<?php do_action('sq_form_notices'); ?>
|
9 |
|
10 |
-
<div class="card col-
|
11 |
<div class="card-body p-2 bg-title rounded-top">
|
12 |
<div class="sq_help_question float-right"><a href="https://howto.squirrly.co/kb/squirrly-live-assistant/" target="_blank"><i class="fa fa-question-circle"></i></a></div>
|
13 |
<div class="sq_icons_content p-3 py-4">
|
@@ -16,27 +16,27 @@
|
|
16 |
<h3 class="card-title"><?php echo esc_html__("Optimize with Squirrly Live Assistant", _SQ_PLUGIN_NAME_); ?>:</h3>
|
17 |
<div class="card-title-description m-2"><?php echo esc_html__("Use Squirrly to optimize the content for your posts, pages, products, etc.", _SQ_PLUGIN_NAME_); ?></div>
|
18 |
</div>
|
19 |
-
<div id="sq_assistant" class="card col-
|
20 |
<?php do_action('sq_subscription_notices'); ?>
|
21 |
|
22 |
<div class="card-body p-0">
|
23 |
-
<div class="col-
|
24 |
-
<div class="row col-
|
25 |
-
<div class="col-
|
26 |
-
<div class="col-
|
27 |
<?php if (current_user_can('sq_manage_snippet')) { ?>
|
28 |
<form method="POST">
|
29 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_create_demo', 'sq_nonce'); ?>
|
30 |
<input type="hidden" name="action" value="sq_create_demo"/>
|
31 |
-
<button type="submit" class="btn rounded-0 btn-green btn-lg px-5
|
32 |
</form>
|
33 |
<?php } ?>
|
34 |
</div>
|
35 |
</div>
|
36 |
-
<div class="col-
|
37 |
-
<div class="col-
|
38 |
<div class="dropdown">
|
39 |
-
<button class="btn btn-success btn-lg dropdown-toggle" style="min-width:
|
40 |
<?php echo esc_html__("Add New", _SQ_PLUGIN_NAME_); ?>
|
41 |
</button>
|
42 |
<div class="dropdown-menu mt-1" style="min-width: 200px" aria-labelledby="add_new_dropdown">
|
@@ -59,7 +59,7 @@
|
|
59 |
</div>
|
60 |
</div>
|
61 |
<div class="sq_col_side sticky">
|
62 |
-
<div class="card col-
|
63 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
64 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
65 |
</div>
|
1 |
<div id="sq_wrap">
|
2 |
<?php SQ_Classes_ObjController::getClass('SQ_Core_BlockToolbar')->init(); ?>
|
3 |
<?php do_action('sq_notices'); ?>
|
4 |
+
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
5 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'assistant'), 'sq_assistant'); ?>
|
6 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
7 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
8 |
<?php do_action('sq_form_notices'); ?>
|
9 |
|
10 |
+
<div class="card col-12 p-0">
|
11 |
<div class="card-body p-2 bg-title rounded-top">
|
12 |
<div class="sq_help_question float-right"><a href="https://howto.squirrly.co/kb/squirrly-live-assistant/" target="_blank"><i class="fa fa-question-circle"></i></a></div>
|
13 |
<div class="sq_icons_content p-3 py-4">
|
16 |
<h3 class="card-title"><?php echo esc_html__("Optimize with Squirrly Live Assistant", _SQ_PLUGIN_NAME_); ?>:</h3>
|
17 |
<div class="card-title-description m-2"><?php echo esc_html__("Use Squirrly to optimize the content for your posts, pages, products, etc.", _SQ_PLUGIN_NAME_); ?></div>
|
18 |
</div>
|
19 |
+
<div id="sq_assistant" class="card col-12 p-0 tab-panel border-0">
|
20 |
<?php do_action('sq_subscription_notices'); ?>
|
21 |
|
22 |
<div class="card-body p-0">
|
23 |
+
<div class="col-12 m-0 p-0">
|
24 |
+
<div class="row col-12 m-0 py-3 px-0 border-0 ">
|
25 |
+
<div class="col-6">
|
26 |
+
<div class="col-12 my-3 p-0 text-right">
|
27 |
<?php if (current_user_can('sq_manage_snippet')) { ?>
|
28 |
<form method="POST">
|
29 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_create_demo', 'sq_nonce'); ?>
|
30 |
<input type="hidden" name="action" value="sq_create_demo"/>
|
31 |
+
<button type="submit" class="btn rounded-0 btn-green btn-lg px-5" style="min-width: 280px"><?php echo esc_html__("Practice/Test Round", _SQ_PLUGIN_NAME_); ?></button>
|
32 |
</form>
|
33 |
<?php } ?>
|
34 |
</div>
|
35 |
</div>
|
36 |
+
<div class="col-6">
|
37 |
+
<div class="col-12 my-3 p-0 text-left">
|
38 |
<div class="dropdown">
|
39 |
+
<button class="btn btn-success btn-lg dropdown-toggle" style="min-width: 280px" type="button" id="add_new_dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
40 |
<?php echo esc_html__("Add New", _SQ_PLUGIN_NAME_); ?>
|
41 |
</button>
|
42 |
<div class="dropdown-menu mt-1" style="min-width: 200px" aria-labelledby="add_new_dropdown">
|
59 |
</div>
|
60 |
</div>
|
61 |
<div class="sq_col_side sticky">
|
62 |
+
<div class="card col-12 p-0">
|
63 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
64 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
65 |
</div>
|
view/Assistant/Settings.php
CHANGED
@@ -4,19 +4,19 @@
|
|
4 |
<div class="d-flex flex-row my-0 bg-white" >
|
5 |
<?php
|
6 |
if (!current_user_can('sq_manage_settings')) {
|
7 |
-
echo '<div class="col-
|
8 |
return;
|
9 |
}
|
10 |
?>
|
11 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab'), 'sq_assistant'); ?>
|
12 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white
|
13 |
-
<div class="flex-grow-1
|
14 |
<?php do_action('sq_form_notices'); ?>
|
15 |
<form method="POST">
|
16 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_settings_assistant', 'sq_nonce'); ?>
|
17 |
<input type="hidden" name="action" value="sq_settings_assistant"/>
|
18 |
|
19 |
-
<div class="card col-
|
20 |
<div class="card-body p-0 m-0 bg-title rounded-top row">
|
21 |
<div class="card-body p-2 bg-title rounded-top">
|
22 |
<div class="sq_icons_content p-3 py-4">
|
@@ -26,15 +26,15 @@
|
|
26 |
<div class="card-title-description m-2"></div>
|
27 |
</div>
|
28 |
</div>
|
29 |
-
<div id="sq_seosettings" class="card col-
|
30 |
<div class="card-body p-0">
|
31 |
-
<div class="col-
|
32 |
-
<div class="card col-
|
33 |
|
34 |
-
<div class="col-
|
35 |
-
<div class="col-
|
36 |
-
<div class="checker col-
|
37 |
-
<div class="col-
|
38 |
<input type="hidden" name="sq_keyword_help" value="0"/>
|
39 |
<input type="checkbox" id="sq_keyword_help" name="sq_keyword_help" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_keyword_help') ? 'checked="checked"' : '') ?> value="1"/>
|
40 |
<label for="sq_keyword_help" class="ml-2"><?php echo esc_html__("Squirrly Tooltips", _SQ_PLUGIN_NAME_); ?></label>
|
@@ -43,9 +43,9 @@
|
|
43 |
</div>
|
44 |
</div>
|
45 |
|
46 |
-
<div class="col-
|
47 |
-
<div class="checker col-
|
48 |
-
<div class="col-
|
49 |
<input type="hidden" name="sq_local_images" value="0"/>
|
50 |
<input type="checkbox" id="sq_local_images" name="sq_local_images" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_local_images') ? 'checked="checked"' : '') ?> value="1"/>
|
51 |
<label for="sq_local_images" class="ml-2"><?php echo esc_html__("Download Remote Images", _SQ_PLUGIN_NAME_); ?></label>
|
@@ -56,9 +56,9 @@
|
|
56 |
</div>
|
57 |
|
58 |
|
59 |
-
<div class="col-
|
60 |
-
<div class="checker col-
|
61 |
-
<div class="col-
|
62 |
<input type="hidden" name="sq_img_licence" value="0"/>
|
63 |
<input type="checkbox" id="sq_img_licence" name="sq_img_licence" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_img_licence') ? 'checked="checked"' : '') ?> value="1"/>
|
64 |
<label for="sq_img_licence" class="ml-2"><?php echo esc_html__("Copyright Free Images", _SQ_PLUGIN_NAME_); ?></label>
|
@@ -67,15 +67,15 @@
|
|
67 |
</div>
|
68 |
</div>
|
69 |
|
70 |
-
<div class="col-
|
71 |
-
<div class="checker col-
|
72 |
-
<div class="col-
|
73 |
-
<div class="col-
|
74 |
-
<div class="col-
|
75 |
<div class="font-weight-bold"><?php echo esc_html__("Live Assistant Type", _SQ_PLUGIN_NAME_); ?>:</div>
|
76 |
<div class="small text-black-50"><?php echo esc_html__("Select how you want Squirrly Live Assistant to load in editor.", _SQ_PLUGIN_NAME_); ?></div>
|
77 |
</div>
|
78 |
-
<div class="col-
|
79 |
<select name="sq_sla_type" class="form-control bg-input mb-1">
|
80 |
<option value="auto" <?php echo((SQ_Classes_Helpers_Tools::getOption('sq_sla_type') == 'auto') ? 'selected="selected"' : '') ?>><?php echo esc_html__("Auto", _SQ_PLUGIN_NAME_); ?></option>
|
81 |
<option value="integrated" <?php echo((SQ_Classes_Helpers_Tools::getOption('sq_sla_type') == 'integrated') ? 'selected="selected"' : '') ?>><?php echo esc_html__("Integrated Box", _SQ_PLUGIN_NAME_); ?></option>
|
@@ -87,9 +87,9 @@
|
|
87 |
</div>
|
88 |
</div>
|
89 |
|
90 |
-
<div class="col-
|
91 |
-
<div class="checker col-
|
92 |
-
<div class="col-
|
93 |
<input type="hidden" name="sq_sla_frontend" value="0"/>
|
94 |
<input type="checkbox" id="sq_sla_frontend" name="sq_sla_frontend" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_sla_frontend') ? 'checked="checked"' : '') ?> value="1"/>
|
95 |
<label for="sq_sla_frontend" class="ml-2"><?php echo esc_html__("Activate Live Assistant in Frontend", _SQ_PLUGIN_NAME_); ?><span class="text-danger"></span><a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#Add-Live-Assistant-in-Frontend" target="_blank"><i class="fa fa-question-circle m-0 px-2" style="display: inline;"></i></a></label>
|
@@ -102,18 +102,18 @@
|
|
102 |
|
103 |
<div class="bg-title p-2 sq_advanced">
|
104 |
<h3 class="card-title"><?php echo esc_html__("Places where you do NOT want Squirrly Live Assistant to load", _SQ_PLUGIN_NAME_); ?>:</h3>
|
105 |
-
<div class="col-
|
106 |
<div class="card-title-description mb-0 text-danger"><?php echo esc_html__("Don't select anything if you wish Squirrly Live Assistant to load for all post types.", _SQ_PLUGIN_NAME_); ?></div>
|
107 |
</div>
|
108 |
</div>
|
109 |
-
<div class="col-
|
110 |
-
<div class="col-
|
111 |
-
<div class="col-
|
112 |
<?php echo esc_html__("Exclusions", _SQ_PLUGIN_NAME_); ?>:
|
113 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Select places where you do NOT want Squirrly Live Assistant to load.", _SQ_PLUGIN_NAME_); ?></div>
|
114 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Hold Control key to select multiple places", _SQ_PLUGIN_NAME_); ?></div>
|
115 |
</div>
|
116 |
-
<div class="col-
|
117 |
<input type="hidden" name="sq_sla_exclude_post_types[]" value="0"/>
|
118 |
<select multiple name="sq_sla_exclude_post_types[]" class="form-control bg-input mb-1" style="height: auto;">
|
119 |
<?php
|
@@ -135,7 +135,7 @@
|
|
135 |
|
136 |
</div>
|
137 |
|
138 |
-
<div class="col-
|
139 |
<?php if (!SQ_Classes_Helpers_Tools::getOption('sq_seoexpert')) { ?>
|
140 |
<div class="py-0 float-right text-right m-2">
|
141 |
<button type="button" class="show_advanced btn rounded-0 btn-link text-black-50 btn-sm p-0 pr-2 m-0"><?php echo esc_html__("Show Advanced Options", _SQ_PLUGIN_NAME_); ?></button>
|
@@ -147,7 +147,7 @@
|
|
147 |
</form>
|
148 |
</div>
|
149 |
<div class="sq_col_side sticky">
|
150 |
-
<div class="card col-
|
151 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
152 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
153 |
</div>
|
4 |
<div class="d-flex flex-row my-0 bg-white" >
|
5 |
<?php
|
6 |
if (!current_user_can('sq_manage_settings')) {
|
7 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">'. esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_).'</div>';
|
8 |
return;
|
9 |
}
|
10 |
?>
|
11 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab'), 'sq_assistant'); ?>
|
12 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
13 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
14 |
<?php do_action('sq_form_notices'); ?>
|
15 |
<form method="POST">
|
16 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_settings_assistant', 'sq_nonce'); ?>
|
17 |
<input type="hidden" name="action" value="sq_settings_assistant"/>
|
18 |
|
19 |
+
<div class="card col-12 p-0">
|
20 |
<div class="card-body p-0 m-0 bg-title rounded-top row">
|
21 |
<div class="card-body p-2 bg-title rounded-top">
|
22 |
<div class="sq_icons_content p-3 py-4">
|
26 |
<div class="card-title-description m-2"></div>
|
27 |
</div>
|
28 |
</div>
|
29 |
+
<div id="sq_seosettings" class="card col-12 p-0 m-0 border-0 tab-panel border-0">
|
30 |
<div class="card-body p-0">
|
31 |
+
<div class="col-12 m-0 p-0">
|
32 |
+
<div class="card col-12 p-0 border-0 ">
|
33 |
|
34 |
+
<div class="col-12 pt-0 pb-4 border-bottom tab-panel">
|
35 |
+
<div class="col-12 row mb-1 ml-1">
|
36 |
+
<div class="checker col-12 row my-2 py-1">
|
37 |
+
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
38 |
<input type="hidden" name="sq_keyword_help" value="0"/>
|
39 |
<input type="checkbox" id="sq_keyword_help" name="sq_keyword_help" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_keyword_help') ? 'checked="checked"' : '') ?> value="1"/>
|
40 |
<label for="sq_keyword_help" class="ml-2"><?php echo esc_html__("Squirrly Tooltips", _SQ_PLUGIN_NAME_); ?></label>
|
43 |
</div>
|
44 |
</div>
|
45 |
|
46 |
+
<div class="col-12 row mb-1 ml-1 sq_advanced">
|
47 |
+
<div class="checker col-12 row my-2 py-1">
|
48 |
+
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
49 |
<input type="hidden" name="sq_local_images" value="0"/>
|
50 |
<input type="checkbox" id="sq_local_images" name="sq_local_images" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_local_images') ? 'checked="checked"' : '') ?> value="1"/>
|
51 |
<label for="sq_local_images" class="ml-2"><?php echo esc_html__("Download Remote Images", _SQ_PLUGIN_NAME_); ?></label>
|
56 |
</div>
|
57 |
|
58 |
|
59 |
+
<div class="col-12 row mb-1 ml-1">
|
60 |
+
<div class="checker col-12 row my-2 py-1">
|
61 |
+
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
62 |
<input type="hidden" name="sq_img_licence" value="0"/>
|
63 |
<input type="checkbox" id="sq_img_licence" name="sq_img_licence" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_img_licence') ? 'checked="checked"' : '') ?> value="1"/>
|
64 |
<label for="sq_img_licence" class="ml-2"><?php echo esc_html__("Copyright Free Images", _SQ_PLUGIN_NAME_); ?></label>
|
67 |
</div>
|
68 |
</div>
|
69 |
|
70 |
+
<div class="col-12 row mb-1 ml-1">
|
71 |
+
<div class="checker col-12 row my-2 py-1">
|
72 |
+
<div class="col-12 p-0">
|
73 |
+
<div class="col-12 row py-2 mx-0 my-3">
|
74 |
+
<div class="col-4 p-1 pr-3">
|
75 |
<div class="font-weight-bold"><?php echo esc_html__("Live Assistant Type", _SQ_PLUGIN_NAME_); ?>:</div>
|
76 |
<div class="small text-black-50"><?php echo esc_html__("Select how you want Squirrly Live Assistant to load in editor.", _SQ_PLUGIN_NAME_); ?></div>
|
77 |
</div>
|
78 |
+
<div class="col-8 p-0 input-group">
|
79 |
<select name="sq_sla_type" class="form-control bg-input mb-1">
|
80 |
<option value="auto" <?php echo((SQ_Classes_Helpers_Tools::getOption('sq_sla_type') == 'auto') ? 'selected="selected"' : '') ?>><?php echo esc_html__("Auto", _SQ_PLUGIN_NAME_); ?></option>
|
81 |
<option value="integrated" <?php echo((SQ_Classes_Helpers_Tools::getOption('sq_sla_type') == 'integrated') ? 'selected="selected"' : '') ?>><?php echo esc_html__("Integrated Box", _SQ_PLUGIN_NAME_); ?></option>
|
87 |
</div>
|
88 |
</div>
|
89 |
|
90 |
+
<div class="col-12 row mb-1 ml-1">
|
91 |
+
<div class="checker col-12 row my-2 py-1">
|
92 |
+
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
93 |
<input type="hidden" name="sq_sla_frontend" value="0"/>
|
94 |
<input type="checkbox" id="sq_sla_frontend" name="sq_sla_frontend" class="sq-switch" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_sla_frontend') ? 'checked="checked"' : '') ?> value="1"/>
|
95 |
<label for="sq_sla_frontend" class="ml-2"><?php echo esc_html__("Activate Live Assistant in Frontend", _SQ_PLUGIN_NAME_); ?><span class="text-danger"></span><a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#Add-Live-Assistant-in-Frontend" target="_blank"><i class="fa fa-question-circle m-0 px-2" style="display: inline;"></i></a></label>
|
102 |
|
103 |
<div class="bg-title p-2 sq_advanced">
|
104 |
<h3 class="card-title"><?php echo esc_html__("Places where you do NOT want Squirrly Live Assistant to load", _SQ_PLUGIN_NAME_); ?>:</h3>
|
105 |
+
<div class="col-12 text-left m-0 p-0">
|
106 |
<div class="card-title-description mb-0 text-danger"><?php echo esc_html__("Don't select anything if you wish Squirrly Live Assistant to load for all post types.", _SQ_PLUGIN_NAME_); ?></div>
|
107 |
</div>
|
108 |
</div>
|
109 |
+
<div class="col-12 py-4 border-bottom tab-panel sq_advanced">
|
110 |
+
<div class="col-12 row py-2 mx-0 my-3">
|
111 |
+
<div class="col-4 p-0 pr-3 font-weight-bold">
|
112 |
<?php echo esc_html__("Exclusions", _SQ_PLUGIN_NAME_); ?>:
|
113 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Select places where you do NOT want Squirrly Live Assistant to load.", _SQ_PLUGIN_NAME_); ?></div>
|
114 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Hold Control key to select multiple places", _SQ_PLUGIN_NAME_); ?></div>
|
115 |
</div>
|
116 |
+
<div class="col-8 p-0 input-group">
|
117 |
<input type="hidden" name="sq_sla_exclude_post_types[]" value="0"/>
|
118 |
<select multiple name="sq_sla_exclude_post_types[]" class="form-control bg-input mb-1" style="height: auto;">
|
119 |
<?php
|
135 |
|
136 |
</div>
|
137 |
|
138 |
+
<div class="col-12 my-3 p-0">
|
139 |
<?php if (!SQ_Classes_Helpers_Tools::getOption('sq_seoexpert')) { ?>
|
140 |
<div class="py-0 float-right text-right m-2">
|
141 |
<button type="button" class="show_advanced btn rounded-0 btn-link text-black-50 btn-sm p-0 pr-2 m-0"><?php echo esc_html__("Show Advanced Options", _SQ_PLUGIN_NAME_); ?></button>
|
147 |
</form>
|
148 |
</div>
|
149 |
<div class="sq_col_side sticky">
|
150 |
+
<div class="card col-12 p-0">
|
151 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
152 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
153 |
</div>
|
view/Audits/Addpage.php
CHANGED
@@ -2,19 +2,19 @@
|
|
2 |
<div id="sq_wrap">
|
3 |
<?php SQ_Classes_ObjController::getClass('SQ_Core_BlockToolbar')->init(); ?>
|
4 |
<?php do_action('sq_notices'); ?>
|
5 |
-
<div class="d-flex flex-row my-0 bg-
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
-
echo '<div class="col-
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'boost'), 'sq_audits'); ?>
|
13 |
-
<div class="
|
14 |
-
<div class="flex-grow-1
|
15 |
<?php do_action('sq_form_notices'); ?>
|
16 |
|
17 |
-
<div class="card col-
|
18 |
<div class="card-body p-2 bg-title rounded-top">
|
19 |
<div class="sq_icons_content p-3 py-4">
|
20 |
<div class="sq_icons sq_addpage_icon m-2"></div>
|
@@ -22,12 +22,12 @@
|
|
22 |
<h3 class="card-title"><?php echo esc_html__("Add a page in Audit", _SQ_PLUGIN_NAME_); ?>:</h3>
|
23 |
<div class="card-title-description m-2"><?php echo esc_html__("Verifies the online presence of your website by knowing how your website is performing in terms of Blogging, SEO, Social, Authority, Links, and Traffic", _SQ_PLUGIN_NAME_); ?></div>
|
24 |
</div>
|
25 |
-
<div id="sq_auditpage" class="card col-
|
26 |
<div class="row px-3">
|
27 |
-
<form id="sq_auditpage_form" method="get" class="form-inline col-
|
28 |
<input type="hidden" name="page" value="<?php echo SQ_Classes_Helpers_Tools::getValue('page') ?>">
|
29 |
<input type="hidden" name="tab" value="<?php echo SQ_Classes_Helpers_Tools::getValue('tab') ?>">
|
30 |
-
<div class="sq_filter_label col-
|
31 |
<?php if (isset($view->labels) && !empty($view->labels)) {
|
32 |
$keyword_labels = SQ_Classes_Helpers_Tools::getValue('slabel', array());
|
33 |
foreach ($view->labels as $category => $label) {
|
@@ -42,11 +42,11 @@
|
|
42 |
} ?>
|
43 |
</div>
|
44 |
|
45 |
-
<div class="col-
|
46 |
|
47 |
-
<div class="col-
|
48 |
|
49 |
-
<select name="stype" class="
|
50 |
<?php
|
51 |
foreach ($patterns as $pattern => $type) {
|
52 |
if (in_array($pattern, array('custom', 'tax-category', 'search', 'archive', '404'))) continue;
|
@@ -83,13 +83,11 @@
|
|
83 |
?>
|
84 |
</select>
|
85 |
|
86 |
-
</div>
|
87 |
-
<div class="col-sm-2 py-2 pl-0 pr-1 mx-0">
|
88 |
<?php if (!empty($view->pages)) {
|
89 |
foreach ($view->pages as $index => $post) {
|
90 |
if (isset($post->ID)) {
|
91 |
?>
|
92 |
-
<select name="sstatus" class="
|
93 |
<option <?php echo((!SQ_Classes_Helpers_Tools::getValue('sstatus', false)) ? 'selected="selected"' : '') ?> value="all"><?php echo esc_html__("Any status", _SQ_PLUGIN_NAME_); ?></option>
|
94 |
<?php
|
95 |
|
@@ -107,9 +105,9 @@
|
|
107 |
} ?>
|
108 |
|
109 |
</div>
|
110 |
-
<div class="col-
|
111 |
<div class="d-flex flex-row justify-content-end p-0 m-0">
|
112 |
-
<input type="search" class="d-inline-block align-middle col-
|
113 |
<input type="submit" class="btn btn-primary" value="<?php echo esc_html__("Search", _SQ_PLUGIN_NAME_) ?>"/>
|
114 |
<?php if ((SQ_Classes_Helpers_Tools::getIsset('skeyword') && SQ_Classes_Helpers_Tools::getValue('skeyword') <> '#all') || SQ_Classes_Helpers_Tools::getIsset('slabel') || SQ_Classes_Helpers_Tools::getIsset('sid') || SQ_Classes_Helpers_Tools::getIsset('sstatus')) { ?>
|
115 |
<button type="button" class="btn btn-info ml-1 p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage', array('stype=' . SQ_Classes_Helpers_Tools::getValue('stype', 'post') )) ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
@@ -123,8 +121,8 @@
|
|
123 |
|
124 |
<?php if (!empty($view->pages)) { ?>
|
125 |
<div class="card-body p-0 position-relative">
|
126 |
-
<div class="col-
|
127 |
-
<div class="card col-
|
128 |
|
129 |
<table class="table table-striped table-hover">
|
130 |
<thead>
|
@@ -155,7 +153,7 @@
|
|
155 |
?>
|
156 |
<tr>
|
157 |
<td>
|
158 |
-
<div class="col-
|
159 |
<div class="small " style="font-size: 11px"><?php echo '<a href="' . $post->url . '" class="text-link" rel="permalink" target="_blank">' . urldecode($post->url) . '</a>' ?></div>
|
160 |
</td>
|
161 |
<td style="width: 140px; text-align: center; vertical-align: middle">
|
@@ -206,7 +204,7 @@
|
|
206 |
</div>
|
207 |
</div>
|
208 |
<div class="sq_col sq_col_side ">
|
209 |
-
<div class="card col-
|
210 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
211 |
<?php //echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
212 |
</div>
|
2 |
<div id="sq_wrap">
|
3 |
<?php SQ_Classes_ObjController::getClass('SQ_Core_BlockToolbar')->init(); ?>
|
4 |
<?php do_action('sq_notices'); ?>
|
5 |
+
<div class="d-flex flex-row flex-nowrap my-0 bg-nav" style="clear: both !important;">
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">' . esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_) . '</div>';
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'boost'), 'sq_audits'); ?>
|
13 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
14 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
15 |
<?php do_action('sq_form_notices'); ?>
|
16 |
|
17 |
+
<div class="card col-12 p-0">
|
18 |
<div class="card-body p-2 bg-title rounded-top">
|
19 |
<div class="sq_icons_content p-3 py-4">
|
20 |
<div class="sq_icons sq_addpage_icon m-2"></div>
|
22 |
<h3 class="card-title"><?php echo esc_html__("Add a page in Audit", _SQ_PLUGIN_NAME_); ?>:</h3>
|
23 |
<div class="card-title-description m-2"><?php echo esc_html__("Verifies the online presence of your website by knowing how your website is performing in terms of Blogging, SEO, Social, Authority, Links, and Traffic", _SQ_PLUGIN_NAME_); ?></div>
|
24 |
</div>
|
25 |
+
<div id="sq_auditpage" class="card col-12 p-0 tab-panel border-0">
|
26 |
<div class="row px-3">
|
27 |
+
<form id="sq_auditpage_form" method="get" class="form-inline col-12 ignore">
|
28 |
<input type="hidden" name="page" value="<?php echo SQ_Classes_Helpers_Tools::getValue('page') ?>">
|
29 |
<input type="hidden" name="tab" value="<?php echo SQ_Classes_Helpers_Tools::getValue('tab') ?>">
|
30 |
+
<div class="sq_filter_label col-12 row p-2">
|
31 |
<?php if (isset($view->labels) && !empty($view->labels)) {
|
32 |
$keyword_labels = SQ_Classes_Helpers_Tools::getValue('slabel', array());
|
33 |
foreach ($view->labels as $category => $label) {
|
42 |
} ?>
|
43 |
</div>
|
44 |
|
45 |
+
<div class="col-12 row px-0 mx-0">
|
46 |
|
47 |
+
<div class="col-5 py-2 pl-0 pr-1 mx-0">
|
48 |
|
49 |
+
<select name="stype" class="d-inline-block m-0 p-1" onchange="jQuery('form#sq_auditpage_form').submit();">
|
50 |
<?php
|
51 |
foreach ($patterns as $pattern => $type) {
|
52 |
if (in_array($pattern, array('custom', 'tax-category', 'search', 'archive', '404'))) continue;
|
83 |
?>
|
84 |
</select>
|
85 |
|
|
|
|
|
86 |
<?php if (!empty($view->pages)) {
|
87 |
foreach ($view->pages as $index => $post) {
|
88 |
if (isset($post->ID)) {
|
89 |
?>
|
90 |
+
<select name="sstatus" class="d-inline-block m-0 p-1" onchange="jQuery('form#sq_auditpage_form').submit();">
|
91 |
<option <?php echo((!SQ_Classes_Helpers_Tools::getValue('sstatus', false)) ? 'selected="selected"' : '') ?> value="all"><?php echo esc_html__("Any status", _SQ_PLUGIN_NAME_); ?></option>
|
92 |
<?php
|
93 |
|
105 |
} ?>
|
106 |
|
107 |
</div>
|
108 |
+
<div class="col-7 p-0 py-2 mx-0">
|
109 |
<div class="d-flex flex-row justify-content-end p-0 m-0">
|
110 |
+
<input type="search" class="d-inline-block align-middle col-7 p-1 mr-1" id="post-search-input" autofocus name="skeyword" value="<?php echo SQ_Classes_Helpers_Sanitize::escapeKeyword(SQ_Classes_Helpers_Tools::getValue('skeyword')) ?>"/>
|
111 |
<input type="submit" class="btn btn-primary" value="<?php echo esc_html__("Search", _SQ_PLUGIN_NAME_) ?>"/>
|
112 |
<?php if ((SQ_Classes_Helpers_Tools::getIsset('skeyword') && SQ_Classes_Helpers_Tools::getValue('skeyword') <> '#all') || SQ_Classes_Helpers_Tools::getIsset('slabel') || SQ_Classes_Helpers_Tools::getIsset('sid') || SQ_Classes_Helpers_Tools::getIsset('sstatus')) { ?>
|
113 |
<button type="button" class="btn btn-info ml-1 p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage', array('stype=' . SQ_Classes_Helpers_Tools::getValue('stype', 'post') )) ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
121 |
|
122 |
<?php if (!empty($view->pages)) { ?>
|
123 |
<div class="card-body p-0 position-relative">
|
124 |
+
<div class="col-12 m-0 p-2">
|
125 |
+
<div class="card col-12 my-1 p-0 border-0 " style="display: inline-block;">
|
126 |
|
127 |
<table class="table table-striped table-hover">
|
128 |
<thead>
|
153 |
?>
|
154 |
<tr>
|
155 |
<td>
|
156 |
+
<div class="col-12 px-0 mx-0 font-weight-bold" style="font-size: 15px"><?php echo wp_kses_post($post->sq->title) ?></div>
|
157 |
<div class="small " style="font-size: 11px"><?php echo '<a href="' . $post->url . '" class="text-link" rel="permalink" target="_blank">' . urldecode($post->url) . '</a>' ?></div>
|
158 |
</td>
|
159 |
<td style="width: 140px; text-align: center; vertical-align: middle">
|
204 |
</div>
|
205 |
</div>
|
206 |
<div class="sq_col sq_col_side ">
|
207 |
+
<div class="card col-12 p-0">
|
208 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
209 |
<?php //echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
210 |
</div>
|
view/Audits/Audit.php
CHANGED
@@ -5,20 +5,19 @@
|
|
5 |
<div class="d-flex flex-row flex-nowrap my-0 bg-nav" style="clear: both !important;">
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
-
echo '<div class="col-
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAuditTabs(); ?>
|
13 |
-
|
14 |
-
|
15 |
-
<div class="flex-grow-1 mr-3 sq_flex">
|
16 |
<?php do_action('sq_form_notices'); ?>
|
17 |
|
18 |
-
<div class="card col-
|
19 |
|
20 |
<div class="card-body p-2 bg-title rounded-top row">
|
21 |
-
<div class="col-
|
22 |
<div class="sq_icons_content p-3 py-4">
|
23 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
24 |
</div>
|
@@ -30,10 +29,10 @@
|
|
30 |
|
31 |
<?php if ($view->audit) { ?>
|
32 |
|
33 |
-
<div id="sq_audit" class="card col-
|
34 |
<div class="card-content" style="min-height: 150px">
|
35 |
<?php if (SQ_Classes_Helpers_Tools::getValue('sid', false)) { ?>
|
36 |
-
<div class="form-group text-right col-
|
37 |
<div class="sq_serp_settings_button mx-2 my-0 p-0" style="margin-top:-70px !important">
|
38 |
<button type="button" class="btn btn-info p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audits') ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
39 |
</div>
|
@@ -80,14 +79,14 @@
|
|
80 |
<div class="sq_separator"></div>
|
81 |
|
82 |
|
83 |
-
<div class="card col-
|
84 |
-
<div class="col-
|
85 |
-
<div class="col-
|
86 |
<button class="sq_audit_completed_tasks btn btn-sm btn-success px-3">
|
87 |
<i class="fa fa-check-circle-o mr-2 py-2"></i><?php echo esc_html__("Show Only Completed Tasks", _SQ_PLUGIN_NAME_) ?>
|
88 |
</button>
|
89 |
</div>
|
90 |
-
<div class="col-
|
91 |
<button class="sq_audit_incompleted_tasks btn btn-sm btn-danger px-3">
|
92 |
<i class="fa fa-circle-o mr-2 py-2"></i><?php echo esc_html__("Show Only Incompleted Tasks", _SQ_PLUGIN_NAME_) ?>
|
93 |
</button>
|
@@ -164,7 +163,7 @@
|
|
164 |
</div>
|
165 |
</div>
|
166 |
<div class="sq_col_side sticky">
|
167 |
-
<div class="card col-
|
168 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
169 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
170 |
</div>
|
5 |
<div class="d-flex flex-row flex-nowrap my-0 bg-nav" style="clear: both !important;">
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">' . esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_) . '</div>';
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAuditTabs(); ?>
|
13 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
14 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
|
|
15 |
<?php do_action('sq_form_notices'); ?>
|
16 |
|
17 |
+
<div class="card col-12 p-0">
|
18 |
|
19 |
<div class="card-body p-2 bg-title rounded-top row">
|
20 |
+
<div class="col-10 text-left m-0 p-0">
|
21 |
<div class="sq_icons_content p-3 py-4">
|
22 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
23 |
</div>
|
29 |
|
30 |
<?php if ($view->audit) { ?>
|
31 |
|
32 |
+
<div id="sq_audit" class="card col-12 p-0 tab-panel border-0">
|
33 |
<div class="card-content" style="min-height: 150px">
|
34 |
<?php if (SQ_Classes_Helpers_Tools::getValue('sid', false)) { ?>
|
35 |
+
<div class="form-group text-right col-12 p-0 m-0 mb-3">
|
36 |
<div class="sq_serp_settings_button mx-2 my-0 p-0" style="margin-top:-70px !important">
|
37 |
<button type="button" class="btn btn-info p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audits') ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
38 |
</div>
|
79 |
<div class="sq_separator"></div>
|
80 |
|
81 |
|
82 |
+
<div class="card col-12 p-0 m-0 border-0 shadow-none">
|
83 |
+
<div class="col-12 text-center row p-0 m-0">
|
84 |
+
<div class="col-6 m-0 p-2 text-right">
|
85 |
<button class="sq_audit_completed_tasks btn btn-sm btn-success px-3">
|
86 |
<i class="fa fa-check-circle-o mr-2 py-2"></i><?php echo esc_html__("Show Only Completed Tasks", _SQ_PLUGIN_NAME_) ?>
|
87 |
</button>
|
88 |
</div>
|
89 |
+
<div class="col-6 m-0 p-2 text-left">
|
90 |
<button class="sq_audit_incompleted_tasks btn btn-sm btn-danger px-3">
|
91 |
<i class="fa fa-circle-o mr-2 py-2"></i><?php echo esc_html__("Show Only Incompleted Tasks", _SQ_PLUGIN_NAME_) ?>
|
92 |
</button>
|
163 |
</div>
|
164 |
</div>
|
165 |
<div class="sq_col_side sticky">
|
166 |
+
<div class="card col-12 p-0">
|
167 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
168 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
169 |
</div>
|
view/Audits/AuditPageRow.php
CHANGED
@@ -26,7 +26,7 @@ if (strtotime($view->auditpage->audit_datetime)) {
|
|
26 |
<td style="min-width: 380px;">
|
27 |
|
28 |
<?php if ($post instanceof SQ_Models_Domain_Post) { ?>
|
29 |
-
<div class="sq_auditpages_title col-
|
30 |
<?php echo (isset($post->sq->title) ? $post->sq->title : '') ?> <?php echo(($post->post_status <> 'publish' && $post->post_status <> 'inherit' && $post->post_status <> '') ? ' <spam style="font-weight: normal">(' . esc_html($post->post_status) . ')</spam>' : '') ?>
|
31 |
<?php if (isset($edit_link) && $edit_link <> '') { ?>
|
32 |
<a href="<?php echo esc_url($edit_link) ?>" target="_blank">
|
26 |
<td style="min-width: 380px;">
|
27 |
|
28 |
<?php if ($post instanceof SQ_Models_Domain_Post) { ?>
|
29 |
+
<div class="sq_auditpages_title col-12 px-0 mx-0 font-weight-bold">
|
30 |
<?php echo (isset($post->sq->title) ? $post->sq->title : '') ?> <?php echo(($post->post_status <> 'publish' && $post->post_status <> 'inherit' && $post->post_status <> '') ? ' <spam style="font-weight: normal">(' . esc_html($post->post_status) . ')</spam>' : '') ?>
|
31 |
<?php if (isset($edit_link) && $edit_link <> '') { ?>
|
32 |
<a href="<?php echo esc_url($edit_link) ?>" target="_blank">
|
view/Audits/AuditPages.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-
<div class="card col-
|
2 |
-
<div class="card-body">
|
3 |
<?php
|
4 |
if (!empty($view->auditpages)) { ?>
|
5 |
|
6 |
<h4 class="card-title"><?php echo esc_html__("Audited pages", _SQ_PLUGIN_NAME_) ?></h4>
|
7 |
<div class="card-text mx-0 my-2 p-0">
|
8 |
<div class="card-body p-0 position-relative">
|
9 |
-
<div class=" col-
|
10 |
<table class="table table-striped table-hover">
|
11 |
<thead>
|
12 |
<tr>
|
@@ -51,7 +51,7 @@
|
|
51 |
|
52 |
<div class="card-body">
|
53 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Squirrly SEO Audits", _SQ_PLUGIN_NAME_); ?></h4>
|
54 |
-
<div class="col-
|
55 |
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-success"><i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit to get started", _SQ_PLUGIN_NAME_); ?>
|
56 |
</a>
|
57 |
</div>
|
@@ -60,11 +60,11 @@
|
|
60 |
<?php } else { ?>
|
61 |
|
62 |
<div class="card-body">
|
63 |
-
<div class="col-
|
64 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/settings/noconnection.jpg' ?>" style="width: 300px">
|
65 |
</div>
|
66 |
-
<div class="col-
|
67 |
-
<div class="col-
|
68 |
<i class="fa fa-exclamation-triangle" style="font-size: 18px !important;"></i> <?php echo sprintf(esc_html__("There is a connection error with Squirrly Cloud. Please check the connection and %srefresh the page%s.", _SQ_PLUGIN_NAME_), '<a href="javascript:location.reload();" >', '</a>') ?>
|
69 |
</div>
|
70 |
</div>
|
1 |
+
<div class="card col-12 px-0 py-2 border-0 m-0">
|
2 |
+
<div class="card-body p-1">
|
3 |
<?php
|
4 |
if (!empty($view->auditpages)) { ?>
|
5 |
|
6 |
<h4 class="card-title"><?php echo esc_html__("Audited pages", _SQ_PLUGIN_NAME_) ?></h4>
|
7 |
<div class="card-text mx-0 my-2 p-0">
|
8 |
<div class="card-body p-0 position-relative">
|
9 |
+
<div class=" col-12 m-0 p-0 my-2 py-2 py-0 flexcroll">
|
10 |
<table class="table table-striped table-hover">
|
11 |
<thead>
|
12 |
<tr>
|
51 |
|
52 |
<div class="card-body">
|
53 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Squirrly SEO Audits", _SQ_PLUGIN_NAME_); ?></h4>
|
54 |
+
<div class="col-12 m-2 text-center">
|
55 |
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-success"><i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit to get started", _SQ_PLUGIN_NAME_); ?>
|
56 |
</a>
|
57 |
</div>
|
60 |
<?php } else { ?>
|
61 |
|
62 |
<div class="card-body">
|
63 |
+
<div class="col-12 px-2 py-3 text-center">
|
64 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/settings/noconnection.jpg' ?>" style="width: 300px">
|
65 |
</div>
|
66 |
+
<div class="col-12 m-2 text-center">
|
67 |
+
<div class="col-12 alert alert-success text-center m-0 p-3">
|
68 |
<i class="fa fa-exclamation-triangle" style="font-size: 18px !important;"></i> <?php echo sprintf(esc_html__("There is a connection error with Squirrly Cloud. Please check the connection and %srefresh the page%s.", _SQ_PLUGIN_NAME_), '<a href="javascript:location.reload();" >', '</a>') ?>
|
69 |
</div>
|
70 |
</div>
|
view/Audits/AuditStats.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php if (!empty($view->auditpages)) { ?>
|
2 |
-
<div class="card-body
|
3 |
<?php
|
4 |
|
5 |
$call_timestamp = 0;
|
@@ -35,7 +35,7 @@
|
|
35 |
?>
|
36 |
<div class="sq_audit_score row p-2">
|
37 |
<?php if (SQ_Classes_Helpers_Tools::getValue('sid', false)) { ?>
|
38 |
-
<div class="col
|
39 |
<div class="m-2 p-0 text-center" style="width: 115px;">
|
40 |
<input id="knob_<?php echo (int)$view->audit->id ?>" type="text" value="<?php echo (int)$view->audit->score ?>" class="dial" style="box-shadow: none; border: none; background: none; width: 1px; color: white" title="<?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?>">
|
41 |
<script>jQuery("#knob_<?php echo (int)$view->audit->id ?>").knob({
|
@@ -48,7 +48,7 @@
|
|
48 |
'fgColor': '<?php echo esc_attr($color) ?>'
|
49 |
});</script>
|
50 |
</div>
|
51 |
-
<div class="col
|
52 |
<div>
|
53 |
<span class="sq_audit_header_title"><?php echo esc_html__("Your audit score is", _SQ_PLUGIN_NAME_) . ': ' ?></span>
|
54 |
<span class="sq_audit_header_score"><?php echo (int)$view->audit->score ?></span>
|
@@ -57,8 +57,8 @@
|
|
57 |
</div>
|
58 |
</div>
|
59 |
<?php } else { ?>
|
60 |
-
<div class="col
|
61 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-warning text-white mx-
|
62 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit", _SQ_PLUGIN_NAME_); ?>
|
63 |
</a>
|
64 |
</div>
|
@@ -83,14 +83,14 @@
|
|
83 |
</div>
|
84 |
<?php } else { ?>
|
85 |
<div class="sq_audit_score row p-2">
|
86 |
-
<div class="col-
|
87 |
<?php if ($call_timestamp > 0) { ?>
|
88 |
<h3 class="card-title text-info">
|
89 |
<i class="fa fa-clock-o" style="font-size: 26px !important;" aria-hidden="true"></i> <?php echo esc_html__("Audit in progress", _SQ_PLUGIN_NAME_); ?>
|
90 |
</h3>
|
91 |
<?php } ?>
|
92 |
</div>
|
93 |
-
<div class="col-
|
94 |
<div class="my-1">
|
95 |
<?php echo esc_html__("Audit not ready yet", _SQ_PLUGIN_NAME_) ?>
|
96 |
</div>
|
@@ -158,8 +158,8 @@
|
|
158 |
}
|
159 |
|
160 |
?>
|
161 |
-
<div class="sq_stats row p-
|
162 |
-
<div class="card col
|
163 |
<div class="card-content overflow-hidden m-0">
|
164 |
<div class="media align-items-stretch">
|
165 |
<div class="sq_stats_icons_content p-3 py-4 media-middle">
|
@@ -169,7 +169,7 @@
|
|
169 |
<h5><?php echo esc_html__("Scores", _SQ_PLUGIN_NAME_) ?></h5>
|
170 |
<span class="small"><?php echo sprintf(esc_html__("the latest %s days evolution for Audit", _SQ_PLUGIN_NAME_), $days_back) ?></span>
|
171 |
<div class="media-right py-3 media-middle ">
|
172 |
-
<div class="col-
|
173 |
<div id="sq_chart_score" class="sq_chart no-p" style="width:95%; height: 90px;"></div>
|
174 |
<script>
|
175 |
if (typeof google !== 'undefined') {
|
@@ -185,7 +185,7 @@
|
|
185 |
</div>
|
186 |
</div>
|
187 |
</div>
|
188 |
-
<div class="card col
|
189 |
<div class="card-content overflow-hidden m-0">
|
190 |
<div class="media align-items-stretch">
|
191 |
<div class="sq_stats_icons_content p-3 py-4 media-middle">
|
@@ -198,12 +198,12 @@
|
|
198 |
<div class="media-right py-3 media-middle ">
|
199 |
<?php if (!empty($progress)) {
|
200 |
foreach ($progress as $value) {
|
201 |
-
echo '<h6 class="col-
|
202 |
}
|
203 |
?>
|
204 |
<a class="btn btn-sm btn-success" href="https://twitter.com/intent/tweet?text=<?php echo urlencode('I love the results I get with Squirrly SEO Audit for my website. @SquirrlyHQ #SEO') ?>">Share Your Success</a><?php
|
205 |
} else {
|
206 |
-
echo '<h4 class="col-
|
207 |
} ?>
|
208 |
</div>
|
209 |
|
@@ -214,8 +214,8 @@
|
|
214 |
</div>
|
215 |
</div>
|
216 |
|
217 |
-
<div class="card col-
|
218 |
-
<div class="card-body">
|
219 |
<h4 class="card-title"><?php echo esc_html__("Audit History", _SQ_PLUGIN_NAME_) ?></h4>
|
220 |
<div class="card-text mx-0 my-2 p-0">
|
221 |
<form class="sq_form_bulk_submit" method="get">
|
@@ -234,7 +234,7 @@
|
|
234 |
<th scope="col" class="text-center"><?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?></th>
|
235 |
<th scope="col" class="text-right"><?php echo esc_html__("Page(s)", _SQ_PLUGIN_NAME_) ?></th>
|
236 |
<th scope="col" class="text-center"><?php echo esc_html__("Date", _SQ_PLUGIN_NAME_) ?></th>
|
237 |
-
<th></th>
|
238 |
</tr>
|
239 |
</thead>
|
240 |
<tbody>
|
@@ -252,8 +252,8 @@
|
|
252 |
echo count((array)$audit->urls) . ' ' . esc_html__("pages", _SQ_PLUGIN_NAME_);
|
253 |
} ?></td>
|
254 |
<td class="text-center"><?php echo date('d M Y', strtotime($date)) ?></td>
|
255 |
-
<td
|
256 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audit', array('sid=' . (int)$audit->id)) ?>" class="btn btn-success btn-sm"><?php echo esc_html__("Show Audit", _SQ_PLUGIN_NAME_) ?></a>
|
257 |
</td>
|
258 |
</tr>
|
259 |
<?php } ?>
|
1 |
<?php if (!empty($view->auditpages)) { ?>
|
2 |
+
<div class="card-body p-2">
|
3 |
<?php
|
4 |
|
5 |
$call_timestamp = 0;
|
35 |
?>
|
36 |
<div class="sq_audit_score row p-2">
|
37 |
<?php if (SQ_Classes_Helpers_Tools::getValue('sid', false)) { ?>
|
38 |
+
<div class="col row sq_audit_header">
|
39 |
<div class="m-2 p-0 text-center" style="width: 115px;">
|
40 |
<input id="knob_<?php echo (int)$view->audit->id ?>" type="text" value="<?php echo (int)$view->audit->score ?>" class="dial" style="box-shadow: none; border: none; background: none; width: 1px; color: white" title="<?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?>">
|
41 |
<script>jQuery("#knob_<?php echo (int)$view->audit->id ?>").knob({
|
48 |
'fgColor': '<?php echo esc_attr($color) ?>'
|
49 |
});</script>
|
50 |
</div>
|
51 |
+
<div class="col">
|
52 |
<div>
|
53 |
<span class="sq_audit_header_title"><?php echo esc_html__("Your audit score is", _SQ_PLUGIN_NAME_) . ': ' ?></span>
|
54 |
<span class="sq_audit_header_score"><?php echo (int)$view->audit->score ?></span>
|
57 |
</div>
|
58 |
</div>
|
59 |
<?php } else { ?>
|
60 |
+
<div class="col sq_audit_header">
|
61 |
+
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-warning text-white mx-1">
|
62 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit", _SQ_PLUGIN_NAME_); ?>
|
63 |
</a>
|
64 |
</div>
|
83 |
</div>
|
84 |
<?php } else { ?>
|
85 |
<div class="sq_audit_score row p-2">
|
86 |
+
<div class="col-8 sq_audit_header">
|
87 |
<?php if ($call_timestamp > 0) { ?>
|
88 |
<h3 class="card-title text-info">
|
89 |
<i class="fa fa-clock-o" style="font-size: 26px !important;" aria-hidden="true"></i> <?php echo esc_html__("Audit in progress", _SQ_PLUGIN_NAME_); ?>
|
90 |
</h3>
|
91 |
<?php } ?>
|
92 |
</div>
|
93 |
+
<div class="col-4 float-right text-right">
|
94 |
<div class="my-1">
|
95 |
<?php echo esc_html__("Audit not ready yet", _SQ_PLUGIN_NAME_) ?>
|
96 |
</div>
|
158 |
}
|
159 |
|
160 |
?>
|
161 |
+
<div class="sq_stats row p-2 m-0 ">
|
162 |
+
<div class="card col p-0 m-1 bg-white shadow-sm">
|
163 |
<div class="card-content overflow-hidden m-0">
|
164 |
<div class="media align-items-stretch">
|
165 |
<div class="sq_stats_icons_content p-3 py-4 media-middle">
|
169 |
<h5><?php echo esc_html__("Scores", _SQ_PLUGIN_NAME_) ?></h5>
|
170 |
<span class="small"><?php echo sprintf(esc_html__("the latest %s days evolution for Audit", _SQ_PLUGIN_NAME_), $days_back) ?></span>
|
171 |
<div class="media-right py-3 media-middle ">
|
172 |
+
<div class="col-12 px-0">
|
173 |
<div id="sq_chart_score" class="sq_chart no-p" style="width:95%; height: 90px;"></div>
|
174 |
<script>
|
175 |
if (typeof google !== 'undefined') {
|
185 |
</div>
|
186 |
</div>
|
187 |
</div>
|
188 |
+
<div class="card col p-0 m-1 bg-white shadow-sm">
|
189 |
<div class="card-content overflow-hidden m-0">
|
190 |
<div class="media align-items-stretch">
|
191 |
<div class="sq_stats_icons_content p-3 py-4 media-middle">
|
198 |
<div class="media-right py-3 media-middle ">
|
199 |
<?php if (!empty($progress)) {
|
200 |
foreach ($progress as $value) {
|
201 |
+
echo '<h6 class="col-12 px-0 text-success" style="line-height: 25px;font-size: 14px;"><i class="fa fa-arrow-up" style="font-size: 9px !important;margin: 0 5px;vertical-align: middle;"></i> ' . $value . '</h6>';
|
202 |
}
|
203 |
?>
|
204 |
<a class="btn btn-sm btn-success" href="https://twitter.com/intent/tweet?text=<?php echo urlencode('I love the results I get with Squirrly SEO Audit for my website. @SquirrlyHQ #SEO') ?>">Share Your Success</a><?php
|
205 |
} else {
|
206 |
+
echo '<h4 class="col-12 px-0 text-info">' . esc_html__("No progress found yet", _SQ_PLUGIN_NAME_) . '</h4>';
|
207 |
} ?>
|
208 |
</div>
|
209 |
|
214 |
</div>
|
215 |
</div>
|
216 |
|
217 |
+
<div class="card col-12 px-0 py-2 border-0 m-0">
|
218 |
+
<div class="card-body p-1">
|
219 |
<h4 class="card-title"><?php echo esc_html__("Audit History", _SQ_PLUGIN_NAME_) ?></h4>
|
220 |
<div class="card-text mx-0 my-2 p-0">
|
221 |
<form class="sq_form_bulk_submit" method="get">
|
234 |
<th scope="col" class="text-center"><?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?></th>
|
235 |
<th scope="col" class="text-right"><?php echo esc_html__("Page(s)", _SQ_PLUGIN_NAME_) ?></th>
|
236 |
<th scope="col" class="text-center"><?php echo esc_html__("Date", _SQ_PLUGIN_NAME_) ?></th>
|
237 |
+
<th scope="col" ></th>
|
238 |
</tr>
|
239 |
</thead>
|
240 |
<tbody>
|
252 |
echo count((array)$audit->urls) . ' ' . esc_html__("pages", _SQ_PLUGIN_NAME_);
|
253 |
} ?></td>
|
254 |
<td class="text-center"><?php echo date('d M Y', strtotime($date)) ?></td>
|
255 |
+
<td >
|
256 |
+
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audit', array('sid=' . (int)$audit->id)) ?>" class="btn <?php echo ($cnt == 1 ? 'btn-success' : 'btn-light border') ?> btn-sm" style="min-width: 150px"><?php echo ($cnt == 1 ? esc_html__("Show Latest Audit", _SQ_PLUGIN_NAME_) : esc_html__("Show Audit", _SQ_PLUGIN_NAME_)) ?></a>
|
257 |
</td>
|
258 |
</tr>
|
259 |
<?php } ?>
|
view/Audits/Audits.php
CHANGED
@@ -5,51 +5,51 @@
|
|
5 |
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
-
echo '<div class="col-
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'audits'), 'sq_audits'); ?>
|
13 |
|
14 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white
|
15 |
-
<div class="flex-grow-1
|
16 |
<?php do_action('sq_form_notices'); ?>
|
17 |
|
18 |
-
<div class="card col-
|
19 |
|
20 |
<div class="card-body p-2 bg-title rounded-top row">
|
21 |
-
<div class="col-
|
22 |
<div class="sq_icons_content p-3 py-4">
|
23 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
24 |
</div>
|
25 |
<h3 class="card-title"><?php echo esc_html__("Audits", _SQ_PLUGIN_NAME_); ?>:</h3>
|
26 |
<div class="card-title-description m-2"><?php echo esc_html__("Verifies the online presence of your website by knowing how your website is performing in terms of Blogging, SEO, Social, Authority, Links, and Traffic", _SQ_PLUGIN_NAME_); ?></div>
|
27 |
</div>
|
28 |
-
<div class="col-
|
29 |
<i class="fa fa-refresh m-2 sq_auditpages_refresh" style="font-size: 20px !important; cursor: pointer;"></i>
|
30 |
|
31 |
</div>
|
32 |
</div>
|
33 |
|
34 |
-
<div id="sq_audits" class="card col-
|
35 |
<?php do_action('sq_subscription_notices'); ?>
|
36 |
|
37 |
<?php
|
38 |
$connect = json_decode(wp_json_encode(SQ_Classes_Helpers_Tools::getOption('connect')));
|
39 |
if (!$connect->google_analytics) { ?>
|
40 |
-
<div class="form-group my-2 col-
|
41 |
<?php echo $view->getView('Connect/GoogleAnalytics'); ?>
|
42 |
</div>
|
43 |
<?php } ?>
|
44 |
|
45 |
-
<div class="card col-
|
46 |
<div class="card-content sq_auditstatus_content m-0">
|
47 |
<?php echo $view->getView('Audits/AuditStats'); ?>
|
48 |
</div>
|
49 |
</div>
|
50 |
</div>
|
51 |
|
52 |
-
<div class="card col-
|
53 |
<div class="sq_auditpages_content">
|
54 |
<?php
|
55 |
$content = $view->getView('Audits/AuditPages');
|
@@ -62,12 +62,12 @@
|
|
62 |
</div>
|
63 |
|
64 |
<div class="card-body">
|
65 |
-
<div class="col-
|
66 |
<em><?php echo sprintf(esc_html__("%sNote:%s remember that it takes anywhere between %s1 minute to 5 minutes%s to generate the new audit for each page. There is a lot of processing involved.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong>', '</strong>'); ?></em>
|
67 |
</div>
|
68 |
</div>
|
69 |
|
70 |
-
<div class="card col-
|
71 |
<div class="card-body">
|
72 |
<h4 class="text-center text-white">
|
73 |
<?php echo sprintf(esc_html__("Learn how to improve your SEO Audit score over time %sClick Here%s", _SQ_PLUGIN_NAME_), '<a href="https://plugin.squirrly.co/wordpress-seo/what-is-the-site-visibility-score/" target="_blank" style="color: #ffea2a" >', '</a>') ?>
|
@@ -76,13 +76,11 @@
|
|
76 |
</div>
|
77 |
</div>
|
78 |
</div>
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
85 |
-
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
86 |
</div>
|
87 |
</div>
|
88 |
</div>
|
5 |
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
6 |
<?php
|
7 |
if (!current_user_can('sq_manage_focuspages')) {
|
8 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">' . esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_) . '</div>';
|
9 |
return;
|
10 |
}
|
11 |
?>
|
12 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab', 'audits'), 'sq_audits'); ?>
|
13 |
|
14 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
15 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
16 |
<?php do_action('sq_form_notices'); ?>
|
17 |
|
18 |
+
<div class="card col-12 p-0">
|
19 |
|
20 |
<div class="card-body p-2 bg-title rounded-top row">
|
21 |
+
<div class="col-10 text-left m-0 p-0">
|
22 |
<div class="sq_icons_content p-3 py-4">
|
23 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
24 |
</div>
|
25 |
<h3 class="card-title"><?php echo esc_html__("Audits", _SQ_PLUGIN_NAME_); ?>:</h3>
|
26 |
<div class="card-title-description m-2"><?php echo esc_html__("Verifies the online presence of your website by knowing how your website is performing in terms of Blogging, SEO, Social, Authority, Links, and Traffic", _SQ_PLUGIN_NAME_); ?></div>
|
27 |
</div>
|
28 |
+
<div class="col-2 text-right">
|
29 |
<i class="fa fa-refresh m-2 sq_auditpages_refresh" style="font-size: 20px !important; cursor: pointer;"></i>
|
30 |
|
31 |
</div>
|
32 |
</div>
|
33 |
|
34 |
+
<div id="sq_audits" class="card col-12 p-0 tab-panel border-0">
|
35 |
<?php do_action('sq_subscription_notices'); ?>
|
36 |
|
37 |
<?php
|
38 |
$connect = json_decode(wp_json_encode(SQ_Classes_Helpers_Tools::getOption('connect')));
|
39 |
if (!$connect->google_analytics) { ?>
|
40 |
+
<div class="form-group my-2 col-8 offset-2">
|
41 |
<?php echo $view->getView('Connect/GoogleAnalytics'); ?>
|
42 |
</div>
|
43 |
<?php } ?>
|
44 |
|
45 |
+
<div class="card col-12 p-0 m-0 border-0 shadow-none">
|
46 |
<div class="card-content sq_auditstatus_content m-0">
|
47 |
<?php echo $view->getView('Audits/AuditStats'); ?>
|
48 |
</div>
|
49 |
</div>
|
50 |
</div>
|
51 |
|
52 |
+
<div class="card col-12 border-0 m-0 p-0">
|
53 |
<div class="sq_auditpages_content">
|
54 |
<?php
|
55 |
$content = $view->getView('Audits/AuditPages');
|
62 |
</div>
|
63 |
|
64 |
<div class="card-body">
|
65 |
+
<div class="col-12 my-2 text-black-50">
|
66 |
<em><?php echo sprintf(esc_html__("%sNote:%s remember that it takes anywhere between %s1 minute to 5 minutes%s to generate the new audit for each page. There is a lot of processing involved.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong>', '</strong>'); ?></em>
|
67 |
</div>
|
68 |
</div>
|
69 |
|
70 |
+
<div class="card col-12 bg-cta text-white rounded-0 py-0">
|
71 |
<div class="card-body">
|
72 |
<h4 class="text-center text-white">
|
73 |
<?php echo sprintf(esc_html__("Learn how to improve your SEO Audit score over time %sClick Here%s", _SQ_PLUGIN_NAME_), '<a href="https://plugin.squirrly.co/wordpress-seo/what-is-the-site-visibility-score/" target="_blank" style="color: #ffea2a" >', '</a>') ?>
|
76 |
</div>
|
77 |
</div>
|
78 |
</div>
|
79 |
+
<div class="sq_col_side sticky">
|
80 |
+
<div class="card col-12 p-0">
|
81 |
+
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
82 |
+
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
83 |
+
</div>
|
|
|
|
|
84 |
</div>
|
85 |
</div>
|
86 |
</div>
|
view/Audits/Compare.php
CHANGED
@@ -8,20 +8,20 @@
|
|
8 |
<div class="d-flex flex-row flex-nowrap my-0 bg-nav">
|
9 |
<?php
|
10 |
if (!current_user_can('sq_manage_focuspages')) {
|
11 |
-
echo '<div class="col-
|
12 |
return;
|
13 |
}
|
14 |
?>
|
15 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAuditTabs(); ?>
|
16 |
|
17 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white
|
18 |
-
<div class="flex-grow-1
|
19 |
<?php do_action('sq_form_notices'); ?>
|
20 |
|
21 |
-
<div class="card col-
|
22 |
|
23 |
<div class="card-body p-2 bg-title rounded-top row">
|
24 |
-
<div class="col-
|
25 |
<div class="sq_icons_content p-3 py-4">
|
26 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
27 |
</div>
|
@@ -30,7 +30,7 @@
|
|
30 |
</div>
|
31 |
</div>
|
32 |
|
33 |
-
<div id="sq_audit" class="card col-
|
34 |
<div class="card-content" style="min-height: 150px">
|
35 |
<?php if (!empty($view->audits)) {
|
36 |
//set the first audit as referrence
|
@@ -39,7 +39,7 @@
|
|
39 |
//get the modal window for the assistant popup
|
40 |
echo SQ_Classes_ObjController::getClass('SQ_Models_Assistant')->getModal();
|
41 |
?>
|
42 |
-
<div class="form-group text-right col-
|
43 |
<div class="sq_serp_settings_button mx-2 my-0 p-0" style="margin-top:-70px !important">
|
44 |
<button type="button" class="btn btn-info p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audits') ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
45 |
</div>
|
@@ -69,7 +69,7 @@
|
|
69 |
<td rowspan="2" class="sq_first_header_column text-center px-3">
|
70 |
|
71 |
|
72 |
-
<div class="col-
|
73 |
<input id="knob_<?php echo (int)$all->id ?>" type="text" value="<?php echo (int)$all->score ?>" class="dial audit_score" title="<?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?>">
|
74 |
<script>jQuery("#knob_<?php echo (int)$all->id ?>").knob({
|
75 |
'min': 0,
|
@@ -82,7 +82,7 @@
|
|
82 |
});</script>
|
83 |
</div>
|
84 |
|
85 |
-
<div class="col-
|
86 |
<?php echo date('d M Y', strtotime($all->audit_datetime)) ?>
|
87 |
</div>
|
88 |
</td>
|
@@ -144,7 +144,7 @@
|
|
144 |
?>
|
145 |
<td class="sq_first_header_column text-center px-3">
|
146 |
|
147 |
-
<div class="col-
|
148 |
<i class="fa fa-check" style="font-size: 30px !important;" data-category="<?php echo esc_attr($category_name) ?>" data-name="<?php echo esc_attr(ucfirst($group)) ?>" data-completed="<?php echo (int)$audit_task->complete ?>" data-dismiss="modal"></i>
|
149 |
<h4 style="display: none"><?php echo wp_kses_post($audit_task->title) ?></h4>
|
150 |
<div class="description" style="display: none">
|
@@ -167,7 +167,7 @@
|
|
167 |
</div>
|
168 |
<div class="message" style="display: none"></div>
|
169 |
</div>
|
170 |
-
<div class="col-
|
171 |
<?php echo date('d M Y', strtotime($all->audit_datetime)) ?>
|
172 |
</div>
|
173 |
</td>
|
8 |
<div class="d-flex flex-row flex-nowrap my-0 bg-nav">
|
9 |
<?php
|
10 |
if (!current_user_can('sq_manage_focuspages')) {
|
11 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">' . esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_) . '</div>';
|
12 |
return;
|
13 |
}
|
14 |
?>
|
15 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAuditTabs(); ?>
|
16 |
|
17 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
18 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
19 |
<?php do_action('sq_form_notices'); ?>
|
20 |
|
21 |
+
<div class="card col-12 p-0">
|
22 |
|
23 |
<div class="card-body p-2 bg-title rounded-top row">
|
24 |
+
<div class="col-10 text-left m-0 p-0">
|
25 |
<div class="sq_icons_content p-3 py-4">
|
26 |
<div class="sq_icons sq_audit_icon m-2"></div>
|
27 |
</div>
|
30 |
</div>
|
31 |
</div>
|
32 |
|
33 |
+
<div id="sq_audit" class="card col-12 p-0 tab-panel border-0">
|
34 |
<div class="card-content" style="min-height: 150px">
|
35 |
<?php if (!empty($view->audits)) {
|
36 |
//set the first audit as referrence
|
39 |
//get the modal window for the assistant popup
|
40 |
echo SQ_Classes_ObjController::getClass('SQ_Models_Assistant')->getModal();
|
41 |
?>
|
42 |
+
<div class="form-group text-right col-12 p-0 m-0 mb-3">
|
43 |
<div class="sq_serp_settings_button mx-2 my-0 p-0" style="margin-top:-70px !important">
|
44 |
<button type="button" class="btn btn-info p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'audits') ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
45 |
</div>
|
69 |
<td rowspan="2" class="sq_first_header_column text-center px-3">
|
70 |
|
71 |
|
72 |
+
<div class="col-12">
|
73 |
<input id="knob_<?php echo (int)$all->id ?>" type="text" value="<?php echo (int)$all->score ?>" class="dial audit_score" title="<?php echo esc_html__("Audit Score", _SQ_PLUGIN_NAME_) ?>">
|
74 |
<script>jQuery("#knob_<?php echo (int)$all->id ?>").knob({
|
75 |
'min': 0,
|
82 |
});</script>
|
83 |
</div>
|
84 |
|
85 |
+
<div class="col-12 mt-2">
|
86 |
<?php echo date('d M Y', strtotime($all->audit_datetime)) ?>
|
87 |
</div>
|
88 |
</td>
|
144 |
?>
|
145 |
<td class="sq_first_header_column text-center px-3">
|
146 |
|
147 |
+
<div class="col-12 sq_task <?php echo esc_attr($dbtask['status']) ?>">
|
148 |
<i class="fa fa-check" style="font-size: 30px !important;" data-category="<?php echo esc_attr($category_name) ?>" data-name="<?php echo esc_attr(ucfirst($group)) ?>" data-completed="<?php echo (int)$audit_task->complete ?>" data-dismiss="modal"></i>
|
149 |
<h4 style="display: none"><?php echo wp_kses_post($audit_task->title) ?></h4>
|
150 |
<div class="description" style="display: none">
|
167 |
</div>
|
168 |
<div class="message" style="display: none"></div>
|
169 |
</div>
|
170 |
+
<div class="col-12 mt-2">
|
171 |
<?php echo date('d M Y', strtotime($all->audit_datetime)) ?>
|
172 |
</div>
|
173 |
</td>
|
view/Audits/Settings.php
CHANGED
@@ -4,14 +4,14 @@
|
|
4 |
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
5 |
<?php
|
6 |
if (!current_user_can('sq_manage_focuspages')) {
|
7 |
-
echo '<div class="col-
|
8 |
return;
|
9 |
}
|
10 |
?>
|
11 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab'), 'sq_audits'); ?>
|
12 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white
|
13 |
-
<div class="flex-grow-1
|
14 |
-
<div class="form-group my-4 col-
|
15 |
<?php echo $view->getView('Connect/GoogleAnalytics'); ?>
|
16 |
<?php echo $view->getView('Connect/GoogleSearchConsole'); ?>
|
17 |
</div>
|
@@ -21,7 +21,7 @@
|
|
21 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_audits_settings', 'sq_nonce'); ?>
|
22 |
<input type="hidden" name="action" value="sq_audits_settings"/>
|
23 |
|
24 |
-
<div class="card col-
|
25 |
<div class="card-body p-0 m-0 bg-title rounded-top row">
|
26 |
<div class="card-body p-2 bg-title rounded-top">
|
27 |
<div class="sq_icons_content p-3 py-4">
|
@@ -32,18 +32,18 @@
|
|
32 |
</div>
|
33 |
</div>
|
34 |
|
35 |
-
<div id="sq_seosettings" class="card col-
|
36 |
<div class="card-body p-0">
|
37 |
-
<div class="col-
|
38 |
-
<div class="card col-
|
39 |
|
40 |
|
41 |
-
<div class="col-
|
42 |
-
<div class="col-
|
43 |
<?php echo esc_html__("Audit Email", _SQ_PLUGIN_NAME_); ?>:
|
44 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Enter the email address on which you want to receive the weekly audits.", _SQ_PLUGIN_NAME_); ?></div>
|
45 |
</div>
|
46 |
-
<div class="col-
|
47 |
<input type="text" class="form-control bg-input" name="sq_audit_email" value="<?php echo SQ_Classes_Helpers_Tools::getOption('sq_audit_email') ?>"/>
|
48 |
</div>
|
49 |
</div>
|
@@ -56,14 +56,14 @@
|
|
56 |
|
57 |
</div>
|
58 |
|
59 |
-
<div class="col-
|
60 |
<button type="submit" class="btn rounded-0 btn-success btn-lg px-5 mx-4"><?php echo esc_html__("Save Settings", _SQ_PLUGIN_NAME_); ?></button>
|
61 |
</div>
|
62 |
</form>
|
63 |
|
64 |
</div>
|
65 |
<div class="sq_col_side sticky">
|
66 |
-
<div class="card col-
|
67 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
68 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
69 |
</div>
|
4 |
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
5 |
<?php
|
6 |
if (!current_user_can('sq_manage_focuspages')) {
|
7 |
+
echo '<div class="col-12 alert alert-success text-center m-0 p-3">'. esc_html__("You do not have permission to access this page. You need Squirrly SEO Admin role.", _SQ_PLUGIN_NAME_).'</div>';
|
8 |
return;
|
9 |
}
|
10 |
?>
|
11 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Models_Menu')->getAdminTabs(SQ_Classes_Helpers_Tools::getValue('tab'), 'sq_audits'); ?>
|
12 |
+
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
13 |
+
<div class="flex-grow-1 px-1 sq_flex">
|
14 |
+
<div class="form-group my-4 col-10 offset-1">
|
15 |
<?php echo $view->getView('Connect/GoogleAnalytics'); ?>
|
16 |
<?php echo $view->getView('Connect/GoogleSearchConsole'); ?>
|
17 |
</div>
|
21 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_audits_settings', 'sq_nonce'); ?>
|
22 |
<input type="hidden" name="action" value="sq_audits_settings"/>
|
23 |
|
24 |
+
<div class="card col-12 p-0">
|
25 |
<div class="card-body p-0 m-0 bg-title rounded-top row">
|
26 |
<div class="card-body p-2 bg-title rounded-top">
|
27 |
<div class="sq_icons_content p-3 py-4">
|
32 |
</div>
|
33 |
</div>
|
34 |
|
35 |
+
<div id="sq_seosettings" class="card col-12 p-0 m-0 border-0 tab-panel border-0">
|
36 |
<div class="card-body p-0">
|
37 |
+
<div class="col-12 m-0 p-0">
|
38 |
+
<div class="card col-12 p-0 border-0 ">
|
39 |
|
40 |
|
41 |
+
<div class="col-12 row py-2 mx-0 my-3">
|
42 |
+
<div class="col-4 p-0 pr-3 font-weight-bold">
|
43 |
<?php echo esc_html__("Audit Email", _SQ_PLUGIN_NAME_); ?>:
|
44 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Enter the email address on which you want to receive the weekly audits.", _SQ_PLUGIN_NAME_); ?></div>
|
45 |
</div>
|
46 |
+
<div class="col-8 p-0 input-group input-group-lg">
|
47 |
<input type="text" class="form-control bg-input" name="sq_audit_email" value="<?php echo SQ_Classes_Helpers_Tools::getOption('sq_audit_email') ?>"/>
|
48 |
</div>
|
49 |
</div>
|
56 |
|
57 |
</div>
|
58 |
|
59 |
+
<div class="col-12 my-3 p-0">
|
60 |
<button type="submit" class="btn rounded-0 btn-success btn-lg px-5 mx-4"><?php echo esc_html__("Save Settings", _SQ_PLUGIN_NAME_); ?></button>
|
61 |
</div>
|
62 |
</form>
|
63 |
|
64 |
</div>
|
65 |
<div class="sq_col_side sticky">
|
66 |
+
<div class="card col-12 p-0">
|
67 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockSupport')->init(); ?>
|
68 |
<?php echo SQ_Classes_ObjController::getClass('SQ_Core_BlockAssistant')->init(); ?>
|
69 |
</div>
|
view/Blocks/Account.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
$whole = $decimal = 0;
|
3 |
if (isset($view->checkin->subscription_devkit) && $view->checkin->subscription_devkit) {
|
4 |
?>
|
5 |
-
<div class="card-text col-
|
6 |
<div class="author">
|
7 |
<i class="avatar sq_icons sq_icon_package"></i>
|
8 |
</div>
|
@@ -23,7 +23,7 @@ if (isset($view->checkin->subscription_status) && isset($view->checkin->product_
|
|
23 |
}
|
24 |
?>
|
25 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_panel') && current_user_can('manage_options')) { ?>
|
26 |
-
<div class="card-text col-
|
27 |
<div class="author">
|
28 |
<i class="avatar sq_icons sq_icon_package"></i>
|
29 |
</div>
|
2 |
$whole = $decimal = 0;
|
3 |
if (isset($view->checkin->subscription_devkit) && $view->checkin->subscription_devkit) {
|
4 |
?>
|
5 |
+
<div class="card-text col-12 p-0 m-0 border-0">
|
6 |
<div class="author">
|
7 |
<i class="avatar sq_icons sq_icon_package"></i>
|
8 |
</div>
|
23 |
}
|
24 |
?>
|
25 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_panel') && current_user_can('manage_options')) { ?>
|
26 |
+
<div class="card-text col-12 p-0 m-0 border-0">
|
27 |
<div class="author">
|
28 |
<i class="avatar sq_icons sq_icon_package"></i>
|
29 |
</div>
|
view/Blocks/Connect.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php if (current_user_can('sq_manage_snippets') && SQ_Classes_Helpers_Tools::getOption('sq_seoexpert')) { ?>
|
2 |
-
<div class="card col-
|
3 |
-
<div class="card-body py-1">
|
4 |
<div id="sq_assistant_sq_seosettings" class="sq_assistant">
|
5 |
<form method="post" action="">
|
6 |
<ul id="sq_assistant_tasks_sq_seosettings" class="p-0 m-0">
|
1 |
<?php if (current_user_can('sq_manage_snippets') && SQ_Classes_Helpers_Tools::getOption('sq_seoexpert')) { ?>
|
2 |
+
<div class="card col-12 p-0 m-0 border-0">
|
3 |
+
<div class="card-body px-2 py-1">
|
4 |
<div id="sq_assistant_sq_seosettings" class="sq_assistant">
|
5 |
<form method="post" action="">
|
6 |
<ul id="sq_assistant_tasks_sq_seosettings" class="p-0 m-0">
|
view/Blocks/Features.php
CHANGED
@@ -169,7 +169,7 @@ $features = array(
|
|
169 |
'title' => esc_html__("Remove META Duplicate", _SQ_PLUGIN_NAME_),
|
170 |
'description' => esc_html__("Fix Duplicate Titles and Descriptions without writing a line of code.", _SQ_PLUGIN_NAME_),
|
171 |
'mode' => esc_html__("Free", _SQ_PLUGIN_NAME_),
|
172 |
-
'option' => (SQ_Classes_Helpers_Tools::getOption('sq_auto_title') || SQ_Classes_Helpers_Tools::getOption('sq_auto_description') || SQ_Classes_Helpers_Tools::getOption('sq_auto_canonical') || SQ_Classes_Helpers_Tools::getOption('sq_auto_noindex') || (SQ_Classes_Helpers_Tools::getOption('sq_jsonld_clearcode') && SQ_Classes_Helpers_Tools::getOption('sq_auto_jsonld'))
|
173 |
'logo' => 'metas_92.png',
|
174 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'metas'),
|
175 |
'details' => 'https://plugin.squirrly.co/duplicate-removal-tool/',
|
@@ -223,17 +223,17 @@ $features = array(
|
|
223 |
);
|
224 |
?>
|
225 |
<a name="features"></a>
|
226 |
-
<div class="sq_features border my-3 py-3">
|
227 |
-
<div class="row text-left m-0 p-3">
|
228 |
<div class="px-2 text-center" style="width: 38%;">
|
229 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/speedometer.png' ?>" style="width: 100%; max-width: 320px;">
|
230 |
</div>
|
231 |
-
<div class="col
|
232 |
-
<div class="col-
|
233 |
<h3><?php echo esc_html__("Squirrly SEO Feature Categories", _SQ_PLUGIN_NAME_) ?></h3>
|
234 |
</div>
|
235 |
<div class="sq_separator"></div>
|
236 |
-
<div class="col-
|
237 |
<div class="my-2"><?php echo sprintf(esc_html__("With a total of over %s200%s free in-depth features that only Squirrly can offer.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?>
|
238 |
<a href="https://trello.com/c/BSOkxHSv/116-official-list-squirrly-seo-2019-strategy-features-grouped-by-tools-given-to-you-when-you-install-squirrly" target="_blank">See the full list</a>
|
239 |
</div>
|
@@ -241,74 +241,60 @@ $features = array(
|
|
241 |
</div>
|
242 |
</div>
|
243 |
|
244 |
-
<div class="row
|
245 |
-
<?php foreach ($features
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
$background_color
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
$background_color = '#fff6f64d';
|
264 |
-
break;
|
265 |
-
}
|
266 |
-
if($feature['option'] == false){
|
267 |
-
$background_color = '#d6d6d6';
|
268 |
-
}
|
269 |
-
?>
|
270 |
-
<?php if ($index % 3 == 0){ ?></div>
|
271 |
-
<div class="row px-3 py-0"><?php } ?>
|
272 |
-
<div class="col-sm-4 px-2">
|
273 |
-
<div class="card py-3 px-3 shadow-sm" style="background-color: <?php echo esc_attr($background_color) ?>">
|
274 |
-
<div class="card-body m-0 p-0">
|
275 |
-
<div class="row px-3">
|
276 |
-
<div class="col-sm-1 p-0">
|
277 |
-
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/logos/' . $feature['logo'] ?>" style="width: 24px; vertical-align: middle;">
|
278 |
</div>
|
279 |
-
<div class="
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
<div class="col-sm-12 font-weight-bold text-right" style="font-size: 14px">
|
284 |
-
<a href="https://plugin.squirrly.co/squirrly-seo-pricing/" target="_blank" class="<?php echo esc_attr($color) ?>"><?php echo (string)$feature['mode'] ?></a>
|
285 |
</div>
|
286 |
</div>
|
287 |
-
<div class="
|
288 |
-
|
289 |
-
|
290 |
-
<a href="<?php echo esc_url($feature['link']) ?>" target="_blank">
|
291 |
<?php if ($feature['option'] === 'na') { ?>
|
292 |
-
<
|
|
|
|
|
293 |
<?php } elseif ($feature['option'] == true) { ?>
|
294 |
-
<
|
|
|
|
|
295 |
<?php } elseif ($feature['option'] == false) { ?>
|
296 |
-
<
|
297 |
<?php } else { ?>
|
298 |
-
<
|
|
|
|
|
299 |
<?php } ?>
|
300 |
-
</
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
</div>
|
308 |
</div>
|
309 |
</div>
|
310 |
</div>
|
311 |
-
</div>
|
312 |
<?php } ?>
|
313 |
</div>
|
314 |
|
169 |
'title' => esc_html__("Remove META Duplicate", _SQ_PLUGIN_NAME_),
|
170 |
'description' => esc_html__("Fix Duplicate Titles and Descriptions without writing a line of code.", _SQ_PLUGIN_NAME_),
|
171 |
'mode' => esc_html__("Free", _SQ_PLUGIN_NAME_),
|
172 |
+
'option' => (SQ_Classes_Helpers_Tools::getOption('sq_auto_title') || SQ_Classes_Helpers_Tools::getOption('sq_auto_description') || SQ_Classes_Helpers_Tools::getOption('sq_auto_canonical') || SQ_Classes_Helpers_Tools::getOption('sq_auto_noindex') || (SQ_Classes_Helpers_Tools::getOption('sq_jsonld_clearcode') && SQ_Classes_Helpers_Tools::getOption('sq_auto_jsonld'))),
|
173 |
'logo' => 'metas_92.png',
|
174 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'metas'),
|
175 |
'details' => 'https://plugin.squirrly.co/duplicate-removal-tool/',
|
223 |
);
|
224 |
?>
|
225 |
<a name="features"></a>
|
226 |
+
<div class="sq_features border my-3 py-3" >
|
227 |
+
<div class="row text-left m-0 p-3" style="max-width: 1200px;">
|
228 |
<div class="px-2 text-center" style="width: 38%;">
|
229 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/speedometer.png' ?>" style="width: 100%; max-width: 320px;">
|
230 |
</div>
|
231 |
+
<div class="col px-2 py-5">
|
232 |
+
<div class="col-12 m-0 p-0">
|
233 |
<h3><?php echo esc_html__("Squirrly SEO Feature Categories", _SQ_PLUGIN_NAME_) ?></h3>
|
234 |
</div>
|
235 |
<div class="sq_separator"></div>
|
236 |
+
<div class="col-12 m-2 p-0">
|
237 |
<div class="my-2"><?php echo sprintf(esc_html__("With a total of over %s200%s free in-depth features that only Squirrly can offer.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?>
|
238 |
<a href="https://trello.com/c/BSOkxHSv/116-official-list-squirrly-seo-2019-strategy-features-grouped-by-tools-given-to-you-when-you-install-squirrly" target="_blank">See the full list</a>
|
239 |
</div>
|
241 |
</div>
|
242 |
</div>
|
243 |
|
244 |
+
<div class="row row-cols-1 row-cols-md-3 px-1 mx-1" style="max-width: 1200px;">
|
245 |
+
<?php foreach ($features as $index => $feature) {
|
246 |
+
$opacity = 1;
|
247 |
+
$background_color = '#f6fff966';
|
248 |
+
if ($feature['option'] === false) {
|
249 |
+
$background_color = '#eee';
|
250 |
+
$opacity = 1;
|
251 |
+
}
|
252 |
+
?>
|
253 |
+
<div class="col-4 px-2 mb-3">
|
254 |
+
<div class="card h-100 p-0 shadow-0 rounded-0" style="background-color: <?php echo esc_attr($background_color) ?>; opacity: <?php echo $opacity ?>">
|
255 |
+
<div class="card-body m-0 p-0">
|
256 |
+
<div class="row mx-3 my-4">
|
257 |
+
<div class="col-1 p-0">
|
258 |
+
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/logos/' . $feature['logo'] ?>" style="width: 24px; vertical-align: middle;">
|
259 |
+
</div>
|
260 |
+
<div class="col-11 p-0 pl-3">
|
261 |
+
<h5><?php echo wp_kses_post($feature['title']) ?></h5>
|
262 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
</div>
|
264 |
+
<div class="mx-3 my-4 text-black" style="min-height: 100px; font-size: 16px;">
|
265 |
+
<div class="my-2 text-black-50">
|
266 |
+
<?php echo wp_kses_post($feature['description']) ?>
|
267 |
+
</div>
|
|
|
|
|
268 |
</div>
|
269 |
</div>
|
270 |
+
<div class="card-footer p-0">
|
271 |
+
<div class="row m-0">
|
272 |
+
<div class="col-6 px-2 py-1 m-0 align-middle text-left" style="line-height: 30px">
|
|
|
273 |
<?php if ($feature['option'] === 'na') { ?>
|
274 |
+
<a href="<?php echo esc_url($feature['link']) ?>" target="_blank">
|
275 |
+
<strong class="text-info"><?php echo esc_html__("Go to feature", _SQ_PLUGIN_NAME_) ?></strong>
|
276 |
+
</a>
|
277 |
<?php } elseif ($feature['option'] == true) { ?>
|
278 |
+
<a href="<?php echo esc_url($feature['link']) ?>" target="_blank">
|
279 |
+
<strong class="text-success"><?php echo esc_html__("Active", _SQ_PLUGIN_NAME_) ?></strong>
|
280 |
+
</a>
|
281 |
<?php } elseif ($feature['option'] == false) { ?>
|
282 |
+
<a href="<?php echo esc_url($feature['link']) ?>" class="btn btn-success btn-sm px-4"><?php echo esc_html__("Activate", _SQ_PLUGIN_NAME_) ?></a>
|
283 |
<?php } else { ?>
|
284 |
+
<a href="<?php echo esc_url($feature['link']) ?>" target="_blank">
|
285 |
+
<strong class="text-info"><?php echo (string)$feature['option'] ?></strong>
|
286 |
+
</a>
|
287 |
<?php } ?>
|
288 |
+
</div>
|
289 |
+
<div class="col-6 p-2 m-0 align-middle text-right">
|
290 |
+
<?php if ($feature['details']) { ?>
|
291 |
+
<a href="<?php echo esc_url($feature['details']) ?>" target="_blank" class="text-black-50"><?php echo esc_html__("more details", _SQ_PLUGIN_NAME_) ?></a>
|
292 |
+
<?php } ?>
|
293 |
+
</div>
|
|
|
294 |
</div>
|
295 |
</div>
|
296 |
</div>
|
297 |
</div>
|
|
|
298 |
<?php } ?>
|
299 |
</div>
|
300 |
|
view/Blocks/Jorney.php
CHANGED
@@ -1,19 +1,19 @@
|
|
1 |
<div id="sq_journey">
|
2 |
<?php if ($view->days) { ?>
|
3 |
-
<div class="card col-
|
4 |
<div class="card-body m-0 p-0">
|
5 |
<div class="row text-left m-0 p-0">
|
6 |
<div class="row text-left m-0 p-0">
|
7 |
<div class="px-2 py-3" style="max-width: 350px;width: 40%;">
|
8 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car.png' ?>" style="width: 100%">
|
9 |
</div>
|
10 |
-
<div class="col
|
11 |
-
<div class="col-
|
12 |
<h3 class="card-title" style="color: green;"><?php echo esc_html__("14 Days Journey Course", _SQ_PLUGIN_NAME_); ?>:</h3>
|
13 |
</div>
|
14 |
|
15 |
<div class="sq_separator"></div>
|
16 |
-
<div class="col-
|
17 |
<div class="my-2"><?php echo sprintf(esc_html__("Follow the %sdaily recipe%s from below.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></div>
|
18 |
<div class="my-2"><?php echo sprintf(esc_html__("%sJoin%s the rest of the %sJourneyTeam on the Facebook Group%s and if you want you can share with the members that you have started your Journey.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong><a href="https://www.facebook.com/groups/SquirrlySEOCustomerService/" target="_blank" >', '</a></strong>'); ?></div>
|
19 |
</div>
|
@@ -22,16 +22,16 @@
|
|
22 |
</div>
|
23 |
</div>
|
24 |
<div class="sq_separator"></div>
|
25 |
-
<div class="card col-
|
26 |
<div class="card-body p-0">
|
27 |
-
<div class="col-
|
28 |
-
<div class="card col-
|
29 |
|
30 |
-
<div class="col-
|
31 |
<?php if ($view->days > 14) { ?>
|
32 |
-
<h5 class="col-
|
33 |
<?php } else { ?>
|
34 |
-
<h2 class="col-
|
35 |
<?php } ?>
|
36 |
|
37 |
<ul class="stepper horizontal horizontal-fix focused" id="horizontal-stepper-fix">
|
@@ -84,22 +84,22 @@
|
|
84 |
|
85 |
</div>
|
86 |
<?php } else { ?>
|
87 |
-
<div class="col-
|
88 |
<div class="row text-left m-0 p-0">
|
89 |
<div class="row text-left m-0 p-0">
|
90 |
<div class="px-2 py-3" style="max-width: 350px;width: 40%;">
|
91 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car.png' ?>" style="width: 100%">
|
92 |
</div>
|
93 |
-
<div class="col
|
94 |
-
<div class="col-
|
95 |
<h3 class="card-title" style="color: green;"><?php echo esc_html__("14 Days Journey Course", _SQ_PLUGIN_NAME_); ?>:</h3>
|
96 |
</div>
|
97 |
|
98 |
<div class="sq_separator"></div>
|
99 |
-
<div class="col-
|
100 |
<div class="card-title-description m-2 text-black-50"><?php echo esc_html__("All you need now is to start driving One of your most valuable pages to Better Rankings.", _SQ_PLUGIN_NAME_); ?></div>
|
101 |
</div>
|
102 |
-
<div class="col-
|
103 |
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding', 'step2.1') ?>" class="btn btn-sm btn-success m-0 py-2 px-4"><?php echo esc_html__("I'm ready to start the Journey To Better Ranking", _SQ_PLUGIN_NAME_); ?></a>
|
104 |
</div>
|
105 |
</div>
|
1 |
<div id="sq_journey">
|
2 |
<?php if ($view->days) { ?>
|
3 |
+
<div class="card col-12 my-3 p-0">
|
4 |
<div class="card-body m-0 p-0">
|
5 |
<div class="row text-left m-0 p-0">
|
6 |
<div class="row text-left m-0 p-0">
|
7 |
<div class="px-2 py-3" style="max-width: 350px;width: 40%;">
|
8 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car.png' ?>" style="width: 100%">
|
9 |
</div>
|
10 |
+
<div class="col px-2 py-3">
|
11 |
+
<div class="col-12 m-0 p-0">
|
12 |
<h3 class="card-title" style="color: green;"><?php echo esc_html__("14 Days Journey Course", _SQ_PLUGIN_NAME_); ?>:</h3>
|
13 |
</div>
|
14 |
|
15 |
<div class="sq_separator"></div>
|
16 |
+
<div class="col-12 m-2 p-0">
|
17 |
<div class="my-2"><?php echo sprintf(esc_html__("Follow the %sdaily recipe%s from below.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></div>
|
18 |
<div class="my-2"><?php echo sprintf(esc_html__("%sJoin%s the rest of the %sJourneyTeam on the Facebook Group%s and if you want you can share with the members that you have started your Journey.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong><a href="https://www.facebook.com/groups/SquirrlySEOCustomerService/" target="_blank" >', '</a></strong>'); ?></div>
|
19 |
</div>
|
22 |
</div>
|
23 |
</div>
|
24 |
<div class="sq_separator"></div>
|
25 |
+
<div class="card col-12 p-0 m-0 border-0 tab-panel border-0">
|
26 |
<div class="card-body p-0">
|
27 |
+
<div class="col-12 m-0 p-0">
|
28 |
+
<div class="card col-12 m-0 p-0 border-0 ">
|
29 |
|
30 |
+
<div class="col-12 m-0 p-3 text-center">
|
31 |
<?php if ($view->days > 14) { ?>
|
32 |
+
<h5 class="col-12 card-title py-3 "><?php echo esc_html__("Congratulations! You've completed the 14 Days Journey To Better Ranking", _SQ_PLUGIN_NAME_); ?></h5>
|
33 |
<?php } else { ?>
|
34 |
+
<h2 class="col-12 card-title py-3 "><?php echo esc_html__("Your 14 Days Journey To Better Ranking", _SQ_PLUGIN_NAME_); ?></h2>
|
35 |
<?php } ?>
|
36 |
|
37 |
<ul class="stepper horizontal horizontal-fix focused" id="horizontal-stepper-fix">
|
84 |
|
85 |
</div>
|
86 |
<?php } else { ?>
|
87 |
+
<div class="col-12 my-3 py-3" style="box-shadow: 0 0 10px -3px #994525;">
|
88 |
<div class="row text-left m-0 p-0">
|
89 |
<div class="row text-left m-0 p-0">
|
90 |
<div class="px-2 py-3" style="max-width: 350px;width: 40%;">
|
91 |
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car.png' ?>" style="width: 100%">
|
92 |
</div>
|
93 |
+
<div class="col px-2 py-3">
|
94 |
+
<div class="col-12 m-0 p-0">
|
95 |
<h3 class="card-title" style="color: green;"><?php echo esc_html__("14 Days Journey Course", _SQ_PLUGIN_NAME_); ?>:</h3>
|
96 |
</div>
|
97 |
|
98 |
<div class="sq_separator"></div>
|
99 |
+
<div class="col-12 m-2 p-0">
|
100 |
<div class="card-title-description m-2 text-black-50"><?php echo esc_html__("All you need now is to start driving One of your most valuable pages to Better Rankings.", _SQ_PLUGIN_NAME_); ?></div>
|
101 |
</div>
|
102 |
+
<div class="col-12 m-0 p-3 text-center">
|
103 |
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding', 'step2.1') ?>" class="btn btn-sm btn-success m-0 py-2 px-4"><?php echo esc_html__("I'm ready to start the Journey To Better Ranking", _SQ_PLUGIN_NAME_); ?></a>
|
104 |
</div>
|
105 |
</div>
|
view/Blocks/Login.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php $tab = SQ_Classes_Helpers_Tools::getValue('tab', 'register'); ?>
|
2 |
-
<div class="card col-
|
3 |
<div class="card-body">
|
4 |
<?php if ($tab == 'login') { ?>
|
5 |
<form method="post" action="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard', 'login') ?>">
|
1 |
<?php $tab = SQ_Classes_Helpers_Tools::getValue('tab', 'register'); ?>
|
2 |
+
<div class="card col-12 p-0 border-0">
|
3 |
<div class="card-body">
|
4 |
<?php if ($tab == 'login') { ?>
|
5 |
<form method="post" action="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard', 'login') ?>">
|
view/Blocks/Snippet.php
CHANGED
@@ -65,9 +65,7 @@ if (SQ_Classes_Helpers_Tools::getOption('sq_api') <> '') {
|
|
65 |
<input type="hidden" name="sq_hash" id="sq_hash" value="<?php echo esc_attr($view->post->hash); ?>">
|
66 |
<input type="hidden" name="sq_keyword" id="sq_keyword" value="">
|
67 |
|
68 |
-
<?php
|
69 |
-
//Run only is frontend admin and ajax call
|
70 |
-
if (SQ_Classes_Helpers_Tools::isAjax()) { ?>
|
71 |
<div id="snippet_<?php echo esc_attr($view->post->hash) ?>" class="sq_snippet_wrap sq-card sq-col-sm-12 sq-p-0 sq-pr-1 sq-m-0 sq-border-0">
|
72 |
|
73 |
<div class="sq-card-body sq-p-0">
|
@@ -89,7 +87,7 @@ if (SQ_Classes_Helpers_Tools::getOption('sq_api') <> '') {
|
|
89 |
</li>
|
90 |
<?php } ?>
|
91 |
<li class="sq-nav-item">
|
92 |
-
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_og" class="sq-nav-icon"target="_blank"><i class="fa fa-question-circle-o m-0 px-2"></i></a>
|
93 |
<a href="#sqtab<?php echo esc_attr($view->post->hash) ?>3" class="sq-nav-item sq-nav-link sq-py-3 sq-text-info" id="sq-nav-item_opengraph" data-category="opengraph" data-toggle="sqtab"><?php echo esc_html__("Open Graph", _SQ_PLUGIN_NAME_) ?></a>
|
94 |
</li>
|
95 |
<li class="sq-nav-item">
|
@@ -500,14 +498,20 @@ if (SQ_Classes_Helpers_Tools::getOption('sq_api') <> '') {
|
|
500 |
<?php
|
501 |
if ($view->post->sq->og_media <> '') {
|
502 |
try {
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
|
|
|
|
|
|
|
|
|
|
510 |
}
|
|
|
511 |
} catch (Exception $e) {
|
512 |
}
|
513 |
}
|
@@ -758,14 +762,20 @@ if (SQ_Classes_Helpers_Tools::getOption('sq_api') <> '') {
|
|
758 |
<?php
|
759 |
if ($view->post->sq->tw_media <> '') {
|
760 |
try {
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
|
|
|
|
|
|
|
|
|
|
768 |
}
|
|
|
769 |
} catch (Exception $e) {
|
770 |
}
|
771 |
}
|
65 |
<input type="hidden" name="sq_hash" id="sq_hash" value="<?php echo esc_attr($view->post->hash); ?>">
|
66 |
<input type="hidden" name="sq_keyword" id="sq_keyword" value="">
|
67 |
|
68 |
+
<?php if (SQ_Classes_Helpers_Tools::isAjax()) { //Run only is frontend admin and ajax call ?>
|
|
|
|
|
69 |
<div id="snippet_<?php echo esc_attr($view->post->hash) ?>" class="sq_snippet_wrap sq-card sq-col-sm-12 sq-p-0 sq-pr-1 sq-m-0 sq-border-0">
|
70 |
|
71 |
<div class="sq-card-body sq-p-0">
|
87 |
</li>
|
88 |
<?php } ?>
|
89 |
<li class="sq-nav-item">
|
90 |
+
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_og" class="sq-nav-icon" target="_blank"><i class="fa fa-question-circle-o m-0 px-2"></i></a>
|
91 |
<a href="#sqtab<?php echo esc_attr($view->post->hash) ?>3" class="sq-nav-item sq-nav-link sq-py-3 sq-text-info" id="sq-nav-item_opengraph" data-category="opengraph" data-toggle="sqtab"><?php echo esc_html__("Open Graph", _SQ_PLUGIN_NAME_) ?></a>
|
92 |
</li>
|
93 |
<li class="sq-nav-item">
|
498 |
<?php
|
499 |
if ($view->post->sq->og_media <> '') {
|
500 |
try {
|
501 |
+
if (defined('WP_CONTENT_DIR') && $imagepath = str_replace(content_url(), WP_CONTENT_DIR, $view->post->sq->og_media)) {
|
502 |
+
|
503 |
+
if (file_exists($imagepath)) {
|
504 |
+
list($width, $height) = @getimagesize($imagepath);
|
505 |
+
|
506 |
+
if ((int)$width > 0 && (int)$width < 500) { ?>
|
507 |
+
<div class="sq-col-sm-12">
|
508 |
+
<div class="sq-alert sq-alert-danger"><?php echo esc_html__("The image size must be at least 500 pixels wide", _SQ_PLUGIN_NAME_) ?></div>
|
509 |
+
</div>
|
510 |
+
<?php
|
511 |
+
}
|
512 |
+
}
|
513 |
}
|
514 |
+
|
515 |
} catch (Exception $e) {
|
516 |
}
|
517 |
}
|
762 |
<?php
|
763 |
if ($view->post->sq->tw_media <> '') {
|
764 |
try {
|
765 |
+
if (defined('WP_CONTENT_DIR') && $imagepath = str_replace(content_url(), WP_CONTENT_DIR, $view->post->sq->tw_media)) {
|
766 |
+
|
767 |
+
if (file_exists($imagepath)) {
|
768 |
+
list($width, $height) = @getimagesize($imagepath);
|
769 |
+
|
770 |
+
if ((int)$width > 0 && (int)$width < 500) { ?>
|
771 |
+
<div class="sq-col-sm-12">
|
772 |
+
<div class="sq-alert sq-alert-danger"><?php echo esc_html__("The image size must be at least 500 pixels wide", _SQ_PLUGIN_NAME_) ?></div>
|
773 |
+
</div>
|
774 |
+
<?php
|
775 |
+
}
|
776 |
+
}
|
777 |
}
|
778 |
+
|
779 |
} catch (Exception $e) {
|
780 |
}
|
781 |
}
|
view/Blocks/Stats.php
CHANGED
@@ -33,19 +33,19 @@
|
|
33 |
}
|
34 |
////////////////////////////////////////////////////////////
|
35 |
?>
|
36 |
-
<div class="card col-
|
37 |
<div class="card-body m-0 p-0 bg-title">
|
38 |
<div class="row text-left m-0 p-0">
|
39 |
-
<div class="col
|
40 |
<div class="text-left m-0 p-0 py-1">
|
41 |
-
<div class="col
|
42 |
<h2 class="m-0 p-0" style="font-size: 40px;font-weight: bold;"><?php echo esc_html__("Hello", _SQ_PLUGIN_NAME_); ?> <?php echo ucfirst($username)?>,</h2>
|
43 |
</div>
|
44 |
</div>
|
45 |
<div class="sq_separator"></div>
|
46 |
-
<div class="row text-left m-0 p-0 py-3">
|
47 |
-
<div class="col-
|
48 |
-
<h3 class="card-title m-0 p-0"><?php echo sprintf(esc_html__("%s SEO Protection", _SQ_PLUGIN_NAME_), '<strong class="text-info" style="font-size: 40px; text-shadow: 1px 1px white;">' . (int)$view->stats['seo_percent'] . '%' . '</strong>'); ?></h3>
|
49 |
<div class="card-title-description m-0 p-0 text-black-50">
|
50 |
<?php if ((int)$view->stats['seo_percent'] == 100) { ?>
|
51 |
<?php echo esc_html__("All protection layers are activated.", _SQ_PLUGIN_NAME_); ?>
|
@@ -58,13 +58,13 @@
|
|
58 |
</div>
|
59 |
|
60 |
<div class="row text-left m-0 p-0 pt-4">
|
61 |
-
<div class="col-
|
62 |
<h5 class="m-0 p-0 text-info" style="text-shadow: 1px 1px white;"><?php echo (int)$view->stats['post_count'] ?>
|
63 |
<span class="small"><?php echo(isset($view->stats['all_post_count']) ? " (" . (int)$view->stats['all_post_count'] . " total)" : '') ?></span>
|
64 |
</h5>
|
65 |
<div class="card-title-description m-0 p-0 text-black-50"><?php echo esc_html__("Pages SEO'ed", _SQ_PLUGIN_NAME_); ?></div>
|
66 |
</div>
|
67 |
-
<div class="col-
|
68 |
<h5 class="m-0 p-0 text-info" style="text-shadow: 1px 1px white;"><?php echo (int)$view->stats['post_types_count'] ?>
|
69 |
<span class="small"><?php echo(isset($view->stats['all_post_types_count']) ? " (" . (int)$view->stats['all_post_types_count'] . " total)" : '') ?></span>
|
70 |
|