'); define('REL_HEADER', ''); define('HEADER_LINK', ''); class Page { var $xhtml; var $lang; var $subtemplate = false; var $section; function Page($title = '', $section = '', $bodyid = '', $rel_path = '/') { $this->xhtml = new xhtml_page(TEMPLATEDIR.'template.html'); $this->set('relpath', $rel_path); if (strcmp($rel_path, '/')) { $this->xhtml->set('header', REL_HEADER); } else { $this->xhtml->set('header', $section == 'Cover' ? HEADER : HEADER_LINK); } $this->section = $section; $this->xhtml->set('bodyid', ($bodyid == '') ? $section : $bodyid); $title = ($title == '') ? 'Processing.org' : $title . ' \ Processing.org'; $this->xhtml->set('title', $title); $this->xhtml->set('navigation', navigation($section)); } function set($key, $value) { $this->xhtml->set($key, $value); } function set_array($array) { foreach ($array as $key => $value) { $this->xhtml->set($key, $value); } } function subtemplate($file) { $piece = new xhtml_piece(TEMPLATEDIR.$file); $this->xhtml->set('content_for_layout', $piece->out()); $this->subtemplate = true; } function content($content) { if (!$this->subtemplate) { $this->xhtml->set('content_for_layout', $content); } else { $this->xhtml->set('content', $content); } } function language($lang) { global $LANGUAGES; $this->lang = $lang; $this->xhtml->set('charset', $LANGUAGES[$lang][1]); $this->xhtml->set('lang', $lang); if ($lang != 'en') { #$this->xhtml->set('navigation', navigation_tr($this->section)); $this->xhtml->set('navigation', navigation($this->section)); } } function out() { if (!$this->lang) { $this->language('en'); } return $this->xhtml->out(); } function set_rel_path($path = '') { $this->xhtml->set('relpath', $path); } } class ReferencePage { var $xhtml; var $lang; var $filepath; function ReferencePage(&$ref, $translation, $lang = 'en') { global $LANGUAGES; $this->filepath = 'reference/' . ($lang == 'en' ? '' : "$lang/") . $ref->name(); $title = $ref->title() . ($lang == 'en' ? '' : " \ {$LANGUAGES[$lang][0]}") .' \ Language (API) \ Processing 3+'; $xhtml = new xhtml_page(TEMPLATEDIR.'template.translation.html'); $xhtml->set('header', HEADER_LINK); $xhtml->set('title', $title); $xhtml->set('bodyid', 'Langauge-'.$lang); $xhtml->set('navigation', ($lang == 'en') ? navigation('Language') : navigation('Language')); $piece = new xhtml_piece(TEMPLATEDIR.'template.reference.item.html'); $xhtml->set('content_for_layout', $piece->out()); $xhtml->set('reference_nav', reference_nav()); $xhtml->set('language_nav', language_nav($lang)); $xhtml->set('content', $ref->display()); foreach ($translation->attributes as $key => $value) { $xhtml->set($key, $value); } foreach ($translation->meta as $key => $value) { $xhtml->set($key, $value); } $xhtml->set('updated', date('F d, Y h:i:sa T', filemtime(CONTENTDIR.'/'.$ref->filepath))); $this->xhtml = $xhtml; $this->language($lang); } function language($lang) { global $LANGUAGES; $this->lang = $lang; $this->xhtml->set('charset', $LANGUAGES[$lang][1]); $this->xhtml->set('lang', $lang); } function out() { return $this->xhtml->out(); } function write() { writeFile($this->filepath, $this->xhtml->out()); } } class LibReferencePage extends ReferencePage { function LibReferencePage(&$ref, $lib, $translation, $lang = 'en') { global $LANGUAGES; $this->langdir = 'reference/' . ($lang == 'en' ? '' : "$lang"); $this->libsdir = $this->langdir . '/libraries'; $this->libdir = $this->libsdir . "/$lib"; $this->filepath = $this->libdir . '/' . $ref->name(); $title = $ref->title() . ($lang == 'en' ? '' : " \ {$LANGUAGES[$lang][0]}") .' \ Language (API) \ Processing 3+'; $xhtml = new xhtml_page(TEMPLATEDIR.'template.translation.html'); $xhtml->set('header', HEADER_LINK); $xhtml->set('title', $title); $xhtml->set('bodyid', 'Library-ref'); if ($lang == 'en') { $xhtml->set('navigation', navigation('Libraries')); } else { $xhtml->set('navigation', navigation_tr('Libraries')); } $piece = new xhtml_piece(TEMPLATEDIR.'template.reference.item.html'); $xhtml->set('content_for_layout', $piece->out()); $xhtml->set('reference_nav', library_nav($lib)); $xhtml->set('language_nav', language_nav($lang)); $xhtml->set('content', $ref->display()); foreach ($translation->attributes as $key => $value) { $xhtml->set($key, $value); } foreach ($translation->meta as $key => $value) { $xhtml->set($key, $value); } //$xhtml->set('updated', date('F d, Y h:i:sa T', filemtime(CONTENTDIR.'/'.$ref->filepath))); $this->xhtml = $xhtml; $this->language($lang); } } class LocalPage extends Page { var $xhtml; var $lang = 'en'; var $subtemplate = false; function LocalPage($title = '', $section = '', $bodyid = '', $rel_path = '') { $this->xhtml = new xhtml_page(TEMPLATEDIR.'template.local.html'); $this->xhtml->set('header', ''); $title = ($title == '') ? 'Processing 3+' : $title . ' \ Processing 3+'; $this->xhtml->set('title', $title); $this->xhtml->set('navigation', local_nav($section, $rel_path)); $this->set('relpath', $rel_path); $this->language('en'); $this->xhtml->set('bodyid', ($bodyid == '') ? $section : $bodyid); } } class LocalReferencePage extends ReferencePage { var $xhtml; var $lang = 'en'; var $filepath; function LocalReferencePage(&$ref, $translation, $lang = 'en', $rel_path = '') { $this->filepath = 'distribution/' . $ref->name(); $title = $ref->title() .' \ Language (API) \ Processing 3+'; $xhtml = new xhtml_page(TEMPLATEDIR.'template.local.html'); $xhtml->set('header', ''); $xhtml->set('title', $title); $xhtml->set('bodyid', 'Langauge'); $xhtml->set('navigation', local_nav('Language')); $piece = new xhtml_piece(TEMPLATEDIR.'template.reference.item.html'); $xhtml->set('content_for_layout', $piece->out()); $xhtml->set('reference_nav', reference_nav()); $xhtml->set('language_nav', language_nav($lang)); $xhtml->set('content', $ref->display()); foreach ($translation->attributes as $key => $value) { $xhtml->set($key, $value); } foreach ($translation->meta as $key => $value) { $xhtml->set($key, $value); } $xhtml->set('relpath', $rel_path); $xhtml->set('updated', date('F d, Y h:i:sa T', filemtime(CONTENTDIR.'/'.$ref->filepath))); $this->xhtml = $xhtml; $this->language($lang); } } class LocalLibReferencePage extends ReferencePage { function LocalLibReferencePage(&$ref, $lib, $translation, $rel_path = '../../') { global $LANGUAGES; $lang = 'en'; $this->filepath = "distribution/libraries/$lib/" . $ref->name(); $title = $ref->title() . "\\ $lib \\ Language (API) \\ Processing 3+"; $xhtml = new xhtml_page(TEMPLATEDIR.'template.local.html'); $xhtml->set('header', ''); $xhtml->set('title', $title); $xhtml->set('bodyid', 'Library-ref'); $xhtml->set('navigation', local_nav('Libraries', $rel_path)); $piece = new xhtml_piece(TEMPLATEDIR.'template.reference.item.html'); $xhtml->set('content_for_layout', $piece->out()); $xhtml->set('reference_nav', library_nav($lib)); $xhtml->set('language_nav', language_nav($lang)); foreach ($translation->attributes as $key => $value) { $xhtml->set($key, $value); } foreach ($translation->meta as $key => $value) { $xhtml->set($key, $value); } $xhtml->set('content', $ref->display()); $xhtml->set('updated', date('F d, Y h:i:sa T', filemtime(CONTENTDIR.'/'.$ref->filepath))); $xhtml->set('relpath', $rel_path); $this->xhtml = $xhtml; } } ?>