PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB`# Muhasebe Modülü Dokümantasyonu ## Genel Bakış Bu klasör, muhasebe modülünün tüm dokümantasyonunu içerir. Her modül için ayrı dokümantasyon dosyaları bulunmaktadır. --- ## Dokümantasyon Dosyaları ### 🔐 Session ve Güvenlik Dokümantasyonları 1. **[SESSION_SISTEMI_ANALIZ.md](./SESSION_SISTEMI_ANALIZ.md)** - Mevcut session sisteminin analizi - Güvenlik açıkları ve sorunlar - Modern session yönetimi önerileri - SessionManager sınıfı detayları - Güvenlik iyileştirmeleri öncelik sırası 2. **[SESSION_GUVENLIK_GUNCELLEMELERI.md](./SESSION_GUVENLIK_GUNCELLEMELERI.md)** - Yapılan güvenlik güncellemeleri - SessionManager kullanımı - IP ve User Agent kontrolü - Session fixation koruması - Test edilmesi gerekenler 3. **[SESSION_FIX_LIST.md](./SESSION_FIX_LIST.md)** - Production session kontrolü düzeltme listesi - Düzeltilen dosyalar - Düzeltilmesi gereken dosyalar - Düzeltme pattern'i ### 📋 Modül Dokümantasyonları 1. **[MUSTERI_MODULU.md](./MUSTERI_MODULU.md)** - Müşteri profil sayfası - Müşteri borç listesi - Cari hareket sorgulama - Yapılan düzeltmeler ve optimizasyonlar - URL rewrite sisteminden standart PHP URL'lerine geçiş 2. **[SERVIS_MODULU.md](./SERVIS_MODULU.md)** - Servis detay ve düzenleme - Parça ve hizmet bedeli yönetimi - Servis ekleme - Yapılan düzeltmeler ve önemli notlar - URL rewrite sisteminden standart PHP URL'lerine geçiş 3. **[STOK_MODULU.md](./STOK_MODULU.md)** - Stok kartları - Stok hareketleri - Stok fişleri - Parça modül yönetimi - Undefined array key düzeltmeleri 4. **[KASA_MODULU.md](./KASA_MODULU.md)** - Kasa raporları - Kasa hareketleri - Performance optimizasyonları - Morris.js grafik yapılandırması - number_format() null uyarıları düzeltmeleri 5. **[TEKNISYEN_MODULU.md](./TEKNISYEN_MODULU.md)** - Teknisyene atanan servisler - Teknisyen dashboard'u - Günlük servisler - URL rewrite sisteminden standart PHP URL'lerine geçiş --- ### 🗄️ Veritabanı Dokümantasyonları 6. **[VERITABANI_TABLOLARI.md](./VERITABANI_TABLOLARI.md)** - Tüm veritabanı tabloları - Tablo kullanım durumları - Tablo ilişkileri - Kullanılmayan tablolar listesi - Önemli notlar ve uyarılar - MID vs cariid kullanım farkları 7. **[PHP_SORGULARI.md](./PHP_SORGULARI.md)** - SQL sorgu örnekleri - Sorgu parametreleri - Performance optimizasyon teknikleri - Güvenlik best practices - N+1 query problem çözümleri - mysql_query $baglanti parametresi kullanımı --- ### 🎨 UI/UX Dokümantasyonları 8. **[BOOTSTRAP_GECIS_YOL_HARITASI.md](./BOOTSTRAP_GECIS_YOL_HARITASI.md)** - Bootstrap geçiş planı - Dosya bazlı geçiş stratejisi - Kontrol listeleri - Önceliklendirme sıralaması --- ## Hızlı Başlangıç ### Yeni Bir Özellik Eklerken 1. İlgili modül dokümantasyonunu okuyun 2. `VERITABANI_TABLOLARI.md` dosyasından tablo yapısını kontrol edin 3. `PHP_SORGULARI.md` dosyasından benzer sorgu örneklerine bakın 4. Yapılan değişiklikleri ilgili dokümantasyon dosyasına ekleyin ### Hata Ayıklarken 1. İlgili modül dokümantasyonundaki "Yapılan Düzeltmeler" bölümüne bakın 2. `VERITABANI_TABLOLARI.md` dosyasından tablo yapısını kontrol edin 3. `PHP_SORGULARI.md` dosyasından sorgu örneklerine bakın 4. Benzer hataların çözümlerini inceleyin --- ## Önemli Notlar ### ⚠️ Kritik Uyarılar 1. **personel vs yeni_personel** - `girisler` tablosunda `yeni_personel` kullanılmalı, `personel` değil! - Teknisyen atamaları için `yeni_personel` alanı kontrol edilmelidir 2. **birimmaliyet vs alisfiyati** - `stokkartlari` tablosunda: `birimmaliyet` - `stokfishareketi` tablosunda: `alisfiyati` (birimmaliyet değil!) 3. **fisid Zorunluluğu** - `stokfishareketi.fisid` - NOT NULL - `parcamodul.fisid` - NOT NULL - Manuel eklemeler için `fisid='0'` kullanılmalı 4. **NULL vs Boş String** - `onarimmerkezi` ve `sorumlupersonel` NULL olabilir - Boş string gönderilmemeli, NULL kullanılmalı 5. **MID vs cariid** - `musteriler` tablosunda Primary Key: `ID` - `girisler` tablosunda müşteri ID: `MID` (musteriler.ID ile ilişkili) - `servis` tablosunda müşteri ID: `cariid` (musteriler.ID ile ilişkili) - `carihareket` tablosunda müşteri ID: `cariid` (musteriler.ID ile ilişkili) - **DİKKAT:** `servis` ve `carihareket` tablolarında `cariid` kullanılır, `MID` değil! 6. **URL Rewrite Sistemi** - **ÖNEMLİ:** URL rewrite sistemi tamamen kaldırılmıştır - Tüm linkler standart PHP query string formatına dönüştürülmüştür - `.htaccess` dosyasındaki tüm `RewriteRule` kuralları yorum satırına alınmıştır - Örnek: `Detaylar-123-456-MusteriAdi` → `ServisDuzen.php?GiT=123&G=456&ADI=MusteriAdi` - Örnek: `MUSTERI_PROFILI-123-MusteriAdi` → `Musteri.php?GiT=123` - Örnek: `Listele-2-BEKLEMEDE` → `girisler.php?GD=2&GiT=BEKLEMEDE` 7. **Character Encoding** - Tüm menü başlıklarındaki bozuk karakterler düzeltilmiştir - UTF-8 encoding kullanılmaktadır - Türkçe karakterler doğru şekilde görüntülenmektedir --- ## Son Yapılan Değişiklikler ### 2025-01-14 - Headers Already Sent Düzeltmeleri ✅ - **Sorun:** Production'da "headers already sent" hataları oluşuyordu - **Neden:** Localhost'ta `output_buffering` açık, production'da kapalı - **Çözüm:** - `ayarlar.php` içinde `headers_sent()` kontrolleri eklendi - `date_default_timezone_set()` için `@` operatörü eklendi - `ini_set()` ve `error_log()` çağrıları `headers_sent()` kontrolü ile korundu - `SessionManager.php` yüklemesi `ayarlar.php`'den kaldırıldı (her dosya kendi yüklüyor) - Dosya sonlarındaki boş satırlar temizlendi - **Etkilenen Dosyalar:** - `sistem/ayarlar.php` - `sistem/SessionManager.php` - `sistem/session_helper.php` - `giris/giris_kontrol.php` - `Musteri.php` - `girisler.php` - `Musteriler.php` - `ServisDuzen.php` - `sistem/ServisDuzen.php` ### 2025-01-14 - Undefined Array Key Düzeltmeleri ✅ - **girisler.php:** - `$_GET["GD"]` için `isset()` kontrolü eklendi - Veritabanı sonuçları için `isset()` kontrolleri eklendi - Tüm array erişimleri güvenli hale getirildi - **Musteriler.php:** - `$musterigetir` array erişimleri için `isset()` kontrolleri eklendi - `$row["borc"]`, `$row2["alacak"]` için `isset()` kontrolleri eklendi - Tüm array erişimleri güvenli hale getirildi - **ServisDuzen.php ve sistem/ServisDuzen.php:** - `$_GET`, `$_POST` değerleri için `isset()` kontrolleri eklendi - Veritabanı sonuçları için `isset()` kontrolleri eklendi - Tüm array erişimleri güvenli hale getirildi ### 2025-01-14 - mysql_wrapper.php Güvenlik İyileştirmeleri ✅ - **Sorun:** `mysql_real_escape_string()` fonksiyonunda bağlantı kontrolü eksikti - **Çözüm:** - Bağlantı kontrolü eklendi - Bağlantı yoksa `addslashes()` fallback kullanılıyor - Hata loglanıyor ### 2025-01-14 - servis.ankaservis.com Klasörü Temizliği ✅ - **Sorun:** `servis.ankaservis.com` klasörü ile `muhasebe` klasörü arasında karışıklık vardı - **Çözüm:** - Tüm değişiklikler `muhasebe` klasörüne aktarıldı - `servis.ankaservis.com` klasörü silindi - Artık tüm çalışmalar `muhasebe`, `blok`, `index.php` ve `.htaccess` klasörlerinde ### 2025-01-14 - Session Sistemi Modernizasyonu Tamamlandı ✅ - **SessionManager Entegrasyonu:** Tüm 92 dosyada SessionManager kullanılıyor - **Güvenlik İyileştirmeleri:** - Session fixation koruması - IP/User Agent doğrulama - Session timeout kontrolü - Periyodik session ID yenileme - Güvenli cookie ayarları (HttpOnly, Secure, SameSite) - **Şifre Güvenliği:** - MD5 → password_hash() geçişi tamamlandı - Tüm şifreler bcrypt ile hash'leniyor - Geçiş desteği: Düz metin şifreler otomatik güncelleniyor - **Kod Temizliği:** - Eski session fonksiyonları silindi (`fonksiyon.php`) - Geçici güncelleme scriptleri silindi ### 2025-01-14 - URL Rewrite Sistemi Kaldırıldı ✅ - Tüm URL rewrite kuralları `.htaccess` dosyasından kaldırıldı - Tüm linkler standart PHP query string formatına dönüştürüldü - Menü başlıklarındaki bozuk karakterler düzeltildi - Character encoding sorunları çözüldü ### 2025-01-14 - Menü Başlıkları Düzeltildi ✅ - Tüm menü başlıklarındaki bozuk karakterler temizlendi - İkon karakterleri kaldırıldı - Türkçe karakterler doğru şekilde yazıldı --- ## Dokümantasyon Güncelleme ### Yeni Özellik Eklendiğinde 1. İlgili modül dokümantasyonunu güncelleyin 2. Yeni tablo kullanılıyorsa `VERITABANI_TABLOLARI.md` dosyasına ekleyin 3. Yeni sorgular varsa `PHP_SORGULARI.md` dosyasına ekleyin 4. Bu README.md dosyasındaki "Son Yapılan Değişiklikler" bölümünü güncelleyin ### Hata Düzeltildiğinde 1. İlgili modül dokümantasyonundaki "Yapılan Düzeltmeler" bölümüne ekleyin 2. Çözüm yöntemini detaylı açıklayın 3. Benzer hatalar için örnekler ekleyin 4. Bu README.md dosyasındaki "Son Yapılan Değişiklikler" bölümünü güncelleyin --- ## İletişim ve Destek Dokümantasyon ile ilgili sorularınız veya önerileriniz için: - Dokümantasyon dosyalarını güncelleyin - Yeni örnekler ekleyin - Hata düzeltmelerini dokümante edin --- ## Son Güncelleme **Tarih:** 2025-01-14 **Versiyon:** 3.1 **Son Değişiklikler:** - ✅ Headers already sent hataları düzeltildi (production uyumluluğu) - ✅ Undefined array key düzeltmeleri (girisler.php, Musteriler.php, ServisDuzen.php) - ✅ mysql_wrapper.php güvenlik iyileştirmeleri - ✅ servis.ankaservis.com klasörü temizliği (karışıklık giderildi) - ✅ Session sistemi modernizasyonu tamamlandı (92 dosya) - ✅ Şifre hash'leme sistemi güncellendi (password_hash()) - ✅ Eski kodlar temizlendi - ✅ URL rewrite sistemi kaldırıldı - ✅ Menü başlıkları düzeltildi - ✅ Character encoding sorunları çözüldü - ✅ Tüm dokümantasyon dosyaları güncellendi