tagSubsections() статический публичный Метод

Returns chapter, front or back matter content with section ID and classes added.
static public tagSubsections ( string $content, $id ) : string
$content string
Результат string
Пример #1
0
 /**
  * @param array $book_contents
  * @param array $metadata
  */
 protected function createBackMatter($book_contents, $metadata)
 {
     $back_matter_printf = '<div class="back-matter %s" id="%s">';
     $back_matter_printf .= '<div class="back-matter-title-wrap"><h3 class="back-matter-number">%s</h3><h1 class="back-matter-title">%s</h1></div>';
     $back_matter_printf .= '<div class="ugc back-matter-ugc">%s</div>%s';
     $back_matter_printf .= '</div>';
     $vars = array('post_title' => '', 'stylesheet' => $this->stylesheet, 'post_content' => '', 'isbn' => @$metadata['pb_ebook_isbn']);
     $i = 1;
     foreach ($book_contents['back-matter'] as $back_matter) {
         if (!$back_matter['export']) {
             continue;
         }
         // Skip
         $id = $back_matter['ID'];
         $subclass = \PressBooks\Taxonomy\back_matter_type($id);
         $slug = $back_matter['post_name'];
         $title = get_post_meta($id, 'pb_show_title', true) ? $back_matter['post_title'] : '';
         $content = $this->kneadHtml($back_matter['post_content'], 'back-matter', $i);
         $short_title = trim(get_post_meta($id, 'pb_short_title', true));
         $subtitle = trim(get_post_meta($id, 'pb_subtitle', true));
         $author = trim(get_post_meta($id, 'pb_section_author', true));
         if (\PressBooks\Export\Export::shouldParseSections() == true) {
             $sections = \PressBooks\Book::getSubsections($id);
             if ($sections) {
                 $content = \PressBooks\Book::tagSubsections($content, $id);
             }
         }
         if ($author) {
             $content = '<h2 class="chapter-author">' . Sanitize\decode($author) . '</h2>' . $content;
         }
         if ($subtitle) {
             $content = '<h2 class="chapter-subtitle">' . Sanitize\decode($subtitle) . '</h2>' . $content;
         }
         if ($short_title) {
             $content = '<h6 class="short-title">' . Sanitize\decode($short_title) . '</h6>' . $content;
         }
         $vars['post_title'] = $back_matter['post_title'];
         $vars['post_content'] = sprintf($back_matter_printf, $subclass, $slug, $i, Sanitize\decode($title), $content, '');
         $file_id = 'back-matter-' . sprintf("%03s", $i);
         $filename = "{$file_id}-{$slug}.{$this->filext}";
         file_put_contents($this->tmpDir . "/OEBPS/{$filename}", $this->loadTemplate($this->dir . '/templates/xhtml.php', $vars));
         $this->manifest[$file_id] = array('ID' => $back_matter['ID'], 'post_title' => $back_matter['post_title'], 'filename' => $filename);
         ++$i;
     }
 }
Пример #2
0
 /**
  * @param array $book_contents
  * @param array $metadata
  */
 protected function echoBackMatter($book_contents, $metadata)
 {
     $back_matter_printf = '<div class="back-matter %s" id="%s">';
     $back_matter_printf .= '<div class="back-matter-title-wrap"><h3 class="back-matter-number">%s</h3><h1 class="back-matter-title">%s</h1></div>';
     $back_matter_printf .= '<div class="ugc back-matter-ugc">%s</div>%s';
     $back_matter_printf .= '</div>';
     $i = $s = 1;
     foreach ($book_contents['back-matter'] as $back_matter) {
         if (!$back_matter['export']) {
             continue;
         }
         $id = $back_matter['ID'];
         $subclass = \PressBooks\Taxonomy\back_matter_type($id);
         $slug = $back_matter['post_name'];
         $title = get_post_meta($id, 'pb_show_title', true) ? $back_matter['post_title'] : '<span class="display-none">' . $back_matter['post_title'] . '</span>';
         // Preserve auto-indexing in Prince using hidden span
         $content = $back_matter['post_content'];
         $short_title = trim(get_post_meta($id, 'pb_short_title', true));
         $subtitle = trim(get_post_meta($id, 'pb_subtitle', true));
         $author = trim(get_post_meta($id, 'pb_section_author', true));
         $sections = \PressBooks\Book::getSubsections($id);
         if ($sections) {
             $content = \PressBooks\Book::tagSubsections($content);
         }
         if ($author) {
             $content = '<h2 class="chapter-author">' . Sanitize\decode($author) . '</h2>' . $content;
         }
         if ($subtitle) {
             $content = '<h2 class="chapter-subtitle">' . Sanitize\decode($subtitle) . '</h2>' . $content;
         }
         if ($short_title) {
             $content = '<h6 class="short-title">' . Sanitize\decode($short_title) . '</h6>' . $content;
         }
         printf($back_matter_printf, $subclass, $slug, $i, Sanitize\decode($title), $content, $this->doEndnotes($id));
         echo "\n";
         ++$i;
     }
 }
Пример #3
0
/**
 * Tag the subsections
 *
 * @param $content string
 *
 * @return string
 */
function pb_tag_sections($content, $id)
{
    return \PressBooks\Book::tagSubsections($content, $id);
}