📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv12.demodesign.com.tr
/
panel
/
inc
📝
xml-aktar.php
← Geri Dön
<?php set_time_limit(1500); function resimGet($url) { $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_USERAGENT => "spider", CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); curl_setopt($ch, CURLOPT_POST, 0); $header = array( 'Content-Type: image/*' ); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); $result = curl_exec($ch); return $result; } if ( $_POST ) { function xml_clean($t) { $t = str_replace("<", "", $t); $t = str_replace(">", "", $t); $t = str_replace(" ", "", $t); $t = trim(dbtrim($t)); return $t; } $url = xml_clean(post('url')); $urun = xml_clean(post('urun')); $baslik = xml_clean(post('baslik')); $stok = xml_clean(post('stok')); $marka = xml_clean(post('marka')); $fiyat = xml_clean(post('fiyat')); $kdv = xml_clean(post('kdv')); $aciklama = xml_clean(post('aciklama')); $img = xml_clean(post('img')); $kategori = xml_clean(post('kategori')); preg_match_all('/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))/', $url, $link_array); $links = implode('', $link_array[0]); if ( !empty($link_array[0]) ) { $urls = $links; $link = substr($urls, 0, 1000); $ctrl = true; } else { $ctrl = false; } if ( $ctrl == true ) { $xml = simplexml_load_file($link); if ( count($xml->$urun) != 0 ) { foreach ( $xml->$urun as $data ) { $query = $db->prepare("SELECT count(id) FROM urun WHERE baslik LIKE '%{$data->$baslik}%'"); $query->execute(); $kontrol = $query->fetchColumn(); if ( $kontrol == 0 ) { $kdv = $data->$kdv; $markaID = 0; $query = $db->query("SELECT * FROM marka", PDO::FETCH_ASSOC); if($query->rowCount()){ foreach( $query as $row ){ if(!empty($data->$marka)) { if($data->$marka == $row['baslik']){ $markaID = $row['id']; } } } } if ( $markaID == 0 ) { $islem = $db->prepare("INSERT INTO marka SET baslik = ?, img = ?"); $islem = $islem->execute( array( $data->$marka, 'bos-logo.png') ); $markaID = $db->lastInsertId(); } $islem = $db->prepare("INSERT INTO urun SET baslik = ?, sef = ?, kisa_aciklama = ?, stok_kodu = ?, stok = ?, marka_id = ?, eski_fiyat = ?, fiyat = ?, kdv = ?, kargo_fiyati = ?, aciklama = ?, barkod = ?, hediye_urun_id = ?"); $islem = $islem->execute( array( $data->$baslik, '', $data->$baslik, create_randString(13), (int)$data->$stok, (int)$markaID, '', $data->$fiyat, (int)$kdv, 0, $data->$aciklama, '', 0) ); $urunID = $db->lastInsertId(); $catID = 0; $query = $db->query("SELECT * FROM kategori", PDO::FETCH_ASSOC); if($query->rowCount()){ foreach( $query as $row ){ if(!empty($data->$kategori)) { if($data->$kategori == $row['baslik']){ $catID = $row['id']; $islem = $db->prepare("INSERT INTO urun_kategori SET urun_id = ?, kategori_id = ?"); $islem = $islem->execute(array($urunID,$row['id'])); } } } } if ( $catID == 0 ) { $islem = $db->prepare("INSERT INTO kategori SET baslik = ?, sef = ?, ust_kategori = ?, ust_menu = ?, alt_menu = ?, aciklama = ?, kisa_aciklama = ?, sira = ?"); $islem = $islem->execute( array( $data->$kategori, sef($data->$kategori), 0, 0, 0, '<div><br></div>', '', 99999) ); $kategoriID = $db->lastInsertId(); $islem = $db->prepare("INSERT INTO urun_kategori SET urun_id = ?, kategori_id = ?"); $islem = $islem->execute( array( $urunID, $kategoriID) ); } if ( strpos($img, ',') !== false ) { $images = explode(",",$img); foreach ( $images as $pic ) { $picture = xml_clean($data->$pic); if ( !empty($picture) ) { $parts = parse_url($picture); $extension = pathinfo($parts['path'], PATHINFO_EXTENSION); $fileName = md5( date('his') . create_randString(13) ).".".$extension; $path = '../upload/'; $touch = $path . $fileName; touch($touch); $al = resimGet($picture); $kaydet = file_put_contents($touch,$al); $islem = $db->prepare("INSERT INTO urun_img SET urun_id = ?, img = ?"); $islem = $islem->execute(array($urunID,$fileName)); } } } else { if ( !empty($data->$img) ) { $parts = parse_url($data->$img); $extension = pathinfo($parts['path'], PATHINFO_EXTENSION); $fileName = md5( date('his') . create_randString(13) ).".".$extension; $path = '../upload/'; $touch = $path . $fileName; touch($touch); $al = resimGet($data->$img); $kaydet = file_put_contents($touch,$al); $islem = $db->prepare("INSERT INTO urun_img SET urun_id = ?, img = ?"); $islem = $islem->execute(array($urunID,$fileName)); } } $sef = sef($data->$baslik).'-'.$urunID; $islem = $db->prepare("UPDATE urun SET sef = ? WHERE id = ?"); $islem = $islem->execute(array($sef,$urunID)); } } if ( !empty($islem) ) { echo '<script type="text/javascript">$(function(){ notif({ msg: "<b>Başarılı:</b> Xml linkinde olan tüm ürünler başarıyla eklendi!", type: "success" }); });</script>'; } else { echo '<script type="text/javascript">$(function(){ notif({ msg: "<b>Hata:</b> İşlem sırasında bir hata ile karşılaştık.<br>Lütfen tekrar deneyiniz!", type: "error" }); });</script>'; } } else { echo '<script type="text/javascript">$(function(){ notif({ msg: "<b>Hata:</b> Xml belgesinde ürünlerin döndüğü etiket ismini yanlış girdiniz.<br>Lütfen tekrar deneyiniz!", type: "error" }); });</script>'; } } else { echo '<script type="text/javascript">$(function(){ notif({ msg: "<b>Hata:</b> Geçersiz XML adresi.<br>Lütfen tekrar deneyiniz!", type: "error" }); });</script>'; } } ?> <style type="text/css"> .labelS { position: relative; top: 10px; font-weight: bold; } .aBilgi { margin-top: 3px !important; padding: 5px 10px !important; font-size: 12px !important; margin-bottom: 0px !important; } </style> <div class="row"> <div class="col-md-3"></div> <div class="col-md-6"> <div class="breadcrumb-header justify-content-between"> <div class="my-auto"> <div class="d-flex"> <h4 class="content-title mb-0 my-auto">Xml Aktar</h4><span class="text-muted mt-1 tx-13 ml-2 mb-0">/ Xml ile ürün ekle</span> </div> </div> </div> <div class="card"> <div class="card-body"> <form action="" method="post"> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Xml Url</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="url" placeholder="https://www." required="" autocomplete="off" value="<?php echo post('url'); ?>"> <div class="alert alert-info aBilgi">Xml belgesinin Url'si..</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Ağaç Etiketi</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="urun" placeholder="<Urun>" required="" autocomplete="off" value="<?php echo post('urun'); ?>"> <div class="alert alert-info aBilgi">Xml belgesinde ürünlerin döndüğü etiket ismi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Başlık</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="baslik" placeholder="<urun_ad>" required="" autocomplete="off" value="<?php echo post('baslik'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün başlığı etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Stok</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="stok" placeholder="<urun_stok>" required="" autocomplete="off" value="<?php echo post('stok'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün stok etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Marka</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="marka" placeholder="<urun_marka_ad>" required="" autocomplete="off" value="<?php echo post('marka'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün marka etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Fiyat</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="fiyat" placeholder="<urun_fiyat>" required="" autocomplete="off" value="<?php echo post('fiyat'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün fiyat etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Kdv</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="kdv" placeholder="<urun_kdv>" required="" autocomplete="off" value="<?php echo post('kdv'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün kdv etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Açıklama</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="aciklama" placeholder="<urun_aciklama>" required="" autocomplete="off" value="<?php echo post('aciklama'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün açıklama etiketi</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Ürün Resimleri</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="img" placeholder="<urun_resim1>,<urun_resim2>,<urun_resim3>" required="" autocomplete="off" value="<?php echo post('img'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün resimleri etiketi. Birden fazla etiket girecekseniz eğer, boşluk kullanmadan lütfen her etiketin arasında virgül (,) kullanın.</div> </div> </div> <div class="form-group row"> <label class="col-md-3 form-label"><span class="labelS">Kategori</span></label> <div class="col-md-9"> <input type="text" class="form-control" name="kategori" placeholder="<urun_kategori_ad>" required="" autocomplete="off" value="<?php echo post('kategori'); ?>"> <div class="alert alert-info aBilgi">Xml belgesindeki ürün kategori etiketi</div> </div> </div> <div class="form-group row"> <div class="col-md-12"><center><button type="submit" class="btn btn-success">Ürünleri Çek</button></center></div> </div> </form> </div> </div> </div> </div>
💾 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