Skip to content

Instantly share code, notes, and snippets.

@ozinal
Created July 9, 2013 09:06
Show Gist options
  • Save ozinal/5955859 to your computer and use it in GitHub Desktop.
Save ozinal/5955859 to your computer and use it in GitHub Desktop.
<?php
if(!defined('BASEPATH')) { header('Location: http://'. getenv('SERVER_NAME') .'/'); }
/**
* @package
* @author
**/
class xml extends Public_Controller {
/*
* ####
* file_put_contents("Tmpfile.zip", file_get_contents("http://someurl/file.zip"));
*
* ####
* $file = 'http://www.domain.com/somefile.jpg';
* $file_headers = @get_headers($file);
* if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
* $exists = false;
* }
* else {
* $exists = true;
* }
*
* ### curl solution
* function url_exists($url) {
* if (!$fp = curl_init($url)) return false;
* return true;
* }
*/
public function index()
{
// define('database_hostname', 'localhost');
// define('database_username', 'xxx_user');
// define('database_password', 'xxx');
// define('database_database', 'xxx_db');
// // Create connection
// $con = mysqli_connect(database_hostname,database_username,database_password,database_database);
// // Check connection
// if (mysqli_connect_errno($con))
// {
// echo "Failed to connect to MySQL: " . mysqli_connect_error();
// exit;
// }
### curl solution
function url_exists($url) {
$headers = @get_headers($url);
if(strpos($headers[0],'200')===false)
{
return FALSE;
} else {
return TRUE;
}
}
$xml = simplexml_load_file('urunler.xml');
echo $xml->getName() . "<br>";
foreach($xml->children() as $child)
{
echo $child->getName() . "-> ".$child->urun_aktif->getName()." -> " . $child->urun_aktif . "<br>";
echo $child->getName() . "-> ".$child->urun_kod->getName()." -> " . $child->urun_kod . "<br>";
echo $child->getName() . "-> ".$child->urun_ad->getName()." -> " . $child->urun_ad . "<br>";
echo $child->getName() . "-> ".$child->urun_ust_kategori_kod->getName()." -> " . $child->urun_ust_kategori_kod . "<br>";
echo $child->getName() . "-> ".$child->urun_ust_kategori_ad->getName()." -> " . $child->urun_ust_kategori_ad . "<br>";
echo $child->getName() . "-> ".$child->urun_kategori_kod->getName()." -> " . $child->urun_kategori_kod . "<br>";
echo $child->getName() . "-> ".$child->urun_kategori_ad->getName()." -> " . $child->urun_kategori_ad . "<br>";
echo $child->getName() . "-> ".$child->urun_marka_kod->getName()." -> " . $child->urun_marka_kod . "<br>";
echo $child->getName() . "-> ".$child->urun_marka_ad->getName()." -> " . $child->urun_marka_ad . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik1_baslik->getName()." -> " . $child->urun_ozellik1_baslik . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik1_detay->getName()." -> " . $child->urun_ozellik1_detay . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik2_baslik->getName()." -> " . $child->urun_ozellik2_baslik . "<br>"; # renk
echo $child->getName() . "-> ".$child->urun_ozellik2_detay->getName()." -> " . $child->urun_ozellik2_detay . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik3_baslik->getName()." -> " . $child->urun_ozellik3_baslik . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik3_detay->getName()." -> " . $child->urun_ozellik3_detay . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik4_baslik->getName()." -> " . $child->urun_ozellik4_baslik . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik4_detay->getName()." -> " . $child->urun_ozellik4_detay . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik5_baslik->getName()." -> " . $child->urun_ozellik5_baslik . "<br>";
echo $child->getName() . "-> ".$child->urun_ozellik5_detay->getName()." -> " . $child->urun_ozellik5_detay. "<br>";
echo $child->getName() . "-> ".$child->urun_tanim->getName()." -> " . $child->urun_tanim. "<br>";
echo $child->getName() . "-> ".$child->urun_aciklama->getName()." -> " . $child->urun_aciklama. "<br>";
echo $child->getName() . "-> ".$child->urun_resim1->getName()." -> " . $child->urun_resim1. "<br>";
echo $child->getName() . "-> ".$child->urun_resim2->getName()." -> " . $child->urun_resim2. "<br>";
echo $child->getName() . "-> ".$child->urun_resim3->getName()." -> " . $child->urun_resim3. "<br>";
echo $child->getName() . "-> ".$child->urun_fiyat->getName()." -> " . $child->urun_fiyat. "<br>";
echo $child->getName() . "-> ".$child->urun_fiyat_TL->getName()." -> " . $child->urun_fiyat_TL. "<br>";
echo $child->getName() . "-> ".$child->urun_fiyat_son_kullanici->getName()." -> " . $child->urun_fiyat_son_kullanici. "<br>";
echo $child->getName() . "-> ".$child->urun_fiyat_bayi_ozel->getName()." -> " . $child->urun_fiyat_bayi_ozel. "<br>";
echo $child->getName() . "-> ".$child->urun_doviz->getName()." -> " . $child->urun_doviz. "<br>";
echo $child->getName() . "-> ".$child->urun_kdv->getName()." -> " . $child->urun_kdv. "<br>";
echo $child->getName() . "-> ".$child->urun_stok->getName()." -> " . $child->urun_stok. "<br>";
echo $child->getName() . "-> ".$child->urun_garanti->getName()." -> " . $child->urun_garanti. "<br>";
$nexttime = mktime(23, 24, 0, 11, 3, 2020);
#$features = explode(' ', $child->urun_ozellik1_detay);
$features = preg_split('/\s+/', $child->urun_ozellik1_detay);
$imgdir1 = 'data/'.end(explode("/", $child->urun_resim1));
$imgdir2 = 'data/'.end(explode("/", $child->urun_resim2));
$imgdir3 = 'data/'.end(explode("/", $child->urun_resim3));
# proccess
for ($i=1; $i <= 3; $i++) {
if($i == 1) { $imgurl = $child->urun_resim1; }
if($i == 2) { $imgurl = $child->urun_resim2; }
if($i == 3) { $imgurl = $child->urun_resim3; }
if(url_exists($imgurl))
{
$newfilename = 'data/'.end(explode("/", $imgurl));
if(!file_exists($newfilename)) {
file_put_contents($newfilename, file_get_contents($imgurl));
}
}
}
# check brand
$qbrand = $this->db->get_where('manufacturer',array('name' => "$child->urun_marka_ad"));
if($qbrand->num_rows())
{
$manufacturer_id = $qbrand->row()->manufacturer_id;
} else {
$brandall = array(
'name' => "$child->urun_marka_ad",
'image' => NULL,
'meta_description' => strtolower($child->urun_marka_ad),
'meta_keywords' => strtolower($child->urun_marka_ad),
'description' => strtolower($child->urun_marka_ad),
'seo' => strtolower($child->urun_marka_ad),
'status' => 1,
'sort_order' => 2,
'date_added' => date('Y-m-d H:i:s'),
'date_modified' => date('Y-m-d H:i:s')
);
$brandproccess = $this->db->insert('manufacturer',$brandall);
if(!$brandproccess)
{
die('something happened wrong! during manufacturer');
}
$manufacturer_id = $this->db->insert_id();
}
# check cat
$qcategory = $this->db->get_where('category_description',array('name' => "$child->urun_kategori_ad"));
if($qcategory->num_rows())
{
$category_id = $qcategory->row()->category_id;
} else {
$categoryall = array(
'name' => "$child->urun_marka_ad",
'image' => NULL,
'meta_description' => strtolower($child->urun_marka_ad),
'meta_keywords' => strtolower($child->urun_marka_ad),
'description' => strtolower($child->urun_marka_ad),
'seo' => strtolower($child->urun_marka_ad),
'status' => 1,
'sort_order' => 2,
'date_added' => date('Y-m-d H:i:s'),
'date_modified' => date('Y-m-d H:i:s')
);
$brandproccess = $this->db->insert('manufacturer',$brandall);
if(!$brandproccess)
{
die('something happened wrong! during manufacturer');
}
$manufacturer_id = $this->db->insert_id();
}
#### CAT ID is standard = 193;
$cat_id = 193;
# to table
$nrows = $this->db->get_where('product', array('model' => $child->urun_kod));
$alldata = array(
'model' => $child->urun_kod,
'quantity' => $child->urun_stok,
'stock_status_id' => 0,
'image' => $imgdir1,
'manufacturer_id' => $manufacturer_id,
'price' => $cat_id->urun_fiyat,
'price_type' => 1, # 1st TRY
'stock_type' => NULL, # Standard 12 in db
'tax' => substr($child->urun_kdv, -2),
'date_available' => $nexttime,
'status' => 0,
'show_homepage' => 0,
'new_product' => 0,
'feature_status' => 0,
'cargo_required' => 0,
'cargo_multiply_required' => 0,
'date_added' => time(),
'date_modified' => time(),
'viewed' => 0,
'color_id' => 0,
'sort_order' => 0,
'minimum' => 1,
'cost' => '0.0000',
'length' => '0.00',
'width' => '0.00',
'height' => '0.00',
'length_class_id' => 0,
'weight' => '0.00',
'weight_class_id' => 0,
'subtract' => 1
);
if($nrows->num_rows())
{
#$this->db->update('product',$alldata);
#$this->db->get_where('product_to_category',array('product_id' => $nrows->row()->product_id,'category_id' => $cat_id));
} else {
$product_id = $this->db->insert('product',$alldata);
$cat_check = $this->db->get_where('product_to_category',array('product_id' => $product_id,'category_id' => $cat_id));
if(!$cat_check->num_rows())
{
$this->db->insert('product_to_category',array('product_id' => $product_id,'category_id' => $cat_id));
}
# other images
for ($s=2; $s <=3 ; $s++) {
if($s == 2) { $sub_img = $imgdir2; }
if($s == 2) { $sub_img = $imgdir3; }
$this->db->insert('product_image',array('product_id' => $product_id, 'image' => $sub_img));
}
# add options to product
foreach ($features as $val) {
# for relationship of product
$option_n = substr($val, 0, strpos($val, '|'));
$check_sub = $this->db->get_where('option_value_description',array('name' => $option_n));
if($check_sub->num_rows())
{
$option_id = $check_sub->row()->option_id;
}
$p_option_data = array(
'product_id' => $product_id,
'option_id' => $option_id,
'option_value' => 'non',
'required' => 1,
'character_limit' => 0
);
$this->db->insert('product_option',$p_option_data);
}
}
echo "<br/><br/>";
exit;
} # foreach
} # index
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment