📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
reelsolusturmascripti.demodesign.com.tr
📝
create-reels.php
← Geri Dön
<?php include ('config.php'); include ('system/inc/sitedata.php'); if (!isset($_SESSION['login'])){ echo " <meta http-equiv='refresh' content='1;URL=login.php'> "; exit(); } if(isset($_GET['icerikstep'])){ $icerikstep = $_GET['icerikstep']; }else{ $icerikstep = 1; } //REFERRER ENGELİ $referer = $_SERVER['HTTP_REFERER']; if ($referer == "") { echo "<script>location='home.php'; </script>"; die; } ?> <!DOCTYPE html> <html lang="en"> <?php include ('system/inc/header.php'); ?> <div class="page-body"> <div id="mobile-only" class="container-fluid" > <div class="page-title"> <div class="row"> <div class="col-12"> <h6> <img src="https://reelscreate.com/system/assets/images/giftools.gif" > <?=$sonDuyuru;?> </h6> </div> </div> </div> </div> <div > <br> </div> <!-- Container-fluid starts--> <div class="container-fluid" > <div class="row widget-grid" > <?php if($icerikstep == 1) { ?> <div class="col-xxl-12 col-xl-12 col-md-12 col-sm-12 notification box-col-6"> <div class="card height-equal"> <div class="card-header card-no-border"> <div class="header-top"> <h5 class="m-0">Reels Üret</h5> </div> </div> <div class="card-body pt-0"> <div class="row"> <div class="col-md-6"> <label> İçeriğinin özeti : </label> <input id="icerikozet" class="form-control" type="text"> </div> <div class="col-md-6"> <label> Kaç Saniyelik : </label> <select id="iceriksure" class="form-control"> <option value="15"> 15 Saniye </option> <option value="30"> 30 Saniye </option> </select> </div> <div class="col-md-12"> <button id="btn-icerik1" class="btn btn-primary" style="width:100%;margin-top:30px"> İlerle</button> </div> </div> </div> </div> </div> <!----SAYFA 1 İÇERİĞİ ---> <?php }elseif($icerikstep == 2){ ?> <!----SAYFA 2 İÇERİĞİ ---> <?php $icerikdataid = $_GET['icerikdataid']; $fonts = array(); $animals = mysqli_query($connect, "SELECT * FROM fontlar ORDER BY id DESC"); foreach ($animals as $animall) { $fonts[] = $animall['fontadi']; } //CHATGPT İŞLEMLERİ $queryVeriKontrol = mysqli_query($connect, "SELECT * FROM icerikler WHERE id = '$icerikdataid'"); $fetchVeriKontrol = mysqli_fetch_array($queryVeriKontrol); $chatgptok = $fetchVeriKontrol['chatgptok']; $gelenprompt = $fetchVeriKontrol['promptsonuc']; $icerikozetX = $fetchVeriKontrol['icerikozet']; $iceriksureX = $fetchVeriKontrol['iceriksure']; $sesok = $fetchVeriKontrol['sesok']; //KELİME HESAPLA if($iceriksureX == "15"){ $toplamKelime = 35; }elseif($iceriksureX == "30"){ $toplamKelime = 70; }else{ $toplamKelime = 140; } if($chatgptok == 1){ $promtyaz = $gelenprompt; }else{ //CHATGPT ÇALIŞTIR // OpenAI API anahtarınızı buraya girin $api_key = ''.$chagptapikey.''; // Göndermek istediğiniz mesaj $message = ''.$icerikozetX.' üzerine tam olarak '.$toplamKelime.' kelimelik bir metin hazırla.'; // API için endpoint URL'si $url = 'https://api.openai.com/v1/chat/completions'; // İstek için hazırlanan veriler $data = [ 'model' => 'gpt-3.5-turbo', 'messages' => [ ['role' => 'system', 'content' => 'Bir sosyal medya danışmanısın.'], ['role' => 'user', 'content' => $message] ] ]; // İstek için gerekli başlıklar $headers = [ 'Content-Type: application/json', 'Authorization: Bearer ' . $api_key ]; // cURL oturumu başlatılır $ch = curl_init($url); // cURL seçenekleri ayarlanır curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); // İstek gerçekleştirilir ve yanıt alınır $response = curl_exec($ch); // cURL oturumu kapatılır curl_close($ch); // Yanıtı decode edip ekrana yazdırma $response_data = json_decode($response, true); $chatGptYanitx = $response_data['choices'][0]['message']['content']; $chatGptYanity = str_replace("'", "", $chatGptYanitx); $chatGptYanit = preg_replace('/\s+/', ' ', $chatGptYanity); //VT GÜNCELLE // Metni boşluklara göre böler ve bir diziye atar $kelimeler = explode(" ", $chatGptYanit); // Dizinin eleman sayısını bulur, yani kelime sayısını verir $kelimeSayisi = count($kelimeler); } ?> <div class="col-md-12"> <div class="card"> <div class="card-body"> <textarea id="gelendonut" rows="5" class="form-control"><?=$chatGptYanit;?></textarea> <span id="kelimeSayisi" class="text-danger">Kelime Sayısı : <?=$kelimeSayisi;?></span>/<span class="text-danger"><?=$toplamKelime;?></span> </div> </div> </div> <?php foreach ($fonts as $font): ?> <style> @font-face { font-family: '<?php echo $font; ?>'; src: url('system/fonts/<?php echo $font; ?>.ttf') format('truetype'); } </style> <?php endforeach; ?> <?php foreach ($fonts as $font): ?> <div class="col-md-4 col-12"> <div class="card"> <div class="card-body"> <p style="font-family: '<?php echo $font; ?>';font-size:20px;float:left"> font : <?php echo $font; ?> </p> <span style="float:right"> <span id="<?php echo $font; ?>" class="badge badge-primary selectfont" style="font-size:15px"><i class="fa fa-check-circle-o"></i></span> </span> </div> </div> </div> <?php endforeach; ?> <!----SAYFA 2 İÇERİĞİ ---> <?php }elseif($icerikstep == 3){ ?> <!----SAYFA 3 İÇERİĞİ ---> <?php $icerikdataid = $_GET['icerikdataid']; //İÇERİK VERİLER $queryVeriKontrolns = mysqli_query($connect, "SELECT * FROM icerikler WHERE id = '$icerikdataid'"); $fetchVeriKontrolns = mysqli_fetch_array($queryVeriKontrolns); $sesok = $fetchVeriKontrolns['sesok']; $donusecekmetin = $fetchVeriKontrolns['promptsonuc']; $icerikozetX = $fetchVeriKontrolns['icerikozet']; $iceriksureFF = $fetchVeriKontrolns['iceriksure']; if($sesok == "0"){ //CHATGPT MP3 DÖNÜŞTÜRME //SEO FONKSİYON function seoFriendlyUrl($str) { // Türkçe karakterleri dönüştürmek $turkce = array('ş', 'Ş', 'ı', 'İ', 'ç', 'Ç', 'ü', 'Ü', 'ö', 'Ö', 'ğ', 'Ğ'); $duzgun = array('s', 'S', 'i', 'I', 'c', 'C', 'u', 'U', 'o', 'O', 'g', 'G'); $str = str_replace($turkce, $duzgun, $str); // Büyük harfleri küçük harfe dönüştürmek $str = strtolower($str); // Geçersiz karakterleri kaldırmak $str = preg_replace('/[^a-z0-9\s-]/', '', $str); // Boşlukları tire ile değiştirmek $str = preg_replace('/[\s-]+/', '-', $str); // Tekrarlayan tireleri tek bir tireye indirmek $str = preg_replace('/-+/', '-', $str); // Başta ve sonda olan tireleri kaldırmak $str = trim($str, '-'); return $str; } $seoUrl = seoFriendlyUrl($icerikozetX); $randido = rand(11111111,99999999); $seoUrl = "$seoUrl-$randido"; // OpenAI API anahtarınızı buraya ekleyin $openai_api_key = "$chagptapikey"; // API çağrısı için gereken verileri ayarlayın $data = array( "model" => "tts-1", "input" => "$donusecekmetin", "voice" => "alloy", "speed" => 1.2 ); // API çağrısını oluşturun $ch = curl_init("https://api.openai.com/v1/audio/speech"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Authorization: Bearer $openai_api_key", "Content-Type: application/json" )); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); // API yanıtını alın $response = curl_exec($ch); curl_close($ch); // Yanıtı ses dosyası olarak kaydedin file_put_contents("sounds/$seoUrl.mp3", $response); $ddd = "$seoUrl.mp3"; $queryMP3 = mysqli_query($connect, "UPDATE icerikler SET sesok = 1 WHERE id = '$icerikdataid'"); $queryMP32 = mysqli_query($connect, "UPDATE icerikler SET sesdosyasi = '$ddd' WHERE id = '$icerikdataid'"); $queryDataUpdateDrmX = mysqli_query($connect, "UPDATE icerikler SET durum = 1 WHERE id = '$icerikdataid'"); } $animals = mysqli_query($connect, "SELECT * FROM videotemps WHERE sure = '$iceriksureFF' ORDER BY id DESC"); foreach ($animals as $animall) { echo ' <div class="col-md-4 col-12"> <div class="card"> <div class="card-body"> <video width="100%" height="240" controls> <source src="system/videos/'.$animall['video'].'" type="video/mp4"> Your browser does not support the video tag. </video> <br> <span id="'.$animall['video'].'" class="badge badge-primary selectvideoxx" style="font-size:15px"><i class="fa fa-check-circle-o"></i> Seç</span> </div> </div> </div> '; } ?> <!----SAYFA 3 İÇERİĞİ ---> <?php }else{ ?> <!----SAYFA 4 İÇERİĞİ ---> <div class="col-md-12"> <?php $icerikdataid = $_GET['icerikid']; ?> <div class="card"> <div class="card-body"> <div id="content"></div> </div> </div> </div> <!----SAYFA 4 İÇERİĞİ ---> <?php } ?> </div> </div> <!-- Container-fluid Ends--> </div> <?php include ('system/inc/footer.php'); ?> <script> var textArea = document.getElementById('gelendonut'); var kelimeSayisi = document.getElementById('kelimeSayisi'); // Metin alanında herhangi bir değişiklik olduğunda kelime sayısını güncelle textArea.addEventListener('input', function() { var metin = this.value.trim(); var words = metin.split(/\s+/).filter(function(word) { return word.length > 0; }); kelimeSayisi.textContent = "Metindeki toplam kelime sayısı: " + words.length; }); </script> <script> <?php if($icerikstep == 2) { ?> $('.selectfont').click(function(){ //kelime hesapla // Textarea içeriğini al var metin = document.getElementById("gelendonut").value; // Metni boşluk karakterlerine göre böl ve filtre ile boş olmayanları al var kelimeler = metin.trim().split(/\s+/).filter(function(kelime) { return kelime.length > 0; }); // Kelime sayısını hesapla var kelimeSayisi = kelimeler.length; //kelime hesapla // Sonucu alert ile göster if(kelimeSayisi > <?=$toplamKelime;?>){ swal("Üzgünüz", "Promt alanındaki düzenlemeleriniz videoya sığacak toplam kelime sayısını aşmakta. Lütfen düzenleyin", "error"); }else{ var id = $(this).attr('id'); var gelendonut = $("#gelendonut").val(); swal({ title: "Onaylıyor musun?", text: "Onayladığın takdirde bu fontu reels için kullanacaksın.", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Hayır", cancelButtonText: "Evet", closeOnConfirm: true, closeOnCancel: false }, function(isConfirm){ if (!isConfirm) { $.ajax({ type:'POST', data: { id: id, gelendonut: gelendonut }, url:'system/ajax/create-step2.php?icerikid=<?=$icerikdataid;?>', success:function(reply) { if (reply == 0) { swal("Mükemmel", "Font seçimini başarıyla yaptın, sıradaki geliyor.", "success"); setTimeout(function(){ location.href = "create-reels.php?icerikstep=3&icerikdataid=<?=$icerikdataid;?>"; },1000); } if (reply == 1) { swal("Başarısız!", "Üzgünüz sistemsel bir sorun meydana geldi.", "error"); } } }) } }); } }) <?php }elseif($icerikstep == 3) { ?> $('.selectvideoxx').click(function(){ idx = $(this).attr('id'); swal({ title: "Onaylıyor musun?", text: "Onayladığın takdirde bu videoyu reels için kullanacaksın.", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Hayır", cancelButtonText: "Evet", closeOnConfirm: true, closeOnCancel: false }, function(isConfirm){ if (!isConfirm) { $.ajax({ type:'POST', data:'idx='+idx, url:'system/ajax/create-step3.php?icerikid=<?=$icerikdataid;?>', success:function(reply) { if (reply == 0) { swal("Mükemmel", "Video seçimini başarıyla yaptın, sıradaki geliyor.", "success"); setTimeout(function(){ location.href = "create-reels.php?icerikstep=4&icerikid=<?=$icerikdataid;?>"; },1000); } if (reply == 1) { swal("Başarısız!", "Üzgünüz sistemsel bir sorun meydana geldi.", "error"); } } }) } }); }) <?php }elseif($icerikstep == 4){ ?> function checkStatus() { // AJAX isteği gönder ve veritabanında durumu kontrol et $.ajax({ url: 'system/ajax/check_status.php?dataid=<?=$icerikdataid;?>', method: 'GET', success: function(response){ $('#content').html(response); } }); } window.onload = function() { checkStatus(); }; function checkStatusNew() { // AJAX isteği gönder ve veritabanında durumu kontrol et $.ajax({ url: 'system/ajax/durumKontrol.php?dataid=<?=$icerikdataid;?>', method: 'GET', success: function(responseNew){ if(responseNew == 2){ swal("Harika", "Videon başarıyla oluşturuldu ve indirildi.", "success"); setTimeout(function(){ location.href = "uretilen-reels.php"; }, 2000); } } }); } // checkStatusNew fonksiyonunu her 1 saniyede bir çalıştır setInterval(checkStatusNew, 1000); <?php } ?> </script> </body> </html>
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula