function out_full($path, $template_path) { global $Sc; $file_count = 0; $options = array('blocks' => array()); $options['assets_path'] = 'assets/'; foreach ($this->Project->data['blocks'] as &$block) { $file_count++; ScStatus::update($block->getID()); $options['blocks'][$block->getID()] = $this->_getNodeOptions($block, $block, 8); } // Template ob_start(); include $template_path . '/full.php'; $output = ob_get_clean(); // Out file_put_contents($path . '/full.html', $output); // ScStatus::updateDone("1 file written."); }
function _doPostBuild() { /* Function: _doPostBuild() * Does post-build actions like modifying the homepage. * [Private, grouped under "Private functions"] */ ScStatus::updateStart("Post build"); // If there's no homepage, // Make one! if (is_null($this->data['home'])) { $this->register("Page: " . $this->getName()); } // Finalize everything $block_count = 0; foreach ($this->data['blocks'] as &$block) { $block->preFinalize(); if (++$block_count % 5 == 0) { ScStatus::update($block_count); } } // Remove blocks that are in the "exclude_tags" list while (TRUE) { foreach ($this->data['blocks'] as &$block) { if (0 < count(array_intersect_i((array) $block->_tags, (array) $this->options['exclude_tags']))) { $block->unregister(); continue 2; } } break; } // [1] If there's a home, [2] each of the tree firstlevels // [3] that isn't the homepage [4] will be the child of the homepage. if (!is_null($this->data['home'])) { foreach ($this->data['tree'] as $i => &$block) { if ($block->getID() != 'index') { $this->data['home']->registerChild($this->data['tree'][$i]); } } } // Finalize everything $block_count = 0; foreach ($this->data['blocks'] as &$block) { $block->finalize(); if (++$block_count % 5 == 0) { ScStatus::update($block_count); } } ScStatus::updateDone("{$block_count} blocks."); }