Example #1
0
function generateCategory($parentId = 0, $subCategsRows = array())
{
    global $db;
    global $pathBuilder;
    $sql = CMD_SEL_CATEGORIES;
    $params = array($parentId);
    $rows =& $db->getAll($sql, $params, DB_FETCHMODE_OBJECT);
    if (PEAR::isError($rows)) {
        print $rows->getMessage() . "\n";
        return;
    }
    print "Generate for " . $parentId . "...\n";
    // Сгенерировать блок - "путь к категории"
    $pathBuilder->build($parentId);
    FileUtils::mkDirRecursive(OUTPUT_DIR . "/" . $pathBuilder->pathFile);
    if ($parentId == 0) {
        $indexRows =& $db->getAll(CMD_SEL_FIRSTCATEGORIES, array(), DB_FETCHMODE_OBJECT);
        if (PEAR::isError($indexRows)) {
            print $rows->getMessage() . "\n";
            return;
        }
        generateIndexFile($indexRows);
    } else {
        if (sizeof($rows) > 0) {
            generateRubricatorFile($rows, $parentId, $pathBuilder->pathFile);
        } else {
            generateCatalogFiles($parentId, $pathBuilder->pathFile, $subCategsRows);
        }
        /*
        // Сгенерировать блок - "список категорий"
        saveContents(OUTPUT_DIR . "/" . $pathBuilder->pathFile . "/categs.html",
        	getCategoriesCode($rows));
        */
    }
    // Обработка дочерних разделов
    foreach ($rows as $row) {
        generateCategory($row->id, $rows);
    }
}