مؤسسة الركن المكتبي التجارية تأسست على رؤية مُختلفة، تهدف إلى تقديم تجربة فريدة من نوعها في الأثاث المكتبي والفندقي لكي نضمن بيئة عمل توفر مساحات عمل مريحة وصحية، حيث نمتاز بخبراتنا الواسعة فأصبحت أحد أفضل المؤسسات الوطنية الرائدة في تجارة وصناعة الأثاث والتصميم الداخلي والسبّاقة على مستوى المملكة في المفروشات المكتبية والفندقية والمنزلية، نهدف الى خلق قيمة لعملائنا عن طريق توفير الجودة العالية في مقابل السعر المناسب.
منتجاتنا الجودة العالية في مقابل السعر المناسب
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
*(……&*6干sfa绅士的风度sfsdfd不打发打发死啊好办法
/home/officeco/public_html/wp-content/plugins/old/ninja-forms/includes/Admin/Notices.php
<?php if ( ! defined( 'ABSPATH' ) ) exit;
/**
* NF_Notices Class
*
* Can be simply used be adding another line into the nf_admin_notices() function under notices.php
*
* Can be extended to create more advanced notices to include triggered events
*
* @since 2.9
*/
class NF_Admin_Notices
{
// Highlander the instance
static $instance;
public static function instance()
{
if ( ! isset( self::$instance ) ) {
self::$instance = new NF_Notices();
}
return self::$instance;
}
public $notice_spam = 0;
public $notice_spam_max = 1;
// Basic actions to run
public function __construct(){
// Runs the admin notice ignore function incase a dismiss button has been clicked
add_action( 'admin_init', array( $this, 'admin_notice_ignore' ) );
// Runs the admin notice temp ignore function incase a temp dismiss link has been clicked
add_action( 'admin_init', array( $this, 'admin_notice_temp_ignore' ) );
}
// Checks to ensure notices aren't disabled and the user has the correct permissions.
public function nf_admin_notice() {
$nf_settings = get_option( 'ninja_forms_settings' );
if ( ! isset( $nf_settings[ 'disable_admin_notices' ] ) || ( isset( $nf_settings[ 'disable_admin_notices' ] ) && $nf_settings[ 'disable_admin_notices' ] == 0 ) ){
if ( current_user_can( apply_filters( 'ninja_forms_admin_parent_menu_capabilities', 'manage_options' ) ) ) {
return true;
}
}
return false;
}
// Primary notice function that can be called from an outside function sending necessary variables
public function admin_notice( $admin_notices ) {
// Check options
if ( ! $this->nf_admin_notice() ) {
return false;
}
foreach ( $admin_notices as $slug => $admin_notice ) {
if ( isset ( $admin_notice[ 'ignore_spam' ] ) && true == $admin_notice[ 'ignore_spam' ] ) {
$ignore_spam = true;
} else {
$ignore_spam = false;
}
// Call for spam protection
if ( ! $ignore_spam && $this->anti_notice_spam() ) {
continue;
}
// Check for proper page to display on
if ( isset( $admin_notices[ $slug ][ 'pages' ] ) && is_array( $admin_notices[ $slug ][ 'pages' ] )
|| isset( $admin_notices[ $slug ][ 'blacklist' ] ) && is_array( $admin_notices[ $slug ][ 'blacklist' ] )
) {
if( ( isset( $admin_notices[ $slug ][ 'blacklist' ] ) && $this->admin_notice_pages_blacklist( $admin_notices[ $slug ][ 'blacklist' ] ) )
|| ( isset( $admin_notices[ $slug ][ 'pages' ] ) && ! $this->admin_notice_pages( $admin_notices[ $slug ][ 'pages' ] ) )
) {
continue;
}
}
// Check for required fields
if ( ! $this->required_fields( $admin_notices[ $slug ] ) ) {
// Get the current date then set start date to either passed value or current date value and add interval
$current_date = current_time( "n/j/Y" );
$start = ( isset( $admin_notices[ $slug ][ 'start' ] ) ? $admin_notices[ $slug ][ 'start' ] : $current_date );
$start = date( "n/j/Y", strtotime( $start ) );
$date_array = explode( '/', $start );
$interval = ( isset( $admin_notices[ $slug ][ 'int' ] ) ? $admin_notices[ $slug ][ 'int' ] : 0 );
$date_array[1] += $interval;
$start = date( "n/j/Y", mktime( 0, 0, 0, $date_array[0], $date_array[1], $date_array[2] ) );
// This is the main notices storage option
$admin_notices_option = get_option( 'nf_admin_notice', array() );
// Check if the message is already stored and if so just grab the key otherwise store the message and its associated date information
if ( ! array_key_exists( $slug, $admin_notices_option ) ) {
$admin_notices_option[ $slug ][ 'start' ] = $start;
$admin_notices_option[ $slug ][ 'int' ] = $interval;
update_option( 'nf_admin_notice', $admin_notices_option );
}
// Sanity check to ensure we have accurate information
// New date information will not overwrite old date information
$admin_display_check = ( isset( $admin_notices_option[ $slug ][ 'dismissed' ] ) ? $admin_notices_option[ $slug ][ 'dismissed'] : 0 );
$admin_display_start = ( isset( $admin_notices_option[ $slug ][ 'start' ] ) ? $admin_notices_option[ $slug ][ 'start'] : $start );
$admin_display_interval = ( isset( $admin_notices_option[ $slug ][ 'int' ] ) ? $admin_notices_option[ $slug ][ 'int'] : $interval );
$admin_display_msg = ( isset( $admin_notices[ $slug ][ 'msg' ] ) ? $admin_notices[ $slug ][ 'msg'] : '' );
$admin_display_title = ( isset( $admin_notices[ $slug ][ 'title' ] ) ? $admin_notices[ $slug ][ 'title'] : '' );
$admin_display_link = ( isset( $admin_notices[ $slug ][ 'link' ] ) ? $admin_notices[ $slug ][ 'link' ] : '' );
$admin_can_dismiss = ( isset( $admin_notices[ $slug ][ 'dismiss' ] ) ? $admin_notices[ $slug ][ 'dismiss' ] : 1 );
$output_css = false;
// Ensure the notice hasn't been hidden and that the current date is after the start date
if ( $admin_display_check == 0 && strtotime( $admin_display_start ) <= strtotime( $current_date ) ) {
// Get remaining query string
$query_str = esc_url( add_query_arg( 'nf_admin_notice_ignore', $slug ) );
// Admin notice display output
echo '<div class="update-nag nf-admin-notice">';
echo '<div class="nf-notice-logo"></div>';
echo '<div class="nf-notice-container">';
echo '<div class="nf-notice-title">';
echo esc_html( $admin_display_title );
echo '</div>';
echo ' <p class="nf-notice-body">';
echo $admin_display_msg;
echo ' </p>';
echo '<ul class="nf-notice-links">
' . $admin_display_link . '
</ul>';
echo '</div>';
if ( $admin_can_dismiss ) {
echo '<a href="' . wp_nonce_url( esc_attr( $query_str ) ) . '" class="dashicons dashicons-dismiss"><span class="sr-only">Dismiss</span></a>';
}
echo '</div>';
$this->notice_spam += 1;
$output_css = true;
}
if ( $output_css ) {
wp_enqueue_style( 'nf-admin-notices', Ninja_Forms::$url .'assets/css/admin-notices.css?nf_ver=' . Ninja_Forms::VERSION );
}
}
}
// die( 'done looping' );
}
// Spam protection check
public function anti_notice_spam() {
if ( $this->notice_spam >= $this->notice_spam_max ) {
return true;
}
return false;
}
// Ignore function that gets ran at admin init to ensure any messages that were dismissed get marked
public function admin_notice_ignore() {
// If user clicks to ignore the notice, update the option to not show it again
if ( isset($_GET['nf_admin_notice_ignore']) && current_user_can( apply_filters( 'ninja_forms_admin_parent_menu_capabilities', 'manage_options' ) ) ) {
if ( ! check_admin_referer("nf_admin_notice_ignore") ) {
$query_str = remove_query_arg( array( 'nf_admin_notice_ignore', '_wpnonce' ) );
wp_safe_redirect( $query_str );
exit;
}
$admin_notices_option = get_option( 'nf_admin_notice', array() );
$admin_notices_option[ WPN_Helper::sanitize_text_field($_GET[ 'nf_admin_notice_ignore' ]) ][ 'dismissed' ] = 1;
update_option( 'nf_admin_notice', $admin_notices_option );
$query_str = remove_query_arg( array( 'nf_admin_notice_ignore', '_wpnonce' ) );
wp_safe_redirect( $query_str );
exit;
}
}
// Temp Ignore function that gets ran at admin init to ensure any messages that were temp dismissed get their start date changed
public function admin_notice_temp_ignore() {
// If user clicks to temp ignore the notice, update the option to change the start date - default interval of 14 days
if ( isset($_GET['nf_admin_notice_temp_ignore']) && current_user_can( apply_filters( 'ninja_forms_admin_parent_menu_capabilities', 'manage_options' ) ) ) {
$admin_notices_option = get_option( 'nf_admin_notice', array() );
$current_date = current_time( "n/j/Y" );
$date_array = explode( '/', $current_date );
$interval = ( isset( $_GET[ 'nf_int' ] ) ? intval($_GET[ 'nf_int' ]) : 14 );
$date_array[1] += $interval;
$new_start = date( "n/j/Y", mktime( 0, 0, 0, $date_array[0], $date_array[1], $date_array[2] ) );
$admin_notices_option[ WPN_Helper::sanitize_text_field($_GET[ 'nf_admin_notice_temp_ignore' ]) ][ 'start' ] = $new_start;
$admin_notices_option[ WPN_Helper::sanitize_text_field($_GET[ 'nf_admin_notice_temp_ignore' ]) ][ 'dismissed' ] = 0;
update_option( 'nf_admin_notice', $admin_notices_option );
$query_str = remove_query_arg( array( 'nf_admin_notice_temp_ignore', 'nf_int' ) );
wp_redirect( $query_str );
exit;
}
}
public function admin_notice_pages_blacklist( $pages ) {
foreach( $pages as $key => $page ) {
if ( is_array( $page ) ) {
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page'] == $page[0] && isset( $_GET[ 'tab' ] ) && $_GET[ 'tab' ] == $page[1] ) {
return true;
}
} else {
if ( get_current_screen()->id === $page ) {
return true;
}
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page'] == $page ) {
return true;
}
}
}
return false;
}
// Page check function - This should be called from class extensions if the notice should only show on specific admin pages
// Expects an array in the form of IE: array( 'dashboard', 'ninja-forms', array( 'ninja-forms', 'builder' ) )
// Function accepts dashboard as a special check and also whatever is passed to page or tab as parameters
// The above example will display on dashboard and all of the pages that have page=ninja-forms and any page=ninja-forms&tab=builder which is redundant in the example
public function admin_notice_pages( $pages ) {
foreach( $pages as $key => $page ) {
if ( is_array( $page ) ) {
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page'] == $page[0] && isset( $_GET[ 'tab' ] ) && $_GET[ 'tab' ] == $page[1] ) {
return true;
}
} else {
if ( $page == 'all' ) {
return true;
}
if ( get_current_screen()->id === $page ) {
return true;
}
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page'] == $page ) {
return true;
}
}
}
return false;
}
// Required fields check
public function required_fields( $fields ) {
if ( ! isset( $fields[ 'msg' ] ) || ( isset( $fields[ 'msg' ] ) && empty( $fields[ 'msg' ] ) ) ) {
return true;
}
if ( ! isset( $fields[ 'title' ] ) || ( isset( $fields[ 'title' ] ) && empty( $fields[ 'title' ] ) ) ) {
return true;
}
return false;
}
// Special parameters function that is to be used in any extension of this class
public function special_parameters( $admin_notices ) {
// Intentionally left blank
}
}
Run Command [Bypass]
Run Command