2023-07-07 00:34:11 +03:00
|
|
|
<?php
|
|
|
|
|
namespace um\common;
|
|
|
|
|
|
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( ! class_exists( 'um\common\Init' ) ) {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Class Init
|
|
|
|
|
*
|
|
|
|
|
* @package um\common
|
|
|
|
|
*/
|
|
|
|
|
class Init {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create classes' instances where __construct isn't empty for hooks init
|
|
|
|
|
*
|
|
|
|
|
* @used-by \UM::includes()
|
|
|
|
|
*/
|
|
|
|
|
public function includes() {
|
2024-09-06 15:03:50 +03:00
|
|
|
$this->actions();
|
|
|
|
|
|
2023-07-07 00:34:11 +03:00
|
|
|
$this->cpt()->hooks();
|
|
|
|
|
$this->screen();
|
|
|
|
|
$this->secure()->hooks();
|
2023-07-11 17:59:54 +03:00
|
|
|
$this->site_health();
|
2024-02-14 14:35:16 +02:00
|
|
|
$this->theme()->hooks();
|
2024-09-20 18:41:08 +03:00
|
|
|
$this->users()->hooks();
|
2023-07-07 00:34:11 +03:00
|
|
|
}
|
|
|
|
|
|
2024-09-06 15:03:50 +03:00
|
|
|
/**
|
2024-11-06 17:13:38 +02:00
|
|
|
* Init actions that can be scheduled via Action Scheduler.
|
2024-09-06 15:03:50 +03:00
|
|
|
*
|
2024-11-06 17:13:38 +02:00
|
|
|
* @since 2.9.0
|
2024-09-06 15:03:50 +03:00
|
|
|
*/
|
|
|
|
|
private function actions() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\actions\emails'] ) ) {
|
|
|
|
|
UM()->classes['um\common\actions\emails'] = new actions\Emails();
|
|
|
|
|
}
|
2025-04-14 23:12:29 +03:00
|
|
|
|
|
|
|
|
if ( empty( UM()->classes['um\common\actions\users'] ) ) {
|
|
|
|
|
UM()->classes['um\common\actions\users'] = new actions\Users();
|
|
|
|
|
}
|
2024-11-06 17:13:38 +02:00
|
|
|
// Other classes init here as soon as possible.
|
2024-09-06 15:03:50 +03:00
|
|
|
}
|
|
|
|
|
|
2023-07-07 00:34:11 +03:00
|
|
|
/**
|
|
|
|
|
* @since 2.6.8
|
|
|
|
|
*
|
|
|
|
|
* @return CPT
|
|
|
|
|
*/
|
|
|
|
|
public function cpt() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\cpt'] ) ) {
|
|
|
|
|
UM()->classes['um\common\cpt'] = new CPT();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\cpt'];
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-27 17:34:47 +03:00
|
|
|
/**
|
|
|
|
|
* @since 2.8.7
|
|
|
|
|
*
|
|
|
|
|
* @return Filesystem
|
|
|
|
|
*/
|
|
|
|
|
public function filesystem() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\filesystem'] ) ) {
|
|
|
|
|
UM()->classes['um\common\filesystem'] = new Filesystem();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\filesystem'];
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-07 00:34:11 +03:00
|
|
|
/**
|
|
|
|
|
* @since 2.6.8
|
|
|
|
|
*
|
|
|
|
|
* @return Screen
|
|
|
|
|
*/
|
|
|
|
|
public function screen() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\screen'] ) ) {
|
|
|
|
|
UM()->classes['um\common\screen'] = new Screen();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\screen'];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @since 2.6.8
|
|
|
|
|
*
|
|
|
|
|
* @return Secure
|
|
|
|
|
*/
|
|
|
|
|
public function secure() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\secure'] ) ) {
|
|
|
|
|
UM()->classes['um\common\secure'] = new Secure();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\secure'];
|
|
|
|
|
}
|
2023-07-11 17:59:54 +03:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @since 2.6.8
|
|
|
|
|
*
|
|
|
|
|
* @return Site_Health
|
|
|
|
|
*/
|
|
|
|
|
public function site_health() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\site_health'] ) ) {
|
|
|
|
|
UM()->classes['um\common\site_health'] = new Site_Health();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\site_health'];
|
|
|
|
|
}
|
2024-02-14 14:35:16 +02:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @since 2.8.3
|
|
|
|
|
*
|
|
|
|
|
* @return Theme
|
|
|
|
|
*/
|
|
|
|
|
public function theme() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\theme'] ) ) {
|
|
|
|
|
UM()->classes['um\common\theme'] = new Theme();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\theme'];
|
|
|
|
|
}
|
2024-09-20 18:41:08 +03:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @since 2.8.7
|
|
|
|
|
*
|
|
|
|
|
* @return Users
|
|
|
|
|
*/
|
|
|
|
|
public function users() {
|
|
|
|
|
if ( empty( UM()->classes['um\common\users'] ) ) {
|
|
|
|
|
UM()->classes['um\common\users'] = new Users();
|
|
|
|
|
}
|
|
|
|
|
return UM()->classes['um\common\users'];
|
|
|
|
|
}
|
2023-07-07 00:34:11 +03:00
|
|
|
}
|
|
|
|
|
}
|