#!/bin/bash
# filepath: /home/gpdcomau/setup-wordpress-theme.sh

# Set variables
THEME_NAME="glennpowlesdesign"
THEME_PATH="/var/www/html/wp-content/themes/$THEME_NAME"
BACKUP_PATH="/home/gpdcomau/backup"

# Create necessary directories
echo "Creating theme directories..."
mkdir -p "$THEME_PATH"/{css,js,images,template-parts,inc}

# Create theme files
echo "Creating theme files..."

# Create style.css
cat > "$THEME_PATH/style.css" << 'EOF'
/*
Theme Name: Glenn Powles Design
Theme URI: https://glennpowlesdesign.com.au
Description: Custom WordPress theme for Glenn Powles Design
Version: 1.0
Author: Glenn Powles
*/
EOF

# Create functions.php
cat > "$THEME_PATH/functions.php" << 'EOF'
<?php
require_once get_template_directory() . '/inc/theme-setup.php';
require_once get_template_directory() . '/inc/enqueue-scripts.php';
require_once get_template_directory() . '/inc/custom-post-types.php';
EOF

# Create theme setup file
cat > "$THEME_PATH/inc/theme-setup.php" << 'EOF'
<?php
function glennpowles_setup() {
    add_theme_support('title-tag');
    add_theme_support('post-thumbnails');
    add_theme_support('custom-logo');
    
    register_nav_menus(array(
        'primary' => 'Primary Menu',
        'footer' => 'Footer Menu'
    ));
}
add_action('after_setup_theme', 'glennpowles_setup');
EOF

# Create script enqueuing file
cat > "$THEME_PATH/inc/enqueue-scripts.php" << 'EOF'
<?php
function glennpowles_scripts() {
    wp_enqueue_style('glennpowles-style', get_stylesheet_uri());
    wp_enqueue_style('fancybox', get_template_directory_uri() . '/css/jquery.fancybox.min.css');
    
    wp_enqueue_script('jquery');
    wp_enqueue_script('jquery-cycle', get_template_directory_uri() . '/js/jquery.cycle.all.min.js', array('jquery'), null, true);
    wp_enqueue_script('fancybox', get_template_directory_uri() . '/js/jquery.fancybox.min.js', array('jquery'), null, true);
    wp_enqueue_script('common', get_template_directory_uri() . '/js/common.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'glennpowles_scripts');
EOF

# Create custom post types file
cat > "$THEME_PATH/inc/custom-post-types.php" << 'EOF'
<?php
function glennpowles_custom_post_types() {
    register_post_type('portfolio', array(
        'labels' => array(
            'name' => 'Portfolio',
            'singular_name' => 'Portfolio Item'
        ),
        'public' => true,
        'has_archive' => true,
        'supports' => array('title', 'editor', 'thumbnail'),
        'rewrite' => array('slug' => 'portfolio'),
    ));
}
add_action('init', 'glennpowles_custom_post_types');
EOF

# Create header.php
cat > "$THEME_PATH/header.php" << 'EOF'
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo('charset'); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
    <header>
        <div class="header-container">
            <?php the_custom_logo(); ?>
            <nav class="main-navigation">
                <?php wp_nav_menu(array('theme_location' => 'primary')); ?>
            </nav>
        </div>
    </header>
EOF

# Create index.php
cat > "$THEME_PATH/index.php" << 'EOF'
<?php get_header(); ?>
<main id="main-content">
    <div class="container">
        <?php if(have_posts()): while(have_posts()): the_post(); ?>
            <?php get_template_part('template-parts/content', get_post_format()); ?>
        <?php endwhile; endif; ?>
    </div>
</main>
<?php get_footer(); ?>
EOF

# Create footer.php
cat > "$THEME_PATH/footer.php" << 'EOF'
    <footer>
        <div class="footer-container">
            <?php wp_nav_menu(array('theme_location' => 'footer')); ?>
        </div>
    </footer>
    <?php wp_footer(); ?>
</body>
</html>
EOF

# Copy assets from old site
echo "Copying assets from old site..."
cp -r /home/gpdcomau/glennpowlesdesign.com.au/images/* "$THEME_PATH/images/"
cp -r /home/gpdcomau/glennpowlesdesign.com.au/css/* "$THEME_PATH/css/"
cp -r /home/gpdcomau/glennpowlesdesign.com.au/javascript/* "$THEME_PATH/js/"

# Set permissions
echo "Setting permissions..."
find "$THEME_PATH" -type f -exec chmod 644 {} \;
find "$THEME_PATH" -type d -exec chmod 755 {} \;

# Create .htaccess
cat > "/var/www/html/.htaccess" << 'EOF'
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

# Security Headers
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
EOF

echo "Theme setup complete! Please:"
echo "1. Activate the theme in WordPress admin"
echo "2. Import content using WordPress importer"
echo "3. Set up menus and widgets"
echo "4. Configure homepage settings"

# Make the script executable
chmod +x setup-wordpress-theme.sh

