OwlCyberSecurity - MANAGER
Edit File: NoteTraits.php
<?php /** * KKART Admin Note Traits * * KKART Admin Note Traits class that houses shared functionality across notes. */ namespace Automattic\Kkart\Admin\Notes; defined( 'ABSPATH' ) || exit; /** * NoteTraits class. */ trait NoteTraits { /** * Test how long Kkart Admin has been active. * * @param int $seconds Time in seconds to check. * @return bool Whether or not Kkart admin has been active for $seconds. */ public static function kkart_admin_active_for( $seconds ) { // Getting install timestamp reference class-kkart-admin-install.php. $kkart_admin_installed = get_option( 'kkart_admin_install_timestamp', false ); if ( false === $kkart_admin_installed ) { update_option( 'kkart_admin_install_timestamp', time() ); return false; } return ( ( time() - $kkart_admin_installed ) >= $seconds ); } /** * Check if the note has been previously added. */ public static function note_exists() { $data_store = \KKART_Data_Store::load( 'admin-note' ); $note_ids = $data_store->get_notes_with_name( self::NOTE_NAME ); return ! empty( $note_ids ); } /** * Checks if a note can and should be added. * * @return bool */ public static function can_be_added() { $note = self::get_note(); if ( ! $note instanceof Note && ! $note instanceof KKART_Admin_Note ) { return; } if ( self::note_exists() ) { return false; } if ( 'no' === get_option( 'kkart_show_marketplace_suggestions', 'yes' ) && Note::E_KKART_ADMIN_NOTE_MARKETING === $note->get_type() ) { return false; } return true; } /** * Add the note if it passes predefined conditions. */ public static function possibly_add_note() { $note = self::get_note(); if ( ! self::can_be_added() ) { return; } $note->save(); } /** * Alias this method for backwards compatibility. */ public static function add_note() { self::possibly_add_note(); } /** * Possibly delete the note, if it exists in the database. Note that this * is a hard delete, for where it doesn't make sense to soft delete or * action the note. */ public static function possibly_delete_note() { $data_store = \KKART_Data_Store::load( 'admin-note' ); $note_ids = $data_store->get_notes_with_name( self::NOTE_NAME ); foreach ( $note_ids as $note_id ) { $note = Notes::get_note( $note_id ); if ( $note ) { $data_store->delete( $note ); } } } /** * Get if the note has been actioned. * * @return bool */ public static function has_note_been_actioned() { $data_store = \KKART_Data_Store::load( 'admin-note' ); $note_ids = $data_store->get_notes_with_name( self::NOTE_NAME ); if ( ! empty( $note_ids ) ) { $note = Notes::get_note( $note_ids[0] ); if ( Note::E_KKART_ADMIN_NOTE_ACTIONED === $note->get_status() ) { return true; } } return false; } }