<?php

/*
 * PHP QR Code encoder
 *
 * Tool for merging all library files into one, simpler to incorporate.
 * 
 * MAKE SURE THAT RESULTING PHPQRCode.php (and its dir) ARE WRITABLE!
 *
 * PHP QR Code is distributed under LGPL 3
 * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 */
$QR_BASEDIR  = dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR;
$QR_TOOLSDIR = dirname(__FILE__) . DIRECTORY_SEPARATOR;
$outputFile  = $QR_BASEDIR . 'phpqrcode.php';
// Required libs
$fileList    = array(
    $QR_BASEDIR . 'qrconst.php',
    $QR_TOOLSDIR . 'merged_config.php',
    $QR_BASEDIR . 'qrtools.php',
    $QR_BASEDIR . 'qrspec.php',
    $QR_BASEDIR . 'qrimage.php',
    $QR_BASEDIR . 'qrinput.php',
    $QR_BASEDIR . 'qrbitstream.php',
    $QR_BASEDIR . 'qrsplit.php',
    $QR_BASEDIR . 'qrrscode.php',
    $QR_BASEDIR . 'qrmask.php',
    $QR_BASEDIR . 'qrencode.php'
);
$headerFile  = $QR_TOOLSDIR . 'merged_header.php';
$versionFile = $QR_BASEDIR . 'VERSION';
$outputCode  = '';
foreach ($fileList as $fileName) {
    $outputCode .= "\n\n" . '//---- ' . basename($fileName) . ' -----------------------------' . "\n\n";
    $anotherCode = file_get_contents($fileName);
    $anotherCode = preg_replace('/^<\?php/', '', $anotherCode);
    $anotherCode = preg_replace('/\?>\*$/', '', $anotherCode);
    $outputCode .= "\n\n" . $anotherCode . "\n\n";
}
$versionDataEx  = explode("\n", file_get_contents($versionFile));
$outputContents = file_get_contents($headerFile);
$outputContents .= "\n\n/*\n * Version: " . trim($versionDataEx[0]) . "\n * Build: " . trim($versionDataEx[1]) . "\n */\n\n";
$outputContents .= $outputCode;
file_put_contents($outputFile, $outputContents);
    
    