GÜNCE 4.9 — STÜDYO / TAM CPANEL PAKETİ NEREDEN AÇILIR? https://sarumedya.info/gunce Diğer alan adlarında https://siteadi.com/gunce şeklinde kullanılır. Adresin /gunce/ olması normaldir. index.php yazmanız gerekmez. BU SÜRÜMDE EKLENENLER Üst menüde Stüdyo düğmesi bulunur. Beş bölüm aynı çalışma alanındadır: 1. Raporlar: toplam plan, paylaşım oranı, geciken iş, iptal sayısı; durum, marka, kategori ve içerik türü dağılımları; aylık tablo ve CSV raporu. Seçili filtredeki tüm eşleşmeler hesaplanır. İptaller paylaşım oranının paydasından çıkarılır. Aylık dağılım planın başlangıç ayını kullanır. Sosyal medya erişimi, takipçi veya izlenme verisi değildir. 2. Gelişmiş arama: tarih, marka/müşteri, kategori, tür, birden fazla durum, öncelik, favori ve gecikme filtresi; başlık, not, paylaşım metni ve iptal açıklamasında Türkçe arama. Aramaları isimle kaydetme, arşivleme, geri getirme; sayfalama ve tüm eşleşmeleri CSV indirme. 3. Hashtagler: marka/kategori grupları, tekrarları temizleme, kopyalama, paylaşım metnine ekleme. Öneriler kendi gruplarından gelir. Yanındaki sayı bu hashtag'i not/metin içinde kullanan silinmemiş plan sayısıdır; gerçek sosyal ağ popülerliği veya trend takibi değildir. 4. Şablonlar: başlık, marka, kategori, tür, hazırlık süresi, metin, not ve kontrol listesi. Kullan düğmesi düzenlenebilir yeni plan açar; Kaydet'e basılmadan kayıt oluşmaz. Üç başlangıç şablonu dahildir. Plan tarihini değiştirirsen hazırlık tarihini de kontrol et. Kontrol listesi mevcut Odak Odası bölümünden işaretlenir. Şablonlar arşivlenip geri getirilebilir. 5. Bildirimler: panel içi hatırlatmalar, ortak okundu durumu, günlük özet önizlemesi, e-posta/web push/SMS ayarları ve gönderim geçmişi. Dış kanallar varsayılan olarak kapalıdır. Kurulum için aşağıya bakın. İçerik düzenleme formuna Marka / Müşteri ve Paylaşım metni alanları eklendi. Hashtag ekle kısayolu aynı formdadır. Haftalık döngüler, pazartesi/cuma planları, YouTube kategorisi, iş panosu, üst menü, kayan ana sayfa özetleri, iptal açıklamaları, güvenlik paneli ve temiz giriş adresleri korunur. Stüdyo ekranı mevcut marka renklerini ve aydınlık/karanlık temayı kullanır. MEVCUT CPANEL KURULUMUNU GÜNCELLEME 1. Önce mevcut dosyaların ve TAM veritabanının yedeğini alın. 2. ZIP içindeki gunce klasörünün İÇERİĞİNİ mevcut public_html/gunce içine birleştirin; aynı isimli uygulama dosyalarının üzerine yazın. gunce/gunce gibi iç içe klasör oluşturmayın. Mevcut klasörü silmeyin veya taşımayın. 3. Sunucudaki config.php dosyasını ve web kökü DIŞINDAKİ veri klasörünü koruyun. Pakette config.php yoktur: canlı ayarların üzerine yazılmaz. config.example.php'yi mevcut kurulumda config.php olarak değiştirmeyin. 4. .htaccess ve push/ dahil tüm paket dosyalarını yükleyin. cPanel'de gizli dosyaları göster seçeneğini açmanız gerekebilir. 5. /gunce adresini açın ve Ctrl+F5 yapın. İlk istekte gerekli tablolar ve boş marka alanı eklenir; mevcut planlar yeniden oluşturulmaz. Ayarlar → Giriş ve Sistem Kontrolü bölümünü kontrol edin. Üst menüde Stüdyo görünür. 6. Stüdyo → Raporlar'da güncel ayı, Arama'da kendi kayıtlarınızı doğrulayın. Bildirim kanallarını, sağlayıcı kurulumu bitene kadar kapalı bırakın. ÖNEMLİ VERİ NOTU Gönderilen kaynak ZIP'te canlı veritabanı bulunmuyordu. Bu paket bütün uygulama dosyalarını içerir; sunucudaki kişisel kayıtların kopyasını içermez. Mevcut config.php ve veri klasörü korununca mevcut kayıtlar kullanılmaya devam eder. Kurulumun fiziksel yolunu değiştirmeyin: data_dir boşsa veri klasörü uygulamanın fiziksel yoluna bağlıdır. Taşınması zorunluysa önce config.php'deki data_dir'i gerçekten kullanılan eski veri klasörünün tam sunucu yoluna sabitleyin. Boş kurulum açılırsa yeni hesap oluşturmadan önce veri klasörü ve config.php eşleşmesini kontrol edin. YEDEKLEME - Ayarlar → Yedek İndir: planlar, tarihler, marka, durum, not, paylaşım metni, kontrol listeleri ve iptal açıklamaları. Mevcut JSON biçimi korunur. - Stüdyo → Şablonlar veya Hashtagler → Stüdyo yedeği: şablonlar, hashtag grupları ve kayıtlı aramalar (arşivdekiler dahil). Ayrı JSON dosyasıdır. - Her iki içe aktarma da mevcut kimliklerin üzerine yazmaz; eksikleri ekler. - Otomatik plan yedekleri veri klasöründeki backups/ içinde, stüdyo yedekleri studio-backups/ içinde son 7 gün tutulur. Stüdyo otomatik dosyası cPanel'den indirildikten sonra Stüdyo yedeğini yükle ile içeri alınabilir. - Marka şema güncellemesinden önce backups/before-v49.json plan yedeği alınır. - JSON dışa aktarımları TAM sistem yedeği değildir. Döngü kuralları, kullanıcı ayarları, bildirim ayarları/API anahtarı, geçmiş ve diğer tablolar için tam veritabanı + veri klasörü + config.php yedeği gerekir. API anahtarı hiçbir tarayıcı yanıtına veya indirilebilir JSON yedeğine konmaz. BİLDİRİM KURULUMU (İSTEĞE BAĞLI) Panel içi bildirimler ek servis olmadan çalışır. Paylaşılmış/iptal edilmiş planlar çıkarılır. Hazırlık tarihi veya plan tarihi seçilen gün aralığına giren aktif işler gösterilir; geciken işler de listede kalır. İlk 300 hatırlatma gösterilir. Okundu bilgisi tüm çalışma alanı için ortaktır. Dış bildirimler için: 1. OneSignal hesabında uygulama oluşturun. Web push için doğru HTTPS alan adını ve Custom Code Setup yöntemini seçin. Varsayılan site adresini https://ALANADINIZ/gunce/ yapın. Otomatik izin istemeyi kapalı bırakın. 2. E-posta kullanacaksanız OneSignal'da gönderici alan adı/adresi doğrulayın. SMS için desteklenen gönderici numarası ve sağlayıcı hesabını yapılandırın. SMS ülkesi/numarası ve servis ücretleri hesabınıza bağlıdır. 3. Stüdyo → Bildirimler → Kanallar ve gönderim ayarları: App ID ve App API Key, alıcı/gönderici adreslerini girin. Anahtar şifre alanında saklanır, geri gösterilmez. Boş bırakmak mevcut anahtarı korur; kaldırmak ayrı seçenektir. 4. Günlük saati (Europe/Istanbul), hatırlatma gün sayısını ve sessiz saatleri seçin. Etkinleştirmek istediğiniz kanalları ve gönderim onayını işaretleyip kaydedin. Başlangıç: 09.00, üç gün önceden, 22.00–08.00 sessiz. 5. Push için aynı ekranda Bu cihazda push aç'a basıp tarayıcı izni verin. SDK ancak bu düğmeyle yüklenir. Diğer cihazlarda da ayrı izin gerekir. Push izni HTTPS ve desteklenen tarayıcı gerektirir. iOS/iPadOS'ta uygun sürümde ana ekrana eklenmiş web uygulamasından izin vermek gerekebilir. İşletim sistemi bildirim ayarları teslimi engelleyebilir. App ID değişirse kayıtlı cihazlar sıfırlanır; sayfayı yenileyip yeniden açın. 6. cPanel Cron Jobs'ta 15 dakikada bir çalıştırın (örnek): */15 * * * * /usr/local/bin/php /home/HESAP/public_html/gunce/cron-notifications.php /home/HESAP/public_html PHP ve klasör yollarını hosting hesabınızdaki gerçek yollarla değiştirin. PHP CLI sürümü web uygulamasıyla aynı olmalı; cURL ve kullanılan PDO uzantıları etkin olmalı. Servise HTTPS çıkışı açık olmalıdır. 7. Göndermeden kontrol için aynı komutun sonuna --dry-run ekleyin. Bu kip kanal ve özet bilgisi gösterir; servis isteği veya gönderim kuyruğu yazmaz. Davranış: uygun saatte her etkin kanala günde tek özet; başarılı kabul edilmiş özet tekrar gönderilmez. Başarısızlıkta en az 15 dakika arayla en fazla üç deneme, aynı idempotency anahtarı kullanılır. Sessiz saatler ve sistem kilidi sırasında gönderim yapılmaz. Ertesi güne kalan eski kuyruk süresi doldu olarak işaretlenir. Ayar/cihaz değişikliği bekleyen denemeleri iptal eder; o gün yeni bir özet çoğaltılmaz. Bir sonraki gün yeni ayarlar kullanılır. Servis kabul etti durumu teslim edildi anlamına gelmez; teslim bilgisi sağlayıcı panelinde izlenir. Okundu işaretlemek günlük özeti engellemez; işi paylaşılmış veya iptal olarak kapatmak listeden çıkarır. E-posta/push özetinde en fazla sekiz planın başlığı/tarihi/markası paylaşılır; SMS yalnızca sayıları içerir. Not ve tam paylaşım metni gönderilmez. MEVCUT YEDEK / DÖNGÜ ZAMANLAMASI Panel kullanılmadığı günlerde de yedek ve döngü üretimi için mevcut görev: 15 2 * * * /usr/local/bin/php /home/HESAP/public_html/gunce/cron-backup.php /home/HESAP/public_html Daha önce ayarlandıysa ikinci kez eklemeyin. Bildirim görevi bundan ayrıdır. SIFIRDAN KURULUM (YALNIZCA YENİ SİTE) config.example.php'yi config.php olarak kopyalayın, installation_key için uzun ve benzersiz değer belirleyin. PHP 8.1+ kullanın. SQLite için pdo_sqlite; MySQL için pdo_mysql ve cPanel'de oluşturulmuş veritabanı bilgileri gerekir. Veri klasörü web kökü dışında ve PHP tarafından yazılabilir olmalıdır. HTTPS ile /gunce açın, kurulum kodu ve en az 10 bayt şifreyle kurun. Eski install-wizard.php/auto-setup yardımcıları ayar yazamaz; ana sayfaya yönlendirilir. Yeni kurulumun örnek anahtarını herkese açık bırakmayın. DOĞRULAMA VE SINIRLAR PHP 8.3/SQLite ile eski sürümden geçiş, 358 örnek kaydın tamamının korunması, marka kaydı, Türkçe arama, rapor hesapları, hashtag tekilleştirme, şablon ve filtre işlemleri, eşzamanlı düzenleme koruması, arşiv/geri getirme, yedek içe aktarma, bildirim ayarlarının doğrulanması, anahtar gizleme, günlük gönderim tekilleştirme ve gecikmeli tekrar denemeler test edildi. Dış servise gerçek mesaj gönderilmedi; gönderim katmanı kontrollü test taşıyıcısıyla sınandı. PHP/JS sözdizimi ve DOM ekran etkileşimleri kontrol edildi. Bu ortamda gerçek tarayıcı görüntü testi, Apache/cPanel ve MySQL üzerinde çalışma testi yapılamadı. Canlı sarumedya.info sunucusuna yükleme yapılmadı. Büyük aramalarda 20.000 aday sınırı vardır; daha fazlasında filtreyi daraltın. SAĞLAYICI TEKNİK KAYNAKLARI https://documentation.onesignal.com/reference/create-message https://documentation.onesignal.com/reference/push-notification https://documentation.onesignal.com/reference/email https://documentation.onesignal.com/reference/sms https://documentation.onesignal.com/docs/en/web-sdk-setup https://documentation.onesignal.com/docs/en/web-sdk-reference