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 IDsine ö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ı IDsi)
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 WHMCSin 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.