diff --git a/admin/css/wp-allstars-admin.css b/admin/css/wp-allstars-admin.css index 2be9cf3..34423e2 100644 --- a/admin/css/wp-allstars-admin.css +++ b/admin/css/wp-allstars-admin.css @@ -847,4 +847,58 @@ input:checked + .wp-toggle-slider:before { .wpa-pro-plugin .button { width: 100%; } +} + +/* Markdown Content Styles for About Tab */ +.wp-allstars-markdown-content { + line-height: 1.6; + color: #333; +} + +.wp-allstars-markdown-content h1 { + font-size: 2em; + margin: 0.67em 0; + border-bottom: 1px solid #eaecef; + padding-bottom: 0.3em; +} + +.wp-allstars-markdown-content h2 { + font-size: 1.5em; + margin: 0.83em 0; + border-bottom: 1px solid #eaecef; + padding-bottom: 0.3em; +} + +.wp-allstars-markdown-content h3 { + font-size: 1.25em; + margin: 1em 0; +} + +.wp-allstars-markdown-content ul { + padding-left: 2em; + margin: 1em 0; +} + +.wp-allstars-markdown-content li { + margin: 0.5em 0; +} + +.wp-allstars-markdown-content a { + color: #0073aa; + text-decoration: none; +} + +.wp-allstars-markdown-content a:hover { + color: #00a0d2; + text-decoration: underline; +} + +.wp-allstars-markdown-content p { + margin: 1em 0; +} + +/* About Tab Panel */ +#about .wpa-pro-plugin { + max-width: 800px; + margin: 0 auto; } \ No newline at end of file diff --git a/admin/data/about.php b/admin/data/about.php new file mode 100644 index 0000000..c6bacdc --- /dev/null +++ b/admin/data/about.php @@ -0,0 +1,47 @@ + 'About WP ALLSTARS', + 'content' => << +
+
+
+

+ +
+ +
+
+
+
+ $1', $markdown); + $markdown = preg_replace('/^## (.*?)$/m', '

$1

', $markdown); + $markdown = preg_replace('/^# (.*?)$/m', '

$1

', $markdown); + + // Bold and Italic + $markdown = preg_replace('/\*\*(.*?)\*\*/s', '$1', $markdown); + $markdown = preg_replace('/\*(.*?)\*/s', '$1', $markdown); + + // Lists + $markdown = preg_replace('/^\* (.*?)$/m', '
  • $1
  • ', $markdown); + $markdown = preg_replace('/(
  • .*?<\/li>\n)+/s', '', $markdown); + + // Links + $markdown = preg_replace('/\[(.*?)\]\((.*?)\)/s', '$1', $markdown); + + // Paragraphs + $markdown = preg_replace('/^(?!<[a-z]).+$/m', '

    $0

    ', $markdown); + + // Fix multiple paragraph tags + $markdown = str_replace('

    ', '

    ', $markdown); + $markdown = str_replace('

    ', '

    ', $markdown); + + // Fix lists within paragraphs + $markdown = str_replace('

    ', $markdown); + + return $markdown; + } +} + +// Initialize the class +WP_Allstars_About_Manager::init(); diff --git a/admin/includes/class-admin-manager.php b/admin/includes/class-admin-manager.php index 73077e8..4c1a011 100644 --- a/admin/includes/class-admin-manager.php +++ b/admin/includes/class-admin-manager.php @@ -250,6 +250,9 @@ class WP_Allstars_Admin_Manager { + + +
    @@ -287,6 +290,10 @@ class WP_Allstars_Admin_Manager { case 'tools': WP_Allstars_Tools_Manager::display_tab_content(); break; + + case 'about': + WP_Allstars_About_Manager::display_tab_content(); + break; } ?>
    diff --git a/wp-allstars-plugin.php b/wp-allstars-plugin.php index 79c0bb8..76b47b1 100644 --- a/wp-allstars-plugin.php +++ b/wp-allstars-plugin.php @@ -59,12 +59,16 @@ if (is_admin()) { require_once plugin_dir_path(__FILE__) . 'admin/includes/class-pro-plugins-manager.php'; require_once plugin_dir_path(__FILE__) . 'admin/includes/class-plugin-manager.php'; require_once plugin_dir_path(__FILE__) . 'admin/includes/class-free-plugins-manager.php'; + require_once plugin_dir_path(__FILE__) . 'admin/includes/class-about-manager.php'; // Initialize the admin manager add_action('plugins_loaded', array('WP_Allstars_Admin_Manager', 'init')); - // Legacy files (for backward compatibility) + // Data files require_once plugin_dir_path(__FILE__) . 'admin/data/pro-plugins.php'; + require_once plugin_dir_path(__FILE__) . 'admin/data/about.php'; + + // Legacy files (for backward compatibility) require_once plugin_dir_path(__FILE__) . 'admin/settings.php'; }