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
load_core_components();
$this->load_environment_components();
do_action( 'surerank_after_load_components' );
}
/**
* Prevent Query Monitor from collecting textdomain errors.
*
* @param string $function_name The function that was called.
* @param string $message The error message.
* @param string $version The version.
* @return void
* @since 1.7.3
*/
public function prevent_qm_collection( $function_name, $message, $version ): void {
if ( $function_name === '_load_textdomain_just_in_time' && strpos( $message, 'surerank' ) !== false ) {
// Remove Query Monitor's action temporarily.
if ( class_exists( '\QM_Collectors' ) ) {
$collector = \QM_Collectors::get( 'doing_it_wrong' );
$callback = is_object( $collector ) ? [ $collector, 'action_doing_it_wrong_run' ] : null;
if ( is_callable( $callback ) ) {
remove_action( 'doing_it_wrong_run', $callback, 10 );
// Re-add it after this specific error.
add_action(
'shutdown',
static function() use ( $callback ): void {
if ( ! has_action( 'doing_it_wrong_run', $callback ) ) {
add_action( 'doing_it_wrong_run', $callback, 10, 3 );
}
},
-1
);
}
}
}
}
/**
* Suppress translation error.
*
* @param bool $status Status.
* @param string $function_name Function name.
* @param string $message Message.
* @param string $version Version.
*
* @return bool
* @since 1.7.3
*/
public function suppress_translation_error( $status, $function_name, $message, $version ) {
if ( $function_name === '_load_textdomain_just_in_time' && strpos( $message, 'surerank' ) !== false ) {
return false;
}
return $status;
}
/**
* Load routes.
*
* @since 0.0.1
* @return void
*/
public function load_routes() {
do_action( 'surerank_before_load_routes' );
Abilities_Registrar::get_instance();
Routes::get_instance();
Invalidator::get_instance();
Analytics::get_instance();
Admin_Notice::get_instance();
Review_Notice::get_instance();
Delete_Data_Checkbox::get_instance();
do_action( 'surerank_after_load_routes' );
}
/**
* Initiator
*
* @since 1.0.0
* @return object initialized object of class.
*/
public static function get_instance() {
if ( null === self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Autoload classes.
*
* @param string $class class name.
* @since 1.0.0
* @return void
*/
public function autoload( $class ) {
if ( 0 !== strpos( $class, __NAMESPACE__ ) ) {
return;
}
$class_to_load = $class;
$filename = preg_replace(
[ '/^' . __NAMESPACE__ . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
[ '', '$1-$2', '-', DIRECTORY_SEPARATOR ],
$class_to_load
);
if ( is_string( $filename ) ) {
$filename = strtolower( $filename );
$file = SURERANK_DIR . $filename . '.php';
// if the file readable, include it.
if ( is_readable( $file ) ) {
require_once $file;
}
}
}
/**
* Load Plugin Text Domain.
* This will load the translation textdomain depending on the file priorities.
* 1. Global Languages /wp-content/languages/surerank/ folder
* 2. Local directory /wp-content/plugins/surerank/languages/ folder
*
* @since 1.0.0
* @return void
*/
public function load_textdomain() {
// Default languages directory.
$lang_dir = SURERANK_DIR . 'languages/';
/**
* Filters the languages directory path to use for plugin.
*
* @param string $lang_dir The languages directory path.
*/
$lang_dir = apply_filters( 'surerank_languages_directory', $lang_dir );
$get_locale = get_user_locale();
$locale = apply_filters( 'plugin_locale', $get_locale, 'surerank' ); //phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- wordpress hook
$mofile = sprintf( '%1$s-%2$s.mo', 'surerank', $locale );
// Setup paths to current locale file.
$mofile_global = WP_LANG_DIR . '/plugins/' . $mofile;
$mofile_local = $lang_dir . $mofile;
if ( file_exists( $mofile_global ) ) {
// Look in global /wp-content/languages/surerank/ folder.
load_textdomain( 'surerank', $mofile_global );
} elseif ( file_exists( $mofile_local ) ) {
// Look in local /wp-content/plugins/surerank/languages/ folder.
load_textdomain( 'surerank', $mofile_local );
}
}
/**
* Activation Hook
*
* @since 1.0.0
* @return void
*/
public function activation() {
Update::option( 'surerank_flush_required', 1 );
Update::option( 'surerank_redirect_on_activation', 'yes' );
// Only schedule the sitemap cron in cron mode; auto mode (default)
// builds on the fly. ensure_cron_scheduled() also self-corrects per
// request if the mode changes later.
if ( \SureRank\Inc\Sitemap\Generation_Mode::cron_prebuild_enabled() ) {
Cron::get_instance()->schedule_sitemap_generation();
}
}
/**
* Deactivation Hook
*
* @since 1.0.0
* @return void
*/
public function deactivation() {
Update::option( 'surerank_flush_required', 1 );
Cron::get_instance()->unschedule_sitemap_generation();
Checksum::get_instance()->clear_checksum();
Compat::teardown();
delete_option( 'surerank_cron_test_ok' );
delete_option( 'surerank_last_cron_run' );
}
/**
* Record a timestamp on every cron request so Helper::are_crons_available()
* can detect server-side cron when DISABLE_WP_CRON or ALTERNATE_WP_CRON is set.
*
* @since 1.7.5
* @return void
*/
public function track_cron_run(): void {
if ( ! defined( 'DOING_CRON' ) || ! DOING_CRON ) {
return;
}
$now = time();
$last_run = (int) get_option( 'surerank_last_cron_run', 0 );
// Throttle writes to once per minute.
if ( $last_run > 0 && ( $now - $last_run ) < MINUTE_IN_SECONDS ) {
return;
}
update_option( 'surerank_last_cron_run', $now, false );
}
/**
* Flush if settings is updated
*
* @since 1.0.0
* @return void
*/
public function flush_rules() {
if ( Get::option( 'surerank_flush_required' ) ) {
Helper::flush();
delete_option( 'surerank_flush_required' );
}
}
/**
* Add meta links to the plugin row (under description).
*
* @param array $links Array of plugin meta links.
* @param string $file Plugin file path.
* @return array Modified plugin meta links.
*/
public function add_meta_links( array $links, string $file ): array {
if ( SURERANK_BASE === $file ) {
$stars = '';
for ( $indx = 0; $indx < 5; $indx++ ) {
$stars .= '';
}
$links[] = sprintf(
'%s',
esc_url( 'https://wordpress.org/support/plugin/surerank/reviews/#new-post' ),
esc_attr__( 'Rate our plugin', 'surerank' ),
$stars
);
}
return $links;
}
/**
* Add Settings link to plugin action links.
*
* @param array $links Array of plugin action links.
* @param string $file Plugin file path.
* @return array Modified plugin action links.
* @since 1.6.3
*/
public function add_settings_link( array $links, string $file ): array {
if ( SURERANK_BASE === $file ) {
ob_start();
?>
$settings_link_html,
]
);
$links = array_merge( $plugin_links, $links );
}
return $links;
}
/**
* Add Pro nudge link to plugin action links.
*
* @param array $links Array of plugin action links.
* @return array Modified plugin action links.
* @since 1.6.3
*/
public function add_pro_nudge_link( array $links ): array {
// Check if Pro plugin is installed using WordPress function.
if ( ! function_exists( 'get_plugins' ) ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$all_plugins = get_plugins();
$pro_installed = false;
foreach ( $all_plugins as $plugin_path => $plugin_data ) {
if ( strpos( $plugin_path, '/surerank-pro.php' ) !== false ) {
$pro_installed = true;
break;
}
}
if ( ! $pro_installed ) {
$pricing_url = add_query_arg(
[
'utm_source' => 'surerank-free',
'utm_medium' => 'plugin-list',
'utm_campaign' => 'plugin-screen',
],
'https://surerank.com/pricing/'
);
ob_start();
?>
should_load_nps_survey() ) {
Surerank_Nps_Survey::get_instance();
Nps_Notice::get_instance();
}
}
/**
* Add body class - Assign version class for reference.
*
* @param array $classes body classes.
* @since 1.6.2
* @return array
*/
public function add_body_class( $classes ) {
$classes[] = 'surerank-' . SURERANK_VERSION;
return $classes;
}
/**
* Map custom SureRank capabilities to primitive WordPress capabilities.
*
* This maps the custom capabilities used in SureRank to standard WordPress
* capabilities so that role management works correctly. The Pro plugin can
* override this to provide more granular control.
*
* @since 1.7.2
* @param array $caps Primitive capabilities required by the user.
* @param string $cap Capability being checked.
* @param int $user_id User ID.
* @param array $args Additional arguments.
* @return array Mapped capabilities.
*/
public function map_meta_cap( $caps, $cap, $user_id, $args ) {
// Map custom SureRank capabilities to manage_options for free version.
// Pro plugin can override this filter for proper role management.
$surerank_caps = [
'surerank_content_setting',
'surerank_global_setting',
];
if ( in_array( $cap, $surerank_caps, true ) ) {
// Map to manage_options for the free version.
return [ 'manage_options' ];
}
return $caps;
}
/**
* Load core components that are always needed.
*
* @return void
*/
private function load_core_components(): void {
$core_components = [
Defaults::class,
Schemas::class,
Crawl_Optimization::class,
Hentry::class,
Api_Init::class,
Headless::class,
Headless_Sitemap::class,
Rest_Fields::class,
Compat::class,
Modified_Date_Lock::class,
Cron::class,
Checksum::class,
Integrations_Init::class,
Knowledge_Graph_Init::class,
Attachment::class,
Analyzer::class,
PostAnalyzer::class,
TermAnalyzer::class,
UserAnalyzer::class,
Auth::class,
Sync::class,
Ai_Auth_Init::class,
Content_Generation_Init::class,
EmailReports_Init::class,
Fix_Seo_Checks_Init::class,
Knowledge_Graph_Init::class,
Nudges_Init::class,
Process::class,
Cli::class,
];
$this->load_components( $core_components );
// Seo_Bar needed in admin page views and AJAX (for inline-save column rendering).
if ( is_admin() ) {
$this->load_components( [ Seo_Bar::class ] );
}
}
/**
* Load environment-specific components.
*
* @return void
*/
private function load_environment_components(): void {
if ( is_admin() ) {
$this->load_admin_components();
} else {
$this->load_frontend_components();
}
}
/**
* Load admin-specific components.
*
* @return void
*/
private function load_admin_components(): void {
/**
* Filter the required capability to load SureRank admin components.
* Allows Pro plugin to grant access based on role capabilities.
*
* @since 1.6.4
* @param string $capability Required capability. Default: 'manage_options'.
*/
$required_capability = apply_filters( 'surerank_admin_components_capability', 'manage_options' );
if ( ! current_user_can( $required_capability ) ) {
return;
}
$admin_components = [
Seo_Popup::class,
Update_Timestamp::class,
Dashboard::class,
Onboarding::class,
BulkActions::class,
BulkEdit::class,
Ajax::class,
Save_Endpoints::class,
Rest_Site_Health::class,
Search_Console_Widget::class,
Site_Health::class,
];
$this->load_components( $admin_components );
}
/**
* Load frontend-specific components.
*
* @return void
*/
private function load_frontend_components(): void {
$frontend_components = [
Single::class,
Product::class,
Taxonomy::class,
Archives_Meta::class,
Author::class,
Title::class,
Canonical::class,
Common::class,
Robots::class,
Facebook::class,
Twitter::class,
Special_Page::class,
Feed::class,
Seo_Popup_Frontend::class,
Meta_Data::class,
Content_Seo::class,
Meta_Tag_Injection::class,
Xml_Sitemap::class,
Archives::class,
];
// Add SEO metabox on the frontend for logged in users.
if ( is_user_logged_in() ) {
$frontend_components[] = Seo_Popup::class;
}
$this->load_components( $frontend_components );
}
/**
* Check if NPS Survey should be loaded.
*
* @return bool True if should load.
*/
private function should_load_nps_survey(): bool {
return class_exists( 'SureRank\Inc\Lib\Surerank_Nps_Survey' ) && ! apply_filters( 'surerank_disable_nps_survey', false );
}
/**
* Load an array of components.
*
* @param array $components Component class names.
* @return void
*/
private function load_components( array $components ): void {
foreach ( $components as $component ) {
$component::get_instance();
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
Loader::get_instance();