require __DIR__ . '/Category.php';
require __DIR__ . '/CsvWriter.php';
require __DIR__ . '/LanguageMapper.php';
$options = getopt(null, ["language:"]);
if (empty($options)) {
    // fallback
    $options["language"] = "de";
}
$skippedProducts = 0;
$mapper = new LanguageMapper($options["language"]);
$feedFilename = sprintf("%s/Mey_%s_%s.csv", "/opt/productexport", $mapper->getLabel(), date("Y-m-d_H-m-s"));
$start = microtime(true);
$data = [];
$brokenProducts = [];
$gc = gc_enabled();
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load($mapper->getStoreId()));
$taxCalc = new TaxCalculation(Mage);
$open = count($products);
$dataWritten = false;
$writer = new CsvWriter($feedFilename);
$productIds = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('type_id', array('eq' => 'configurable'))->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED))->getAllIds();
$open = count($productIds);
foreach ($productIds as $id) {
    $product = Mage::getModel('catalog/product')->load($id);
    $websites = $product->getWebsiteIds();
    if (!inMainStore($websites)) {
        $websites = implode(",", $websites);
        echo "[wrong website] skip {$id}, websites: {$websites}\n";
        $skippedProducts++;
        continue;
    }