Browse Source

Manual category sync

Mathieu Moulin 1 year ago
parent
commit
854368702e
2 changed files with 50 additions and 1 deletions
  1. 49 0
      src/manual/category.inc.php
  2. 1 1
      web/manual.php

+ 49 - 0
src/manual/category.inc.php

@@ -0,0 +1,49 @@
+<?php
+
+$sql = 'SELECT p.id_product, pl.name, GROUP_CONCAT(pa.id_product_attribute SEPARATOR ",") id_product_attributes, cl.id_category, cl.name name_category, cl2.id_category id_category2, cl2.name name_category2, cl3.id_category id_category3, cl3.name name_category3
+	FROM `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product` p
+	INNER JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product_lang` pl
+		ON pl.id_product=p.id_product AND pl.id_lang=1
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product_attribute` pa
+		ON pa.id_product=p.id_product
+	INNER JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category` c
+		ON c.id_category=p.id_category_default
+	INNER JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category_lang` cl
+		ON cl.id_category=c.id_category AND cl.id_lang=1
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category` c2
+		ON c2.id_category=c.id_parent AND c.id_parent NOT IN (1, 2)
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category_lang` cl2
+		ON cl2.id_category=c2.id_category AND cl2.id_lang=1
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category` c3
+		ON c3.id_category=c2.id_parent AND c2.id_parent NOT IN (1, 2)
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'category_lang` cl3
+		ON cl3.id_category=c3.id_category AND cl3.id_lang=1
+	GROUP BY p.id_product';
+$q = DB::o_select($sql);
+$l = [];
+while($row=$q->fetch_assoc()) {
+	//var_dump($row);
+	$l[$row['id_product']] = $row;
+}
+
+
+$sql = 'SELECT p.id_product, pl.name, d_p.label
+	FROM `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product` p
+	INNER JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product_lang` pl
+		ON pl.id_product=p.id_product AND pl.id_lang=1
+	LEFT JOIN `'.DB_P_BASE.'`.`'.DB_P_PREFIX.'product_attribute` pa
+		ON pa.id_product=p.id_product
+	LEFT JOIN `'.DB_BASE.'`._objects_p o_p
+		ON o_p.oid=p.id_product AND o_p.tid=1
+	LEFT JOIN `'.DB_BASE.'`._objects_d o_d
+		ON o_d.id=o_p.id
+	LEFT JOIN `'.DB_D_BASE.'`.`'.DB_D_PREFIX.'product` d_p
+		ON d_p.rowid=o_d.oid
+	WHERE pa.id_product IS NULL';
+echo $sql;
+$q = DB::o_select($sql);
+while($row=$q->fetch_assoc()) {
+	var_dump($row);
+	//$l[$row['id_product']] = $row;
+}
+

+ 1 - 1
web/manual.php

@@ -3,5 +3,5 @@
 require_once "bootstrap.inc.php";
 
 $inc_context = 'manual';
-$inc_options = ['supplier', 'product', 'product_lot', 'supplier_price', 'customer', 'address', 'order', 'invoice'];
+$inc_options = ['supplier', 'product', 'product_lot', 'supplier_price', 'customer', 'address', 'order', 'invoice', 'category'];
 require_once "context_include.inc.php";