<?php
class ControllerModuleSkyhubAssociation extends Controller {

  public function product_actions(){

    $json = array();

    if(isset($this->request->post['product_ids'])){
      $product_ids = $this->request->post['product_ids'];
    }else{
      $json['error']['warning'] = 'Nenhum produto selecionado.';
    }

    if(isset($this->request->post['type'])){
      $type = $this->request->post['type'];
    }else{
      $json['error']['warning'] = 'Tipo de ação não especificada.';
    }

    if(!$json){

      $hasvinculo = $this->db->query('SELECT mp.product_key_id, mp.marketId FROM oc_marketplace_product mp WHERE mp.product_key_id IN ('.$product_ids.') AND mp.tipo_integracao = '.Type_MarketPlace::Tp_SkyHub)->rows;

      if($hasvinculo){

        $data = array(
          'skus' => array_column($hasvinculo, 'marketId'),
          'sale_system' => 'B2W',
          'type' => $type
        );

        $skyhub = new SkyHub($this->registry);
        $result = $skyhub->productActions($data);
        if($result){
          $this->session->data['success'] = 'Produtos associados com sucesso';
        }

        foreach (explode(',', $product_ids) as $product_id){
          if(!in_array($product_id, array_column($hasvinculo, 'product_key_id'))){
            $this->session->data['mkt_error'][$product_id] = 'Este produto não possui vinculo com o skyhub';
          }
        }
      }

    }

    $json['redirect'] = $this->request->post['redirect'];

    $this->response->setOutputJson($json);

  }


}