Selamlar free chatgpt kullanarak basit bir şekilde istediğini yapabilirsin.

örnek görsel:





Prompt:

“Bir WHMCS modülü oluştur. Bu modül, yöneticiye belirli bir müşteriye özel PDF fatura yükleme imkanı sağlamalı ve müşteri panelinde bu faturaları indirebileceği bir arayüz sunmalıdır.

Özellikler:

Admin Paneli (Yönetici Arayüzü)
• Yönetici, belirli bir müşteri ID’sine özel PDF fatura yükleyebilmeli.
• Yüklenen faturalar modules/addons/custominvoices/uploads/ klasörüne kaydedilmeli.
• Yüklenen faturalar, SQL veritabanında mod_custom_invoices tablosunda saklanmalı.
• Yönetici, daha önce yüklenen faturaları listeleyebilmeli ve silebilmeli.

Müşteri Paneli (Client Area)
• Kullanıcı giriş yaptığında, kendisine atanmış PDF faturaları listeleyebilmeli.
• Her fatura için “İndir” butonu bulunmalı ve dosyayı doğrudan indirebilmeli.
• Müşteri yalnızca kendisine ait faturaları görebilmeli.

Veritabanı Yapısı
• mod_custom_invoices tablosu şu sütunlara sahip olmalı:
• id (INT, Auto Increment, Primary Key)
• userid (INT, müşterinin WHMCS kullanıcı ID’si)
• file_path (VARCHAR, dosya yolu)
• upload_date (TIMESTAMP, faturanın yüklendiği tarih)

Güvenlik ve Yetkilendirme
• Kullanıcılar yalnızca kendilerine ait faturaları görüntüleyebilmeli.
• Yönetici, yalnızca admin panelinde fatura yükleyebilmeli ve silebilmeli.
• Dosya yolları doğrudan erişilebilir olmamalı, dosyalar secure_download.php üzerinden çağrılmalı.

Modül Yapısı
• Admin paneli: modules/addons/custominvoices/admin.php
• Müşteri paneli: modules/addons/custominvoices/clientarea.php
• Veritabanı yönetimi: modules/addons/custominvoices/custominvoices.php
• Güvenli dosya indirme: modules/addons/custominvoices/secure_download.php

Bu modülü PHP ve WHMCS’in ORM yapısını kullanarak kodla. Bootstrap 5 ile basit ama şık bir UI tasarla. Müşteri panelindeki fatura listesini tablolar halinde göster. Dosya yükleme işlemi sırasında yalnızca .pdf uzantısına izin ver ve maksimum dosya boyutunu 5MB ile sınırla.”