--- /dev/null
+<?php
+
+namespace app\controllers;
+
+use yii\web\Controller;
+
+class ProductsController extends Controller
+{
+ public function actionProducts1c() { return $this->render('products-1c'); }
+ public function actionAjaxProductProvider() { return $this->renderPartial('ajax-product-provider'); }
+ public function actionAjaxGroupConfig() { return $this->renderPartial('ajax-group-config'); }
+ public function actionAjaxProductsInGroup() { return $this->renderPartial('ajax-products-in-group'); }
+ public function actionAjaxClassGroup() { return $this->renderPartial('ajax-class-group'); }
+ public function actionAjaxClassGroupRemove() { return $this->renderPartial('ajax-class-group-remove'); }
+ public function actionAjaxAddProduct() { return $this->renderPartial('ajax-add-product'); }
+ public function actionAjaxRemoveProduct() { return $this->renderPartial('ajax-remove-product'); }
+ public function actionAjaxRemoveExport() { return $this->renderPartial('ajax-remove-export'); }
+ public function actionAjaxProductProviderAdd() { return $this->renderPartial('ajax-product-provider-add'); }
+}
\ No newline at end of file
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-if(!empty($_REQUEST["id"])) {
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
+if(!empty($_REQUEST["id"])) {
$id=htmlentities($_REQUEST["id"]);
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
+<?php
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
if(!empty($_REQUEST["parent_id"])) {
$parent_id=htmlentities($_REQUEST["parent_id"]);
try {
-include_once("inc/db2.php");
$insert="INSERT INTO info_items_table_shop_0 (id_1c, cat_items_id, data, title, price) VALUES (?,'$cat_items_id',NOW(),?,?)";
-$db2::sql($insert,[$id,$name,$price]);
-$entity_id=$db2->lastInsertId();
+$db::sql($insert,[$id,$name,$price]);
+$entity_id=$db->lastInsertId();
$insert="INSERT INTO export_import_table (export_id, entity, export_val, entity_id) VALUES ('1','products',?,?)";
-$db2::sql($insert,[$id,$entity_id]);
+$db::sql($insert,[$id,$entity_id]);
} catch (Exception $e) {
echo $e->getMessage();
}
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
if(!empty($_REQUEST["parent_id"])) {
$parent_id=htmlentities($_REQUEST["parent_id"]);
$tip=htmlentities($_REQUEST["tip"]);
if(empty($tip)) $tip="wrap";
- $db::sql("INSERT IGNORE INTO products_class (category_id, tip) VALUES(?,?)",[$parent_id,$tip]);
+ $db::sql("INSERT INTO products_class (category_id, tip) VALUES(?,?) ON CONFLICT (category_id) DO UPDATE SET tip=?",[$parent_id,$tip,$tip]);
echo'ok';
}
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
if(!empty($_REQUEST["id"]) and !empty($_REQUEST["tip"])) {
$id=htmlentities($_REQUEST["id"]);
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
if(!empty($_REQUEST["id"])) {
$id=htmlentities($_REQUEST["id"]);
$q = "SELECT * FROM products_class WHERE category_id=?";
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-if(!empty($_REQUEST["id"])) {
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
+if(!empty($_REQUEST["id"])) {
$id=htmlentities($_REQUEST["id"]);
$data0 = $db::getRows("SELECT * FROM shipment_providers");
-$productColorsArray=explode(";",$data["colors"]);
+$productColorsArray=explode(";",$data["colors"] ?? '');
$productGroups=array("1"=>"Голландия/Израиль", 2=>"Кения", 3=>"Эквадор/Коллубмия", 4 => "Россия", 5 => "Горшечка", 6 => "Сопутка", 7 => "Фейерверки", 10 => "Матрица");
echo'<div class="col-6 text-right">Поставщик</div>
<div class="col-6"><select class="form-control" id=provider_id name=provider_id>';
foreach($providers as $idv =>$name) {
- echo"<option value=".$idv.""; if($data['provider_id']==$idv) echo" selected"; echo">".$name."</option>";
+ echo"<option value=".$idv.""; if(($data['provider_id'] ??'')==$idv) echo" selected"; echo">".$name."</option>";
}
echo"<option value=dell ";
- if($data['provider_id']=="dell") echo" selected";
+ if(($data['provider_id']??'')=="dell") echo" selected";
echo">удалить поставщика</option></select></div>";
echo'<div class="col-6 text-right">Группа</div>
<div class="col-6"><select class="form-control" id=group_id name=group_id><option value=0 '; if(empty($data['group_id'])) echo" selected"; echo'>-без группы-</option>';
foreach($productGroups as $idv =>$name) {
- echo"<option value=".$idv.""; if($data['group_id']==$idv) echo" selected"; echo">".$name."</option>";
+ echo"<option value=".$idv.""; if(($data['group_id']??'')==$idv) echo" selected"; echo">".$name."</option>";
}
echo"</select></div>";
echo'
-<div class="col-6 text-right">срок хранения в днях</div><div class="col-6"> <input type=number style="width:70px;" name=expiration_days id=expiration_days class="form-control" value="'. $data['expiration_days'] .'"></div>
+<div class="col-6 text-right">срок хранения в днях</div><div class="col-6"> <input type=number style="width:70px;" name=expiration_days id=expiration_days class="form-control" value="'. ($data['expiration_days']??'') .'"></div>
<div class="col-6 text-right">минимальный лот деления в шт. (кол-во шт в месте)
-</div><div class="col-6"> <input type=number style="width:70px;" name=min_lot id=min_lot class="form-control" value="'. $data['min_lot'] .'"></div>
-<div class="col-6 text-right">минимальный заказ в шт.</div><div class="col-6"> <input type=number style="width:70px;" name=min_order id=min_order class="form-control" value="'. $data['min_order'] .'"></div>
-<div class="col-6 text-right">Цена закупки в долл. или евро (зависит от поставщика) пример 1.25</div><div class="col-6"> <input type=number style="width:70px;" name=price_zakup id=price_zakup class="form-control" value="'. $data['price_zakup'] .'"></div>
-<div class="col-12">Цвета разделитель ;<textarea row=2 name=colors id=colors class="form-control">'. $data['colors'] .'</textarea></div>
-<div class="col-12">Опции <textarea row=2 name=options id=options class="form-control">'. $data['options'] .'</textarea></div>
+</div><div class="col-6"> <input type=number style="width:70px;" name=min_lot id=min_lot class="form-control" value="'. ($data['min_lot']??'') .'"></div>
+<div class="col-6 text-right">минимальный заказ в шт.</div><div class="col-6"> <input type=number style="width:70px;" name=min_order id=min_order class="form-control" value="'. ($data['min_order']??'') .'"></div>
+<div class="col-6 text-right">Цена закупки в долл. или евро (зависит от поставщика) пример 1.25</div><div class="col-6"> <input type=number style="width:70px;" name=price_zakup id=price_zakup class="form-control" value="'. ($data['price_zakup']??'') .'"></div>
+<div class="col-12">Цвета разделитель ;<textarea row=2 name=colors id=colors class="form-control">'. ($data['colors']??'') .'</textarea></div>
+<div class="col-12">Опции <textarea row=2 name=options id=options class="form-control">'. ($data['options']??'') .'</textarea></div>
<div class="col-12">
function save_providerder(){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_product_provider_add/',
+ url: '/products/ajax-product-provider-add/',
method: 'post',
dataType: 'html',
data: {id: '<?=$id?>', provider_id: $('#provider_id').val(),
options: $('#options').val(), expiration_days: $('#expiration_days').val(),
- min_lot: $('#min_lot').val(), colors: $('#colors').val(), min_order: $('#min_order').val(), price_zakup: $('#price_zakup').val(), group_id: $('#group_id').val() , main: $('#main').val() , view: $('#view').val() },
+ min_lot: $('#min_lot').val(), colors: $('#colors').val(), min_order: $('#min_order').val(), price_zakup: $('#price_zakup').val(), group_id: $('#group_id').val() , main: $('#main').val() , view: $('#view').val(), [param3]:token3 },
success: function(data){
$('#result_prov').html(data);
}});
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-if(!empty($_REQUEST["id"])) {
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
+if(!empty($_REQUEST["id"])) {
$id=htmlentities($_REQUEST["id"]);
$options=htmlentities($_REQUEST["options"]);
$provider_id=htmlentities($_REQUEST["provider_id"]);
$db::sql("UPDATE products_1c SET view=? WHERE id=? LIMIT 1",[$view,$id]);
- $db::sql("INSERT INTO products_1c_options (id, options, provider_id, expiration_days,min_lot,colors,price_zakup,min_order,group_id,main)
- VALUES (?, ?, ?, ?,?,?,?,?,?, ?) ON DUPLICATE KEY UPDATE options=?, provider_id=?, expiration_days=?, min_lot=?, colors=?, price_zakup=?, min_order=?, group_id=?, main=? ",
- [$id, $options, $provider_id , $expiration_days, $min_lot, $colors, $price_zakup, $min_order, $group_id, $main, $options, $provider_id, $expiration_days, $min_lot, $colors, $price_zakup, $min_order, $group_id, $main ]);
+ $sql = "INSERT INTO products_1c_options (id, options, provider_id, expiration_days,min_lot,colors,price_zakup,min_order,group_id,main)
+ VALUES (?, ?, ?, ?,?,?,?,?,?, ?) ON CONFLICT (id) DO UPDATE SET options=?, provider_id=?, expiration_days=?, min_lot=?, colors=?, price_zakup=?, min_order=?, group_id=?, main=? ";
+ $db::sql($sql,
+ [$id, $options, $provider_id , $expiration_days, $min_lot, $colors, $price_zakup, $min_order, $group_id, $main, $options, $provider_id, $expiration_days, $min_lot, $colors, $price_zakup, $min_order, $group_id, $main ]);
echo"ok";
}
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/db2.php");
-include_once("inc/base_new.php");
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
if(!empty($_REQUEST["parent_id"])) { $parent_id=htmlentities($_REQUEST["parent_id"]);
$q = "SELECT p.id, p.name, e.entity_id, p.view FROM products_1c as p LEFT JOIN export_import_table as e ON e.export_id='1' AND e.entity='products' AND e.export_val=p.id WHERE p.tip='products' AND p.parent_id=? order by p.name ASC";
-$data0=$db::getRows("SELECT product_id,color,name FROM products_varieties WHERE 1 order by posit desc");
+$data0=$db::getRows("SELECT product_id,color,name FROM products_varieties WHERE 1 = 1 order by posit desc");
foreach($data0 as $row){
$products_varieties[$row["product_id"]][$row["color"]][]=$row["name"];
}
//echo count($data2); echo"шт ";
- echo'<div id="provider_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_product_provider(\''.$row['id'].'\'); " >+ поставщика '.$providers[$row['id']].'</div>';
+ echo'<div id="provider_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_product_provider(\''.$row['id'].'\'); " >+ поставщика '.($providers[$row['id']]??'').'</div>';
if(!empty($colorsProducts[$row["id"]])) {
$s=0;
if(!empty($prices[$row['id']]) and empty($row["entity_id"]))
echo'<div id="diver_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_add_product(\''.$row['id'].'\',\''.$parent_id.'\',\''.$row['name'].'\',\''.$prices[$row['id']].'\'); " >внести цена '.$prices[$row['id']].'</div>';
else {
- echo'<div id="diver_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_add_product(\''.$row['id'].'\',\''.$parent_id.'\',\''.$row['name'].'\',\''.$prices[$row['id']].'\'); " >внести цена '.$prices[$row['id']].'</div>';
+ echo'<div id="diver_'.$row['id'].'" class="btn btn-sm btn-warning" onclick="ajax_add_product(\''.$row['id'].'\',\''.$parent_id.'\',\''.$row['name'].'\',\''.($prices[$row['id']]??'').'\'); " >внести цена '.($prices[$row['id']]??'').'</div>';
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-if(!empty($_REQUEST["id"])) {
+<?php
+
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+
+if(!empty($_REQUEST["id"])) {
$id=htmlentities($_REQUEST["id"]);
-<?
-include_once ("startup.php");
-include_once("inc/db.php");
-include_once("inc/base_new.php");
-include_once("inc/design_new.php");
+<?php
-include"templates/top.php";
+include_once(dirname(__DIR__, 2) . "/startup.php");
+include_once(dirname(__DIR__, 2) . "/inc/db.php");
+include_once(dirname(__DIR__, 2) . "/inc/base_new.php");
+include_once(dirname(__DIR__, 2) . "/inc/design_new.php");
// if(is_array($cats) and isset($cats[$parent_id])){
$tree = '<ul style="margin-left:30px;" class="">';
if($only_parent==false){
- foreach($cats[$parent_id] as $cat){
+ foreach($cats[$parent_id] ?? [] as $cat){
$tree .= '<li class="grup"><table class="m-0 table table-hover"><tbody>';
$tree .= '<tr id="tr_'.$cat['id'].'"><td><span class="btn btn-info btn-sm me-2" onclick="if(!document.getElementById(\'trr_'.$cat['id'].'\')) ajax_products_in_group(\''.$cat['id'].'\'); $(\'#trr_'.$cat['id'].'\').toggle();">+</span>
<b>'.$cat['name'].'</b><span class="dd'.$cat['id'].'">';
- foreach($products_class_row[$cat['id']] as $kk => $tipi) {
+ foreach($products_class_row[$cat['id']] ?? [] as $kk => $tipi) {
$tree .= ' <span class="tag m-1 tag-info">'.$products_class[$tipi].' </span> ';
}
function ajax_product_provider(id){
jQuery('#modal-7').modal('show', {backdrop: 'static'}); $('#modal-7 .modal-title').text('Поставщики');
-
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_product_provider/',
+ url: '/products/ajax-product-provider/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+''},
+ data: {id: ''+id+'', [param3]:token3},
success: function(data){
$('#modal-7 .modal-body').html(data);
}});
function ajax_group_config(id){
jQuery('#modal-7').modal('show', {backdrop: 'static'}); $('#modal-7 .modal-title').text('Настрока категории');
-
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_group_config/',
+ url: '/products/ajax-group-config/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+''},
+ data: {id: ''+id+'', [param3]:token3},
success: function(data){
$('#modal-7 .modal-body').html(data);
}});
function ajax_products_in_group(parent_id){
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_products_in_group/',
+ url: '/products/ajax-products-in-group/',
method: 'post',
dataType: 'html',
- data: {parent_id: ''+parent_id+''},
+ data: {parent_id: ''+parent_id+'', [param3]:token3},
success: function(data){
$('#tr_'+parent_id+'').after('<tr id=\"trr_'+parent_id+'\"><td colspan=2>'+data+'</td></tr>');
}
function ajax_class_group(parent_id, tip){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_class_group/',
+ url: '/products/ajax-class-group/',
method: 'post',
dataType: 'html',
- data: {parent_id: ''+parent_id+'',tip: ''+tip+''},
+ data: {parent_id: ''+parent_id+'',tip: ''+tip+'', [param3]:token3},
success: function(data){
$('.dd'+parent_id+''+tip+'').html(data);
function ajax_class_group_remove(id, tip){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_class_group_remove/',
+ url: '/products/ajax-class-group-remove/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+'', tip: ''+tip+''},
+ data: {id: ''+id+'', tip: ''+tip+'', [param3]:token3},
success: function(data){
$('.dd'+id+''+tip+'').html(data);
}});
function ajax_add_product(id,parent_id,name,price){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_add_product/',
+ url: '/products/ajax-add-product/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+'', name: ''+name+'',parent_id: ''+parent_id+'',price: ''+price+''},
+ data: {id: ''+id+'', name: ''+name+'',parent_id: ''+parent_id+'',price: ''+price+'', [param3]:token3},
success: function(data){
$('#diver_'+id+'').html(data);
}});
}
function ajax_remove_product(id){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajax_remove_product/',
+ url: '/products/ajax-remove-product/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+''},
+ data: {id: ''+id+'', [param3]:token3},
success: function(data){
$('#diver_'+id+'').html(data);
function ajaxRemoveExport(id){
+
+const param3 = $('meta[name=csrf-param]').attr('content');
+const token3 = $('meta[name=csrf-token]').attr('content');
+
$.ajax({
- url: '/products/ajaxRemoveExport/',
+ url: '/products/ajax-remove-export/',
method: 'post',
dataType: 'html',
- data: {id: ''+id+''},
+ data: {id: ''+id+'', [param3]:token3},
success: function(data){
$('#diver2_'+id+'').html(data);
</div>
</div>
-';
-
+';
+
-include"templates/bottom.php";
\ No newline at end of file
+include_once dirname(__DIR__, 2) . '/templates/bottom_light.php';
\ No newline at end of file
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_add_product.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_class_group_remove.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_class_group.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_group_config.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_product_provider_add.php';
\ No newline at end of file
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_product_provider.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_products_in_group.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajaxRemoveExport.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/ajax_remove_product.php';
--- /dev/null
+<?php
+
+chdir(__DIR__ . '/../../');
+
+include 'modul/products/products_1c.php';
\ No newline at end of file