本文整理汇总了PHP中p_set_metadata函数的典型用法代码示例。如果您正苦于以下问题:PHP p_set_metadata函数的具体用法?PHP p_set_metadata怎么用?PHP p_set_metadata使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了p_set_metadata函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: document_end
function document_end()
{
parent::document_end();
// Prepare the TOC
global $TOC, $ID;
$meta = array();
// NOTOC, and no forceTOC
if ($this->info['toc'] === false && !($this->info['forceTOC'] || $this->meta['forceTOC'])) {
$TOC = $this->toc = array();
$meta['internal']['toc'] = false;
$meta['description']['tableofcontents'] = array();
$meta['forceTOC'] = false;
} else {
if ($this->info['forceTOC'] || $this->meta['forceTOC'] || utf8_strlen(strip_tags($this->doc)) >= $this->getConf('documentlengthfortoc') && count($this->toc) > 1) {
$TOC = $this->toc;
// This is a little bit like cheating ... but this will force the TOC into the metadata
$meta = array();
$meta['internal']['toc'] = true;
$meta['forceTOC'] = $this->info['forceTOC'] || $this->meta['forceTOC'];
$meta['description']['tableofcontents'] = $TOC;
}
}
// allways write new metadata
p_set_metadata($ID, $meta);
$this->doc = preg_replace('#<p( class=".*?")?>\\s*</p>#', '', $this->doc);
}
开发者ID:omusico,项目名称:isle-web-framework,代码行数:26,代码来源:pdf.php
示例2: addApproval
function addApproval()
{
global $USERINFO;
global $ID;
global $INFO;
if (!$INFO['exists']) {
msg($this->getLang('cannot approve a non-existing revision'), -1);
return;
}
$approvalRevision = $this->helper->getRevision();
$approvals = $this->helper->getApprovals();
if (!isset($approvals[$approvalRevision])) {
$approvals[$approvalRevision] = array();
}
$approvals[$approvalRevision][$INFO['client']] = array($INFO['client'], $_SERVER['REMOTE_USER'], $USERINFO['mail'], time());
$success = p_set_metadata($ID, array('approval' => $approvals), true, true);
if ($success) {
msg($this->getLang('version approved'), 1);
$data = array();
$data['rev'] = $approvalRevision;
$data['id'] = $ID;
$data['approver'] = $_SERVER['REMOTE_USER'];
$data['approver_info'] = $USERINFO;
if ($this->getConf('send_mail_on_approve') && $this->helper->isRevisionApproved($approvalRevision)) {
/** @var action_plugin_publish_mail $mail */
$mail = plugin_load('action', 'publish_mail');
$mail->send_approve_mail();
}
trigger_event('PLUGIN_PUBLISH_APPROVE', $data);
} else {
msg($this->getLang('cannot approve error'), -1);
}
send_redirect(wl($ID, array('rev' => $this->helper->getRevision()), true, '&'));
}
开发者ID:hefanbo,项目名称:dokuwiki-plugin-publish,代码行数:34,代码来源:approve.php
示例3: document_start
/**
* Initialize the rendering
*/
function document_start() {
global $ID;
global $conf;
global $lang;
// call the parent
parent::document_start();
// store the content type headers in metadata
$headers = array(
'Content-Type' => 'text/html; charset=utf-8'
);
$theme = isset($_GET['theme'])?$_GET['theme']:$this->getConf('theme');
p_set_metadata($ID,array('format' => array('revealjs' => $headers) ));
$this->base = DOKU_BASE.'lib/plugins/revealjs/';
$this->doc = '
<!DOCTYPE html>
<html lang="'.$conf['lang'].'" dir="'.$lang['direction'].'">
<head>
<meta charset="utf-8">
<title>'.tpl_pagetitle($ID, true).'</title>
<meta name="description" content="A framework for easily creating beautiful presentations using HTML">
<meta name="author" content="Hakim El Hattab">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="'.$this->base.'css/reveal.css">
<link rel="stylesheet" href="'.$this->base.'css/theme/'.$theme.'.css" id="theme">
<link rel="stylesheet" href="'.$this->base.'doku-substitutes.css">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="'.$this->base.'lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( \'link\' );
link.rel = \'stylesheet\';
link.type = \'text/css\';
link.href = window.location.search.match( /print-pdf/gi ) ? \''.$this->base.'css/print/pdf.css\' : \''.$this->base.'css/print/paper.css\';
document.getElementsByTagName( \'head\' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src='.$this->base.'"lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
';
}
开发者ID:rusidea,项目名称:analitika,代码行数:63,代码来源:renderer.php
示例4: render
function render($format, &$renderer, $data)
{
if ($this->active) {
$key = 'test_during_rendering';
p_set_metadata($this->id, array($key => 'test'), false, true);
// ensure that the metadata property hasn't been set previously
$this->assertNotEqual($key, p_get_metadata($this->id, $key));
}
}
开发者ID:rezlemic,项目名称:dokuwiki-jQuery,代码行数:9,代码来源:parserutils_set_metadata_during_rendering.test.php
示例5: document_start
function document_start()
{
global $ID;
$filename = SafeFN::encode(strtr($ID, '/:', '--')) . '.ics';
$headers = array('Content-Type:' => 'text/calendar', 'Content-Disposition:' => 'attachment; filename=' . $filename);
p_set_metadata($ID, array('format' => array('icalevents' => $headers)));
$this->doc = "BEGIN:VCALENDAR\r\n";
$this->doc .= "PRODID: -//DokuWiki//NONSGML Plugin iCalEvents//EN" . "\r\n";
$this->doc .= "VERSION:2.0\r\n";
}
开发者ID:real-or-random,项目名称:dokuwiki-plugin-icalevents,代码行数:10,代码来源:renderer.php
示例6: document_start
/**
* Initialize the rendering
*/
function document_start()
{
global $ID;
// call the parent
parent::document_start();
// store the content type headers in metadata
$headers = array('Content-Type' => 'text/html; charset=utf-8');
p_set_metadata($ID, array('format' => array('s5' => $headers)));
$this->base = DOKU_BASE . 'lib/plugins/s5/ui/';
$this->tpl = $this->getConf('template');
}
开发者ID:omusico,项目名称:isle-web-framework,代码行数:14,代码来源:renderer.php
示例7: after_action
/**
* Executed after performing the action hooks
*
* Increases counter and purge cache
*/
public function after_action()
{
if ($this->autoinc) {
global $ID;
p_set_metadata($ID, array('bureaucracy' => array($this->get_key() => $this->opt['value'] + 1)));
// Force rerendering by removing the instructions cache file
$cache_fn = getCacheName(wikiFN($ID) . $_SERVER['HTTP_HOST'] . $_SERVER['SERVER_PORT'], '.' . 'i');
if (file_exists($cache_fn)) {
unlink($cache_fn);
}
}
}
开发者ID:omusico,项目名称:isle-web-framework,代码行数:17,代码来源:number.php
示例8: document_start
/**
* Initialize the rendering
*/
function document_start()
{
global $ID;
// call the parent
parent::document_start();
// store the content type headers in metadata
$headers = array('Content-Type' => 'text/html; charset=utf-8');
p_set_metadata($ID, array('format' => array('s5reloaded' => $headers)));
$this->base = DOKU_MEDIA . 'lib/plugins/s5reloaded/ui/';
/* $this->tpl = $this->getConf('template'); */
$this->tpl = isset($_GET['s5theme']) ? $_GET['s5theme'] : $this->getConf('template');
}
开发者ID:lorea,项目名称:Hydra-dev,代码行数:15,代码来源:renderer.php
示例9: document_start
/**
* Initialize the rendering
*/
function document_start()
{
global $ID;
// call the parent
parent::document_start();
// store the content type headers in metadata
$headers = array('Content-Type' => 'text/html; charset=utf-8');
p_set_metadata($ID, array('format' => array('s5' => $headers)));
$this->base = DOKU_BASE . 'lib/plugins/s5/ui/';
$this->tpl = isset($_GET['s5theme']) ? $_GET['s5theme'] : $this->getConf('template');
$this->tpl = preg_replace('/[^a-z0-9_-]+/', '', $this->tpl);
// clean user provided path
}
开发者ID:xudianyang,项目名称:wiki.phpboy.net,代码行数:16,代码来源:renderer.php
示例10: test_meta_description_with_persistent_description
public function test_meta_description_with_persistent_description()
{
$text = "My page content";
$id = 'description_test';
saveWikiText($id, $text, 'Created');
self::assertEquals($text, p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED));
p_set_metadata($id, array('description' => array('abstract' => 'Persistent description')), false, true);
self::assertEquals('Persistent description', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED));
$text .= DOKU_LF . '~~META:description abstract=My abstract~~';
saveWikiText($id, $text, 'Added meta');
self::assertEquals('My abstract', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED));
$text .= DOKU_LF . '~~META:description foobar=bar~~';
saveWikiText($id, $text, 'Updated meta');
self::assertEquals('My abstract', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED));
self::assertEquals('bar', p_get_metadata($id, 'description foobar', METADATA_RENDER_UNLIMITED));
}
开发者ID:ilkkatoje,项目名称:plugin-meta,代码行数:16,代码来源:rendering.test.php
示例11: handle_action_act_preprocess
public function handle_action_act_preprocess(Doku_Event &$event, $param)
{
global $ID, $INFO, $REV, $RANGE, $TEXT, $PRE, $SUF;
// check if the action was given as array key
if (is_array($event->data)) {
list($act) = array_keys($event->data);
} else {
$act = $event->data;
}
if ($act == 'save' && $_REQUEST['saveandedit'] && actionOK($act)) {
if (act_permcheck($act) == 'save' && checkSecurityToken()) {
$event->data = act_save($act);
if ($event->data == 'show') {
$event->data = 'edit';
$REV = '';
// now we are working on the current revision
// Handle section edits
if ($PRE || $SUF) {
// $from and $to are 1-based indexes of the actually edited content
$from = strlen($PRE) + 1;
$to = $from + strlen($TEXT);
$RANGE = $from . '-' . $to;
}
// Ensure the current text is loaded again from the file
unset($GLOBALS['TEXT'], $GLOBALS['PRE'], $GLOBALS['SUF']);
// Reset the date of the last modification to avoid conflict messages
unset($GLOBALS['DATE']);
// Reset the change check
unset($_REQUEST['changecheck']);
// Force rendering of the metadata in order to ensure metadata is correct
p_set_metadata($ID, array(), true);
$INFO = pageinfo();
// reset pageinfo to new data (e.g. if the page exists)
} elseif ($event->data == 'conflict') {
// DokuWiki won't accept 'conflict' as action here.
// Just execute save again, the conflict will be detected again
$event->data = 'save';
}
}
}
}
开发者ID:houshuang,项目名称:folders2web,代码行数:41,代码来源:action.php
示例12: test_editor_and_externaledits
/**
* test editor entry and external edit
*/
function test_editor_and_externaledits()
{
global $ID, $conf;
$ID = 'wiki:syntax';
$filename = $conf['datadir'] . '/wiki/syntax.txt';
$rev = filemtime($filename);
$info = $this->_get_expected_pageinfo();
$info['id'] = 'wiki:syntax';
$info['namespace'] = 'wiki';
$info['filepath'] = $filename;
$info['exists'] = true;
$info['lastmod'] = $rev;
$info['currentrev'] = $rev;
$info['meta'] = p_get_metadata($ID);
// need $INFO set correctly for addLogEntry()
global $INFO;
$INFO = $info;
// add an editor for the current version of $ID
addLogEntry($rev, $ID);
$info['meta'] = p_get_metadata($ID);
$info['editor'] = $_SERVER['REMOTE_USER'];
$info['user'] = $_SERVER['REMOTE_USER'];
$info['ip'] = $_SERVER['REMOTE_ADDR'];
$info['sum'] = '';
// with an editor ...
$this->assertEquals($info, pageinfo());
// clear the meta['last_change'] value, pageinfo should restore it
p_set_metadata($ID, array('last_change' => false));
$this->assertEquals($info, pageinfo());
$this->assertEquals($info['meta']['last_change'], p_get_metadata($ID, 'last_change'));
// fake an external edit, pageinfo should clear the last change from meta data
// and not return any editor data
$now = time() + 10;
touch($filename, $now);
$info['lastmod'] = $now;
$info['currentrev'] = $now;
$info['meta']['last_change'] = false;
$info['ip'] = null;
$info['user'] = null;
$info['sum'] = null;
$info['editor'] = null;
$this->assertEquals($info, pageinfo());
$this->assertEquals($info['meta'], p_get_metadata($ID));
// check metadata has been updated correctly
}
开发者ID:richmahn,项目名称:Door43,代码行数:48,代码来源:common_pageinfo.test.php
示例13: setSelfMoveMeta
/**
* Store info about the move of a page in its own meta data
*
* This has to be called before the move is executed
*
* @param string $id moved page's original (and still current) id
*/
public function setSelfMoveMeta($id)
{
$meta = $this->getMoveMeta($id);
// was this page moved multiple times? keep the orignal name til rewriting occured
if (isset($meta['origin']) && $meta['origin'] !== '') {
return;
}
$meta['origin'] = $id;
p_set_metadata($id, array(self::METAKEY => $meta), false, true);
}
开发者ID:xudianyang,项目名称:wiki.phpboy.net,代码行数:17,代码来源:rewrite.php
示例14: createJiveDiscussion
/**
* Create a new Jive discussion for the current wiki page
*
* @return string URL to the discussion on the Jive server or NULL
*/
public function createJiveDiscussion()
{
global $ID;
global $conf;
if (($jive = $this->loadHelper('jive')) === NULL) {
msg('Cannot load helper for jive plugin.', -1);
return NULL;
}
if ($jive->jiveInitServer() === FALSE) {
msg('Failed to contact the Jive server: ' . $jive->jiveLastErrorMsg(), -1);
return NULL;
}
if (($placeID = $jive->getJiveGroup(NULL)) === NULL) {
msg('Failed to get Jive group: ' . $jive->jiveLastErrorMsg(), -1);
return NULL;
}
// Get the title of the current page
$title = p_get_metadata(cleanID($ID), 'title', METADATA_DONT_RENDER);
if ($title === NULL || $title == '') {
msg('Failed to get page title from metadata', -1);
return NULL;
}
// create the JSON request data
if (($json = json_encode(array("content" => array("type" => "text/html", "text" => sprintf($this->getLang('jiveDiscussionContent'), DOKU_URL . $ID, $title)), "subject" => sprintf($this->getLang('jiveDiscussionSubject'), $title), "type" => "discussion", "tags" => array($conf['title'])))) === FALSE) {
msg('Error encoding discussion creation post to JSON', -1);
return NULL;
}
if (($data = $jive->postJiveData('/places/' . $placeID . '/contents', $json)) === FALSE) {
msg('Failed to create discussion for that page: ' . $jive->jiveLastErrorMsg(), -1);
return NULL;
}
// Get and store useful URLs in metadata of the page
$info = json_decode($data, TRUE);
if ($info === NULL && json_last_error() !== JSON_ERROR_NONE) {
msg('Failed to decode JSON returned on create Discussion. JSON error: ' . json_last_error_msg(), -1);
return NULL;
}
if (isset($info['error'])) {
msg('Failed to create Discussion. JSON data returned:<br>' . $info, -1);
return NULL;
}
if (!isset($info['contentID'])) {
msg('Failed to get contentID for Discussion created. JSON data returned:<br>' . $info, -1);
return NULL;
}
$meta = array('relation' => array('jive_plugin' => array('discussion_contentID' => $info['contentID'], 'discussion_html' => $info['resources']['html']['ref'])));
if (p_set_metadata(cleanID($ID), $meta) === FALSE) {
msg('Failed to store metadata. Warning: multiple discussions on the same page maybe created.', -1);
return NULL;
}
return $info['resources']['html']['ref'];
}
开发者ID:ronanviel,项目名称:dokuwiki_plugin_jive,代码行数:57,代码来源:action.php
示例15: document_start
/**
* Initialize the rendering
*/
function document_start()
{
global $ID;
// Reset TOC.
$this->toc = array();
// First, get export mode.
$warning = '';
$this->mode = $this->config->load($warning);
//$this->config->setParam ($, $this->getConf('format'));
//FIXME: output warning to document, like:
/* // template chosen but not found : warn the user and use the default template
$warning = '<text:p text:style-name="'.$this->styleset->getStyleName('body').'"><text:span text:style-name="'.$this->styleset->getStyleName('strong').'">'
.$this->_xmlEntities( sprintf($this->getLang('tpl_not_found'),$this->config ['odt_template'],$this->getConf("tpl_dir")) )
.'</text:span></text:p>'.$this->doc;*/
// Load and import CSS files, setup Units
$this->load_css();
$this->setupUnits();
switch ($this->mode) {
case 'ODT template':
// Document based on ODT template.
$this->docHandler = new ODTTemplateDH();
$this->docHandler->setTemplate($this->config->getParam('odt_template'));
$this->docHandler->setDirectory($this->config->getParam('tpl_dir'));
break;
default:
// Document from scratch.
$this->docHandler = new scratchDH();
break;
}
// Setup page format.
$this->page = new pageFormat();
$this->setPageFormat($this->config->getParam('format'), $this->config->getParam('orientation'), $this->config->getParam('margin_top'), $this->config->getParam('margin_right'), $this->config->getParam('margin_bottom'), $this->config->getParam('margin_left'));
//$this->page->setFormat('A4', 'portrait');
// Load Styleset.
$this->styleset = new ODTDefaultStyles();
$this->styleset->import();
$this->autostyles = $this->styleset->getAutoStyles($this->page);
$this->styles = $this->styleset->getStyles();
// Set title in meta info.
$this->meta->setTitle($ID);
//FIXME article title != book title SOLUTION: overwrite at the end for book
// If older or equal to 2007-06-26, we need to disable caching
$dw_version = preg_replace('/[^\\d]/', '', getversion());
//FIXME DEPRECATED
if (version_compare($dw_version, "20070626", "<=")) {
$this->info["cache"] = false;
}
//$headers = array('Content-Type'=>'text/plain'); p_set_metadata($ID,array('format' => array('odt' => $headers) )); return ; // DEBUG
// send the content type header, new method after 2007-06-26 (handles caching)
$output_filename = str_replace(':', '-', $ID) . ".odt";
if (version_compare($dw_version, "20070626")) {
// store the content type headers in metadata
$headers = array('Content-Type' => 'application/vnd.oasis.opendocument.text', 'Content-Disposition' => 'attachment; filename="' . $output_filename . '";');
p_set_metadata($ID, array('format' => array('odt_page' => $headers)));
} else {
// older method FIXME DEPRECATED
header('Content-Type: application/vnd.oasis.opendocument.text');
header('Content-Disposition: attachment; filename="' . $output_filename . '";');
}
$this->set_page_bookmark($ID);
}
开发者ID:phillip-hopper,项目名称:dokuwiki-plugin-odt,代码行数:64,代码来源:page.php
示例16: __destruct
function __destruct()
{
global $ID;
p_set_metadata($ID, array('schulzevote' => array('prefer' => $this->prefer, 'candys' => $this->candys, 'votees' => $this->votees)));
}
开发者ID:rauschen,项目名称:schulzevote,代码行数:5,代码来源:helper.php
示例17: checkApprovalFormat
function checkApprovalFormat($meta, $id)
{
if (isset($meta['approval_version']) && $meta['approval_version'] >= 2) {
return;
}
if (!$this->hasApprovals($meta)) {
return;
}
$approvals = $meta['approval'];
foreach (array_keys($approvals) as $approvedId) {
$keys = array_keys($approvals[$approvedId]);
if (is_array($approvals[$approvedId][$keys[0]])) {
continue;
// current format
}
$newEntry = $approvals[$approvedId];
if (count($newEntry) !== 3) {
//continue; // some messed up format...
}
$newEntry[] = intval($approvedId);
// revision is the time of page edit
$approvals[$approvedId] = array();
$approvals[$approvedId][$newEntry[0]] = $newEntry;
}
p_set_metadata($id, array('approval' => $approvals), true, true);
p_set_metadata($id, array('approval_version' => 2), true, true);
}
开发者ID:hefanbo,项目名称:dokuwiki-plugin-publish,代码行数:27,代码来源:helper.php
示例18: document_start
function document_start()
{
if (!defined('RECURSIVE_MELLEL')) {
define('RECURSIVE_MELLEL', TRUE);
if (!defined('DEBUG')) {
define('DEBUG', TRUE);
}
set_time_limit(60 * 5);
if (isset($_REQUEST['list'])) {
$dirs = glob('/var/www/kolchose.org/inge/wiki/data/pages/*');
echo '<h1>No files</h1>';
foreach ($dirs as $dir) {
if (is_file($dir)) {
$new_dir = $dir;
// $new_dir = str_replace('/var/www/kolchose.org/inge/wiki/data/pages/', '', $new_dir);
// $new_dir = str_replace('.txt', '', $new_dir);
$new_dirs[] = $new_dir;
} else {
echo $dir . '<br />';
}
}
unset($dirs);
echo '<h1>Formatation ok?</h1>';
// $test_file = $new_dirs[1];
//
// echo $test_file.'<br />';
#var_dump(
#self::render(file_get_contents($test_file), 'mellelexport');
#);
$i = 0;
foreach ($new_dirs as $file) {
echo $file . '<br />';
self::render(file_get_contents($file), 'mellelexport');
ob_flush();
$i++;
if ($i > 50) {
exit;
}
}
exit;
}
}
plugin_disable('highlight');
if (in_array('highlight', plugin_list())) {
die('ERROR: highlight loaded 1');
}
global $ID;
parent::document_start();
// If older or equal to 2007-06-26, we need to disable caching
$dw_version = preg_replace('/[^\\d]/', '', getversion());
if (version_compare($dw_version, "20070626", "<=")) {
$this->info["cache"] = false;
}
$contentType = class_exists('ZipArchive') ? 'application/zip' : 'text/xml';
$contentFileName = class_exists('ZipArchive') ? noNS($ID) . '.mellel' : 'main.xml';
// TODO configuration
if (class_exists('ZipArchive') and true) {
$contentFileName = date('Y-m-d_') . $contentFileName;
}
// send the content type header, new method after 2007-06-26 (handles caching)
if (!DEBUG) {
if (version_compare($dw_version, "20070626")) {
// store the content type headers in metadata
$headers = array('Content-Type' => $contentType, 'Content-Disposition' => 'attachment; filename="' . $contentFileName . '";');
p_set_metadata($ID, array('format' => array('mellelexport' => $headers)));
} else {
// older method
header('Content-Type: ' . $contentType);
header('Content-Disposition: attachment; filename="' . $contentFileName . '";');
}
} else {
header('Content-Type: text/html; charset=utf-8');
echo '<!DOCTYPE html><html><head><meta charset="utf-8"></head><body>';
#<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
echo '<table>';
echo '<tr><th></th><th>Tag<br />(Wiki)</th><th></th><th>Type</th><th></th><th>Args</th><th>Output<br />(Mellel)</th></tr>';
}
}
开发者ID:powtac,项目名称:Dokuwiki-Mellel-Export-Plugin,代码行数:78,代码来源:renderer.php
示例19: document_start
/**
* Initialize the rendering
*/
function document_start()
{
global $ID;
// Reset TOC.
$this->toc = array();
// First, get export mode.
$warning = '';
$this->mode = $this->config->load($warning);
// Load and import CSS files, setup Units
$this->load_css();
$this->setupUnits();
switch ($this->mode) {
case 'ODT template':
// Document based on ODT template.
$this->docHandler = new ODTTemplateDH();
$this->docHandler->setTemplate($this->config->getParam('odt_template'));
$this->docHandler->setDirectory($this->config->getParam('tpl_dir'));
break;
case 'CSS template':
// Document based on DokuWiki CSS template.
$this->docHandler = new CSSTemplateDH();
$media_sel = $this->config->getParam('media_sel');
$template = $this->config->getParam('odt_template');
$directory = $this->config->getParam('tpl_dir');
$template_path = $this->config->getParam('mediadir') . '/' . $directory . "/" . $template;
$this->docHandler->import($template_path, $media_sel, $this->config->getParam('mediadir'));
break;
default:
// Document from scratch.
$this->docHandler = new scratchDH();
break;
}
// Setup page format.
// Set the page format of the current page for calculation ($this->page)
// Change the standard page layout style
$this->page = new pageFormat();
$this->page->setFormat($this->config->getParam('format'), $this->config->getParam('orientation'), $this->config->getParam('margin_top'), $this->config->getParam('margin_right'), $this->config->getParam('margin_bottom'), $this->config->getParam('margin_left'));
$first_page = $this->docHandler->getStyle($this->docHandler->getStyleName('first page'));
if ($first_page != NULL) {
$first_page->setProperty('width', $this->page->getWidth() . 'cm');
$first_page->setProperty('height', $this->page->getHeight() . 'cm');
$first_page->setProperty('margin-top', $this->page->getMarginTop() . 'cm');
$first_page->setProperty('margin-right', $this->page->getMarginRight() . 'cm');
$first_page->setProperty('margin-bottom', $this->page->getMarginBottom() . 'cm');
$first_page->setProperty('margin-left', $this->page->getMarginLeft() . 'cm');
}
// Set title in meta info.
$this->meta->setTitle($ID);
//FIXME article title != book title SOLUTION: overwrite at the end for book
// If older or equal to 2007-06-26, we need to disable caching
$dw_version = preg_replace('/[^\\d]/', '', getversion());
//FIXME DEPRECATED
if (version_compare($dw_version, "20070626", "<=")) {
$this->info["cache"] = false;
}
//$headers = array('Content-Type'=>'text/plain'); p_set_metadata($ID,array('format' => array('odt' => $headers) )); return ; // DEBUG
// send the content type header, new method after 2007-06-26 (handles caching)
$output_filename = str_replace(':', '-', $ID) . ".odt";
if (version_compare($dw_version, "20070626")) {
// store the content type headers in metadata
$headers = array('Content-Type' => 'application/vnd.oasis.opendocument.text', 'Content-Disposition' => 'attachment; filename="' . $output_filename . '";');
p_set_metadata($ID, array('format' => array('odt_page' => $headers)));
} else {
// older method FIXME DEPRECATED
header('Content-Type: application/vnd.oasis.opendocument.text');
header('Content-Disposition: attachment; filename="' . $output_filename . '";');
}
$this->set_page_bookmark($ID);
}
开发者ID:a-gundy,项目名称:dokuwiki-plugin-odt,代码行数:72,代码来源:page.php
示例20: getMoveMeta
/**
* This function loads and returns the persistent metadata for the move plugin. If there is metadata for the
* pagemove plugin (not the old one but the version that immediately preceeded the move plugin) it will be migrated.
*
* @param string $id The id of the page the metadata shall be loaded for
* @return array|null The metadata of the page
*/
public function getMoveMeta($id) {
$all_meta = p_get_metadata($id, '', METADATA_DONT_RENDER);
// migrate old metadata from the pagemove plugin
if (isset($all_meta['plugin_pagemove']) && !is_null($all_meta['plugin_pagemove'])) {
if (isset($all_meta['plugin_move'])) {
$all_meta['plugin_move'] = array_merge_recursive($all_meta['plugin_pagemove'], $all_meta['plugin_move']);
} else {
$all_meta['plugin_move'] = $all_meta['plugin_pagemove'];
}
p_set_metadata($id, array('plugin_move' => $all_meta['plugin_move'], 'plugin_pagemove' => null), false, true);
}
return isset($all_meta['plugin_move']) ? $all_meta['plugin_move'] : null;
}
开发者ID:neutrinog,项目名称:Door43,代码行数:20,代码来源:helper.php
注:本文中的p_set_metadata函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论