CSV::generate PHP Method

generate() public method

public generate ( $generator )
    public function generate($generator)
    {
        $this->genEnvironment = $generator->genEnvironment;
        // API / POST
        $this->userSettings = $generator->getUserSettings();
        $csvDelimiter = $this->getCSVDelimiter();
        $newline = $this->getLineEndingChar();
        $data = $generator->generateExportData();
        $content = "";
        if ($data["isFirstBatch"]) {
            $content .= implode($csvDelimiter, $data["colData"]);
        }
        $numCols = count($data["colData"]);
        foreach ($data["rowData"] as $row) {
            // see if any of the cells contains the delimiter. If it does, wrap it in double quotes.
            $cleanRow = array();
            for ($i = 0; $i < $numCols; $i++) {
                if (strpos($row[$i], $csvDelimiter) !== false) {
                    $cleanRow[] = "\"" . preg_replace("/\"/", "\\\"", $row[$i]) . "\"";
                } else {
                    $cleanRow[] = $row[$i];
                }
            }
            $content .= $newline . implode($csvDelimiter, $cleanRow);
        }
        return array("success" => true, "content" => $content);
    }

Usage Example

Beispiel #1
0
    exit;
} elseif ($_GET['page'] === 'csv') {
    require_once FS_PHP . '/csv.php';
    if (!isset($_GET['status'])) {
        $_GET["status"] = 0;
    }
    $data = $equip->listItems($SESSION->department, $_GET["status"]);
    if (sizeof($data)) {
        $output = new CSV($data);
        $output->generate();
    }
} elseif ($_GET['page'] === 'export-selected') {
    require_once FS_PHP . '/csv.php';
    $data = $equip->listItemscsv(explode(',', $_GET['ids']));
    $output = new CSV($data);
    $output->generate();
} else {
    require_once FS_PHP . '/error.php';
}
//============================================================================================
// View
//============================================================================================
$actions = array('add', 'edit', 'csv', 'export-selected', 'fetch');
if (isset($render) && $render) {
    $thisPage = "Keys";
    if (isset($l10nFile) && file_exists($l10nFile)) {
        require $l10nFile;
    }
    require FS_PHP . '/header.php';
    require FS_PHP . '/nav.php';
    if (isset($viewFile) && file_exists($viewFile)) {