PATH:
home
/
letacommog
/
broderie
/
wp-content
/
plugins
/
woocommerce
/
packages
/
woocommerce-admin
/
src
/
Notes
<?php /** * WC Admin Note Traits * * WC Admin Note Traits class that houses shared functionality across notes. */ namespace Automattic\WooCommerce\Admin\Notes; defined( 'ABSPATH' ) || exit; /** * NoteTraits class. */ trait NoteTraits { /** * Test how long WooCommerce Admin has been active. * * @param int $seconds Time in seconds to check. * @return bool Whether or not WooCommerce admin has been active for $seconds. */ public static function wc_admin_active_for( $seconds ) { // Getting install timestamp reference class-wc-admin-install.php. $wc_admin_installed = get_option( 'woocommerce_admin_install_timestamp', false ); if ( false === $wc_admin_installed ) { update_option( 'woocommerce_admin_install_timestamp', time() ); return false; } return ( ( time() - $wc_admin_installed ) >= $seconds ); } /** * Check if the note has been previously added. */ public static function note_exists() { $data_store = \WC_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 WC_Admin_Note ) { return; } if ( self::note_exists() ) { return false; } if ( 'no' === get_option( 'woocommerce_show_marketplace_suggestions', 'yes' ) && Note::E_WC_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 = \WC_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 = \WC_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_WC_ADMIN_NOTE_ACTIONED === $note->get_status() ) { return true; } } return false; } }
[+]
..
[-] LaunchChecklist.php
[edit]
[-] SetUpAdditionalPaymentTypes.php
[edit]
[-] CouponPageMoved.php
[edit]
[-] FirstProduct.php
[edit]
[-] OrderMilestones.php
[edit]
[-] ChooseNiche.php
[edit]
[-] EditProductsOnTheMove.php
[edit]
[-] NoteTraits.php
[edit]
[-] TestCheckout.php
[edit]
[-] WooSubscriptionsNotes.php
[edit]
[-] CustomizeStoreWithBlocks.php
[edit]
[-] ReviewShippingSettings.php
[edit]
[-] EUVATNumber.php
[edit]
[-] MigrateFromShopify.php
[edit]
[-] TrackingOptIn.php
[edit]
[-] HistoricalData.php
[edit]
[-] ConfirmTaxSettings.php
[edit]
[-] PerformanceOnMobile.php
[edit]
[-] GoogleAdsAndMarketing.php
[edit]
[-] RealTimeOrderAlerts.php
[edit]
[-] InstallJPAndWCSPlugins.php
[edit]
[-] OnboardingPayments.php
[edit]
[-] InsightFirstSale.php
[edit]
[-] GivingFeedbackNotes.php
[edit]
[-] ManageOrdersOnTheGo.php
[edit]
[-] NewSalesRecord.php
[edit]
[-] HomeScreenFeedback.php
[edit]
[-] NavigationFeedbackFollowUp.php
[edit]
[-] Note.php
[edit]
[-] NavigationFeedback.php
[edit]
[-] DataStore.php
[edit]
[-] Marketing.php
[edit]
[-] DeactivatePlugin.php
[edit]
[-] FilterByProductVariationsInReports.php
[edit]
[-] NeedSomeInspiration.php
[edit]
[-] OnboardingEmailMarketing.php
[edit]
[-] StartDropshippingBusiness.php
[edit]
[-] PersonalizeStore.php
[edit]
[-] Notes.php
[edit]
[-] WooCommercePayments.php
[edit]
[-] DrawAttention.php
[edit]
[-] MobileApp.php
[edit]
[-] WooCommerceSubscriptions.php
[edit]
[-] OnlineClothingStore.php
[edit]
[-] SellingOnlineCourses.php
[edit]
[-] DeprecatedNotes.php
[edit]