This commit is contained in:
proelements
2026-02-16 11:44:35 +02:00
parent 08ec8d01f1
commit b499583e5a
348 changed files with 3915 additions and 1414 deletions

View File

@@ -2,12 +2,15 @@
namespace ElementorPro\Modules\Notes;
use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
use Elementor\Settings;
use ElementorPro\Base\Editor_One_Trait;
use ElementorPro\Modules\Notes\Database\Models\Note;
use ElementorPro\Modules\Notes\EditorOneMenuItems\Editor_One_Notes_Proxy_Menu_Item;
use ElementorPro\Modules\Notes\User\Capabilities;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
exit;
}
/**
@@ -16,18 +19,23 @@ if ( ! defined( 'ABSPATH' ) ) {
* before accessing a Note (since Notes aren't available for unauthorized users).
*/
class Admin_Page {
use Editor_One_Trait;
const PAGE_ID = 'elementor-pro-notes-proxy';
/**
* Register actions and hooks.
*
* @return void
*/
const PRIORITY_AFTER_ELEMENTOR = 206;
public function register() {
if ( $this->is_editor_one_active() ) {
add_action( 'elementor/editor-one/menu/register', function ( Menu_Data_Provider $menu_data_provider ) {
$menu_data_provider->register_menu( new Editor_One_Notes_Proxy_Menu_Item( $this ) );
} );
return;
}
add_action( 'admin_menu', function () {
$this->register_admin_menu();
}, 206 ); // After Elementor.
}, static::PRIORITY_AFTER_ELEMENTOR );
add_action( 'admin_head', function () {
$this->hide_menu_item();

View File

@@ -0,0 +1,57 @@
<?php
namespace ElementorPro\Modules\Notes\EditorOneMenuItems;
use Elementor\Core\Admin\EditorOneMenu\Interfaces\Menu_Item_Interface;
use Elementor\Core\Admin\Menu\Interfaces\Admin_Menu_Item_With_Page;
use Elementor\Modules\EditorOne\Classes\Menu_Config;
use ElementorPro\Modules\Notes\Admin_Page;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Editor_One_Notes_Proxy_Menu_Item implements Menu_Item_Interface, Admin_Menu_Item_With_Page {
private Admin_Page $admin_page;
public function __construct( Admin_Page $admin_page ) {
$this->admin_page = $admin_page;
}
public function get_page_title(): string {
return esc_html__( 'Notes Proxy', 'elementor-pro' );
}
public function get_capability(): string {
return 'read';
}
public function get_label(): string {
return esc_html__( 'Notes Proxy', 'elementor-pro' );
}
public function get_parent_slug(): string {
return Menu_Config::ELEMENTOR_MENU_SLUG;
}
public function is_visible(): bool {
return false;
}
public function get_position(): int {
return 999;
}
public function get_slug(): string {
return Admin_Page::PAGE_ID;
}
public function get_group_id(): string {
return Menu_Config::SYSTEM_GROUP_ID;
}
public function render(): void {
$this->admin_page->on_page_load();
}
}