コード例 #1
0
function wikiplugin_zoterolist($data, $params)
{
	if (! isset($params['tag'])) {
		return WikiParser_PluginOutput::argumentError(array('tag'));
	}

	$cachelib = TikiLib::lib('cache');
	$tikilib = TikiLib::lib('tiki');

	$cacheKey = 'zoterolist.' . $params['tag'];

	if ($cached = $cachelib->getSerialized($cacheKey, 'zotero')) {
		if (($cached['created'] + 3600) > $tikilib->now) {
			return WikiParser_PluginOutput::html($cached['data']);
		}
	}
	
	$zoterolib = TikiLib::lib('zotero');
	$html = $zoterolib->get_formatted_references($params['tag']);

	$cachelib->cacheItem($cacheKey, serialize(array('created' => $tikilib->now, 'data' => $html)), 'zotero');

	if ($html) {
		return WikiParser_PluginOutput::html($html);
	} else {
		return WikiParser_PluginOutput::error(tra('Error'), tra('No results obtained. The Zotero citation server may be down.'));
	}
}
コード例 #2
0
 function testHtmlToHtmlOutput()
 {
     $output = WikiParser_PluginOutput::html('<div>Hello</div>');
     $this->assertEquals('<div>Hello</div>', $output->toHtml());
 }
コード例 #3
0
ファイル: parserlib.php プロジェクト: railfuture/tiki-website
 private function convert_plugin_output($output, $from, $to, $parseOptions)
 {
     if (!$output instanceof WikiParser_PluginOutput) {
         if ($from === 'wiki') {
             $output = WikiParser_PluginOutput::wiki($output);
         } elseif ($from === 'html') {
             $output = WikiParser_PluginOutput::html($output);
         }
     }
     if ($to === 'html') {
         return $output->toHtml($parseOptions);
     } elseif ($to === 'wiki') {
         return $output->toWiki();
     }
 }