= 25) { return true; } } } return (int) get_option(self::OPT_VISITS, 0) >= 5; } public static function should_ask($user_id = 0) { $user_id = $user_id ? (int) $user_id : get_current_user_id(); if (!$user_id || !current_user_can(self::cap())) { return false; } if (get_user_meta($user_id, self::META_DONE, true)) { return false; } if ((int) get_user_meta($user_id, self::META_ASKS, true) >= self::MAX_ASKS) { return false; } $snoozed = (int) get_user_meta($user_id, self::META_SNOOZED, true); if ($snoozed && (time() - $snoozed) < self::SNOOZE_DAYS * DAY_IN_SECONDS) { return false; } $first = (int) get_option(self::OPT_FIRST_SEEN, 0); if (!$first || (time() - $first) < self::DAYS_BEFORE_ASK * DAY_IN_SECONDS) { return false; } if (!self::has_earned_it()) { return false; } $sent = (int) get_user_meta($user_id, 'aieo_feedback_sent_at', true); if ($sent && (time() - $sent) < DAY_IN_SECONDS) { return false; } if (self::signup_notice_is_showing($user_id)) { return false; } return true; } private static function signup_notice_is_showing($user_id) { if (!class_exists('AIEO_Rooster_Signup')) { return false; } if (get_user_meta($user_id, 'aieo_rooster_signup_notice_dismissed', true)) { return false; } $connected = ((int) get_option('aieo_rooster_enabled', 0) === 1 && get_option('aieo_rooster_status', '') === 'connected'); $legacy = (get_option('aieo_activate_account') == '1'); return !($connected || $legacy); } public static function maybe_render() { $screen = function_exists('get_current_screen') ? get_current_screen() : null; if (!$screen || !in_array($screen->id, array('dashboard', 'plugins'), true)) { return; } if (!self::should_ask()) { return; } self::render(); } public static function render() { $user_id = get_current_user_id(); $asks = (int) get_user_meta($user_id, self::META_ASKS, true); update_user_meta($user_id, self::META_ASKS, $asks + 1); $nonce = wp_create_nonce(self::AJAX); ?>