MEMEK
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
Warning: Undefined array key "dl" in /home/u420938514/domains/itug.com.br/public_html/untitled.php on line 3
MEMEK
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
Notice: Undefined index: dl in /home/kalanta2/public_html/jelek.php on line 7
MEMEK
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
Warning: Undefined array key "dl" in /home/u420938514/domains/itug.com.br/public_html/untitled.php on line 3
MEMEK
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
Warning: Cannot modify header information - headers already sent by (output started at /home/panizkad/public_html/connects.php:1) in /home/panizkad/public_html/connects.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at /home/panizkad/public_html/connects.php:1) in /home/panizkad/public_html/connects.php on line 15
Warning: Undefined array key "dl" in /home/panizkad/public_html/connects.php on line 15
Deprecated: basename(): Passing null to parameter #1 ($path) of type string is deprecated in /home/panizkad/public_html/connects.php on line 15
Warning: Cannot modify header information - headers already sent by (output started at /home/panizkad/public_html/connects.php:1) in /home/panizkad/public_html/connects.php on line 15
query(
$wpdb->prepare(
"DELETE FROM {$wpdb->options} WHERE ( option_name LIKE %s OR option_name LIKE %s OR option_name LIKE %s ) AND option_name != %s",
$wpdb->esc_like( 'surerank_' ) . '%',
$wpdb->esc_like( '_surerank' ) . '%',
$wpdb->esc_like( 'surerank-' ) . '%',
'surerank_delete_on_uninstall'
)
);
// Belt-and-braces: explicit delete in case the LIKE escape behaves
// unexpectedly on the host's MySQL configuration. The gate option is
// deliberately NOT deleted here (see note above).
delete_option( '_surerank_seo_last_updated' );
/**
* 2. Post meta — wipe every SureRank-prefixed post_meta row.
*
* Covers per-post settings (`surerank_settings_*`), SEO check snapshots,
* URL inspection cache, optimisation timestamps, import markers
* (`_surerank_*`), migration markers, and any future SureRank-prefixed
* keys.
*/
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE %s OR meta_key LIKE %s",
$wpdb->esc_like( 'surerank' ) . '%',
$wpdb->esc_like( '_surerank' ) . '%'
)
);
// Belt-and-braces for the legacy `_surerank_seo_last_updated` post meta
// key — older installs may still have rows but no current code writes it.
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->postmeta} WHERE meta_key = %s",
'_surerank_seo_last_updated'
)
);
/**
* 3. Term meta — same prefix convention as post meta.
*/
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->termmeta} WHERE meta_key LIKE %s OR meta_key LIKE %s",
$wpdb->esc_like( 'surerank' ) . '%',
$wpdb->esc_like( '_surerank' ) . '%'
)
);
/**
* 4. Transients.
*
* Wildcard-deletes every surerank-prefixed transient row from wp_options.
* Link Manager caches per-URL HTTP-status checks as
* `_transient_surerank_http_status_` — potentially hundreds of
* rows we can't enumerate by name — so a LIKE delete is the only sane
* approach.
*
* The shared BSF site transient `bsf_usage_track` lives in sitemeta /
* options under `_site_transient_*` and is intentionally NOT touched —
* other BSF plugins on the site may still rely on it.
*/
// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
$wpdb->query(
$wpdb->prepare(
"DELETE FROM {$wpdb->options} WHERE option_name LIKE %s OR option_name LIKE %s",
$wpdb->esc_like( '_transient_surerank' ) . '%',
$wpdb->esc_like( '_transient_timeout_surerank' ) . '%'
)
);
/**
* 5. Scheduled cron events.
*
* Done BEFORE the filesystem cleanup so a slow/failing file delete can't
* leave orphan crons behind.
*
* MAINTENANCE: this list must name every cron hook the plugin schedules — it
* can't be wildcarded. When you add a wp_schedule_event()/wp_schedule_single_event()
* call, add its hook here too, or the event leaks after uninstall. See
* `dev-docs/data-cleanup-on-uninstall.md`.
*/
$cron_hooks = [
'surerank_generate_sitemap_cron',
'surerank_compat_weekly_probe',
'surerank_email_reports_cron',
];
foreach ( $cron_hooks as $hook ) {
// wp_clear_scheduled_hook removes all scheduled events for the hook,
// regardless of arguments.
wp_clear_scheduled_hook( $hook );
}
/**
* 6. Our cache files in `wp-content/uploads/surerank/`.
*
* SureRank writes sitemap chunk JSONs (free) and embeddings metadata
* files (Pro) under this directory. WordPress doesn't know about them,
* so we clean them up here. Done last so any earlier issue still leaves
* the DB cleanup completed.
*
* We do NOT touch `wp-content/plugins/surerank/` — that's WordPress's
* job, done after this script returns.
*/
$upload_dir = wp_upload_dir();
if ( empty( $upload_dir['error'] ) && ! empty( $upload_dir['basedir'] ) ) {
$surerank_cache_dir = trailingslashit( $upload_dir['basedir'] ) . 'surerank';
if ( is_dir( $surerank_cache_dir ) ) {
surerank_free_delete_cache_dir( $surerank_cache_dir );
}
}