HEX
Server: Apache/2.4.25
System: Linux ion14 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64
User: (10087)
PHP: 7.4.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,system, exec, shell_exec, passthru, popen, proc_open
Upload Files
File: /home/www/web115/wordpress/wp-content/plugins/digimember/system/model/logic/close_window.php
<?php

class ncore_CloseWindowLogic extends ncore_BaseLogic
{
    public function renderCloseWindowJs( $window, $closed=1 )
    {
        $plugin = $this->api->pluginName();

        /** @var digimember_LinkLogic $link */
        $link = $this->api->load->model( 'logic/link' );

        $closed = intval( $closed );
        $window = ncore_washText( $window );

        $args = array(
                'domain' => $plugin,
                'closed' => $closed,
                'window' => $window,
                );

        $url = $link->ajaxUrl( 'ajax/info', 'model_close_window', $args );

        $js = "dmDialogAjax_FetchUrl( '$url', true );";

        if ($window == 'welcome_panel')
        {
            $js .= "ncoreJQ( '#wp_welcome_panel-hide' ).prop('checked', false); ncoreJQ('#welcome-panel').addClass('hidden'); ";
        }

        return $js;
    }

    public function attachCloseButton( $window )
    {
        $label = _ncore( 'Dismiss' );

        $js = $this->renderCloseWindowJs( $window );
        $js .= "ncoreJQ(this).parents('.dm-alert').slideUp();";

        return [$label, $js];
    }


    public function isWindowClosed( $window )
    {
        if ($window === 'welcome_panel' ) {
            $user_id = ncore_userId();
            $option = get_user_meta( $user_id, 'show_welcome_panel', true );

            return !$option;
        }

        $plugin = $this->api->pluginName();

        $key = ncore_washText( "closed-$plugin-$window" );

        $model = $this->api->load->model( 'data/user_settings' );

        $closed = $model->get( $key, 0 );

        return $closed;
    }

    public function setClosedWindow( $window, $closed, $plugin='' )
    {
        if ($window === 'welcome_panel' ) {
            $user_id = ncore_userId();
            $option = get_user_meta( $user_id, 'show_welcome_panel', true );
            $show = $closed ? 0 : 1;
            update_user_meta( $user_id, 'show_welcome_panel', $show, $option );
            return;
        }

        if (!$plugin) {
            $plugin = $this->api->pluginName();
        }

        $closed = $closed
                ? time()
                : 0;

        $key = ncore_washText( "closed-$plugin-$window" );

        /** @var ncore_UserSettingsData $model */
        $model = $this->api->load->model( 'data/user_settings' );
        $model->set( $key, $closed );
    }


}