meraproject/module/shop/item/controller.php

106 lines
3.5 KiB
PHP
Raw Normal View History

<?
namespace controller\shop\item;
use common\Gallery;
use common\gallery\Slide;
use ms\ms\structure\msTo;
use shop\core\structure\shopControllerTable;
use shop\Item;
use shop\category\Item as CategoryItem;
use shop\item\Growth;
use shop\item\Value as ItemValue;
use shop\item\price\Component as PriceComponent;
use common\Review;
class Api extends shopControllerTable {
static $class = 'shop\Item';
static function download(){
$r = Item::select([
\Query::WHERE => new \Where(\Where::_and([
\Where::_operator(Item::$ACCOUNT,'=',UID),
]))
]);
echo '<pre>';
echo var_dump($r);
echo '</pre>';
}
static function copy(){
$res = ['id'=>0];
if(IF_AUTH){
if($C = Item::isMy($_POST['id'])){
$ID = $C[Item::$ID];
unset($C[Item::$ID]);
unset($C[Item::$GALLERY]);
$C[Item::$TEXT_ID] = $C[Item::$TEXT_ID].'_copy';
$r = Item::uadd($C);
$NEW_ID = $r['id'];
$NEW_C = Item::getByID($NEW_ID);
$res['id']=$NEW_ID;
// Копируем сам товар,
// Категории
$r = CategoryItem::select([ \Query::WHERE => new \Where(\Where::_operator(CategoryItem::$ITEM,'=',$ID)) ]);
while($l = \DB::fetch($r)){
unset($l[CategoryItem::$ID]);
$l[CategoryItem::$ITEM] = $NEW_ID;
CategoryItem::insert($l);
}
// фото
$r = Slide::select([ \Query::WHERE => new \Where(\Where::_operator(Slide::$GALLERY,'=',$C[Item::$GALLERY])) ]);
while($l = \DB::fetch($r)){
unset($l[Slide::$ID]);
$l[Slide::$GALLERY] = $NEW_C[Item::$GALLERY];
Slide::insert($l);
}
// Свойства
$r = ItemValue::select([ \Query::WHERE => new \Where(\Where::_operator(ItemValue::$ITEM,'=',$ID)) ]);
while($l = \DB::fetch($r)){
unset($l[ItemValue::$ID]);
$l[ItemValue::$ITEM] = $NEW_ID;
ItemValue::insert($l);
}
// Отзывы
$r = Review::select([ \Query::WHERE => new \Where(\Where::_and([
\Where::_operator(Review::$TO,'=',msTo::ITEM),
\Where::_operator(Review::$OID,'=',$ID),
])) ]);
while($l = \DB::fetch($r)){
unset($l[Review::$ID]);
$l[Review::$OID] = $NEW_ID;
Review::insert($l);
}
// Предложения компонента
$r = PriceComponent::select([ \Query::WHERE => new \Where(\Where::_operator(PriceComponent::$ITEM,'=',$ID)) ]);
while($l = \DB::fetch($r)){
unset($l[PriceComponent::$ID]);
$l[PriceComponent::$ITEM] = $NEW_ID;
PriceComponent::insert($l);
}
// Ростовые цены
$r = Growth::select([ \Query::WHERE => new \Where(\Where::_operator(Growth::$ITEM,'=',$ID)) ]);
while($l = \DB::fetch($r)){
unset($l[Growth::$ID]);
$l[Growth::$ITEM] = $NEW_ID;
Growth::insert($l);
}
}
}
echo je($res);
}
}