import os
import shutil
from datetime import datetime

def generate_sitemap(domain, keywords, base_folder):
    # Mendapatkan tanggal saat ini dalam format yang diinginkan
    date = datetime.now().strftime('%Y-%m-%d')

    # Membuat sitemap dalam bentuk string
    sitemap = '<?xml version="1.0" encoding="UTF-8"?>\n'
    sitemap += '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n'

    for kw in keywords:
        # Membersihkan keyword
        kw_clean = kw.strip('/')
        
        # Memastikan domain berakhiran garis miring
        if not domain.endswith('/'):
            domain += '/'
            
        # Membuat URL untuk setiap kata kunci (diakhiri / karena merupakan folder)
        url = f'  <url>\n'
        url += f'    <loc>{domain}{kw_clean}/</loc>\n'
        url += f'    <lastmod>{date}</lastmod>\n'
        url += f'  </url>\n'
        sitemap += url

    sitemap += '</urlset>'

    # Menyimpan sitemap ke dalam file sitemap.xml di folder UTAMA (root dari hasil generate)
    sitemap_file_path = os.path.join(base_folder, 'sitemap.xml')
    with open(sitemap_file_path, 'w', encoding='utf-8') as f:
        f.write(sitemap)

def main():
    # 1. Mendapatkan daftar kata kunci dari file kw.txt
    if not os.path.exists('kw.txt'):
        print("Peringatan: File 'kw.txt' tidak ditemukan! Harap buat file kw.txt terlebih dahulu.")
        return
        
    with open('kw.txt', 'r', encoding='utf-8') as f:
        keywords = [line.strip() for line in f if line.strip()]

    if not keywords:
        print("Peringatan: File 'kw.txt' kosong!")
        return

    # 2. Mengisi variabel dengan nilai yang diminta
    tagline = input("Masukkan tagline: ").strip()
    amp = input("Masukkan amp: ").strip()
    deskripsi = input("Masukkan deskripsi: ").strip()
    banner = input("Masukkan banner: ").strip()
    linklogin = input("Masukkan linklogin: ").strip()
    favicon = input("Masukkan link Favicon: ").strip()
    logo = input("Masukkan link Logo Header: ").strip()
    nama_seo = input("Masukkan Nama Tim SEO: ").strip()

    # 3. Membaca isi file page.php
    page_php_content = ""
    if os.path.exists('page.php'):
        with open('page.php', 'r', encoding='utf-8') as page_file:
            page_php_content = page_file.read()
    else:
        print("Peringatan: File 'page.php' tidak ditemukan. Isi file akan kosong.")

    # 4. Meminta direktori utama penyimpanan file
    print("\n--- PENGATURAN PENYIMPANAN ---")
    print("Contoh: jika ingin diakses domain.com/promo/keyword1, ketik: promo")
    base_folder = input("Simpan semua folder & sitemap di folder (tekan enter jika di folder saat ini): ").strip()
    
    if not base_folder:
        base_folder = "." # Menyimpan di direktori saat ini

    if not os.path.exists(base_folder):
        os.makedirs(base_folder, exist_ok=True)

    # 5. MEMBUAT BANYAK FOLDER & INDEX.PHP BERDASARKAN kw.txt
    print(f"\nMulai membuat {len(keywords)} folder...")
    for kw in keywords:
        kw_clean = kw.strip('/')
        folder_path = os.path.join(base_folder, kw_clean)
        
        # Membuat folder untuk kata kunci
        os.makedirs(folder_path, exist_ok=True)
        
        # MENGUBAH KATA KUNCI MENJADI JUDUL (Ganti strip jadi spasi, jadikan huruf besar)
        judul_halaman = kw_clean.replace('-', ' ').upper()
        
        # Menyusun isi index.php khusus untuk keyword ini
        php_code_index = f"""<?php
$judul = '{judul_halaman}';
$tagline = '{tagline}';
$tagline = strtoupper($tagline);
$currentHost = $_SERVER['HTTP_HOST'];
$currentUri = $_SERVER['REQUEST_URI'];
$currentUrl = 'https://' . $currentHost . $currentUri;
$amp = '{amp}';
$deskripsi = '{deskripsi}';
$banner = '{banner}';
$linklogin = '{linklogin}';
$favicon = '{favicon}';
$logo = '{logo}';
$nama_seo = '{nama_seo}';
?>
""" + page_php_content

        # Menulis index.php ke dalam folder keyword tersebut
        index_file_path = os.path.join(folder_path, 'index.php')
        with open(index_file_path, 'w', encoding='utf-8') as index_file:
            index_file.write(php_code_index)
            
    print("Semua folder & file index.php berhasil dibuat!")

    # 6. Meminta domain dan mengeksekusi sitemap
    print("\n--- PENGATURAN SITEMAP ---")
    # Jika folder base-nya "promo", masukkan: https://domainanda.com/promo/
    domain = input("Masukkan URL Domain lengkap dengan folder path (contoh: https://domainanda.com/promo/): ").strip()
    
    generate_sitemap(domain, keywords, base_folder)
    print("Sitemap generated successfully.")

if __name__ == "__main__":
    main()