diff options
author | Andreas Gohr <andi@splitbrain.org> | 2012-11-08 23:15:08 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2012-11-08 23:15:08 +0100 |
commit | 04924b7a9d090c0814cfff3e6706263e4d5a46e8 (patch) | |
tree | d83fc6b5683fbc9c639bfd1832f96dca2f3c8646 | |
parent | 1ea7a6bada66fc9b7a45f61b4892e4ea23196d89 (diff) | |
parent | a731ed1d6736ca405b3559adfd9500affcc59412 (diff) | |
download | rpg-04924b7a9d090c0814cfff3e6706263e4d5a46e8.tar.gz rpg-04924b7a9d090c0814cfff3e6706263e4d5a46e8.tar.bz2 |
Merge branch 'master' into proxyconnect
* master: (169 commits)
added PCRE UTF-8 checks to do=check FS#2636
avoid multiple paralell update checks
fix regression bug in HTTPClient FS#2621
changed PAGEUTILS_ID_HIDEPAGE to has BEFORE/AFTER
TarLib code cleanup
TarLib: fixed appending in non-dynamic mode
fixed third method of adding files in TarLib
fix lone zero block in TarLib created archives
fix use of constructor in TarLib
Slovak language update
Korean language update
Latvian language update
added event PAGEUTILS_ID_HIDEPAGE
added test for isHiddenPage()
removed redundant variables in tpl_include_page() (because of 3ff8773b)
added cut off points for mobile devices as parameters to style.ini
Corrected typo: ruke -> rule
Persian language update
Spanish language update
russian language update
...
496 files changed, 11982 insertions, 2788 deletions
diff --git a/.gitignore b/.gitignore index eb2474a3f..1daf647bf 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ *.old *~ *.DS_Store +*.iml /data/attic/* /data/cache/* /data/index/* diff --git a/_cs/DokuWiki/ruleset.xml b/_cs/DokuWiki/ruleset.xml index bfbef87fe..c69ef853a 100644 --- a/_cs/DokuWiki/ruleset.xml +++ b/_cs/DokuWiki/ruleset.xml @@ -25,7 +25,7 @@ <rule ref="Generic.CodeAnalysis.EmptyStatement" /> <rule ref="Generic.CodeAnalysis.UselessOverridingMethod" /> <rule ref="Generic.Commenting.Todo" /> - <ruke ref="Generic.Files.ByteOrderMark" /> + <rule ref="Generic.Files.ByteOrderMark" /> <rule ref="Generic.Files.LineEndings" /> <rule ref="Generic.Formatting.DisallowMultipleStatements" /> <rule ref="Generic.Metrics.NestingLevel"> diff --git a/_test/bootstrap.php b/_test/bootstrap.php index 58ad6a0d7..310b3627a 100644 --- a/_test/bootstrap.php +++ b/_test/bootstrap.php @@ -110,3 +110,7 @@ $dh->close(); // load dw require_once(DOKU_INC.'inc/init.php'); +// load the parser so $PARSER_MODES is defined before the tests start +// otherwise PHPUnit unsets $PARSER_MODES in some cases which breaks p_get_parsermodes() +require_once(DOKU_INC.'inc/parser/parser.php'); + diff --git a/_test/core/phpQuery-onefile.php b/_test/core/phpQuery-onefile.php index 4c1dfa3da..402cf8e49 100644 --- a/_test/core/phpQuery-onefile.php +++ b/_test/core/phpQuery-onefile.php @@ -4206,7 +4206,7 @@ class phpQueryObject .($node->getAttribute('id') ? '#'.$node->getAttribute('id'):'') .($node->getAttribute('class') - ? '.'.join('.', split(' ', $node->getAttribute('class'))):'') + ? '.'.join('.', explode(' ', $node->getAttribute('class'))):'') .($node->getAttribute('name') ? '[name="'.$node->getAttribute('name').'"]':'') .($node->getAttribute('value') && strpos($node->getAttribute('value'), '<'.'?php') === false diff --git a/_test/tests/inc/PageUtilsIsHiddenPage.test.php b/_test/tests/inc/PageUtilsIsHiddenPage.test.php new file mode 100644 index 000000000..a7077862e --- /dev/null +++ b/_test/tests/inc/PageUtilsIsHiddenPage.test.php @@ -0,0 +1,95 @@ +<?php + +class PageUtilsIsHiddenPageTest extends DokuWikiTest { + + function prepare($hidePages = '^:test$', $act = 'show') { + global $conf; + global $ACT; + $conf['hidepages'] = $hidePages; + $ACT = $act; + } + + function testHiddenOff(){ + $this->prepare(''); + + $this->assertFalse(isHiddenPage('test')); + } + + function testHiddenOffAdmin(){ + $this->prepare('^:test$', 'admin'); + + $this->assertFalse(isHiddenPage('test')); + } + + function testHiddenOnMatch(){ + $this->prepare(); + + $this->assertTrue(isHiddenPage('test')); + } + + function testHiddenOnNoMatch(){ + $this->prepare(); + + $this->assertFalse(isHiddenPage('another')); + } + + function testEventHandlerBefore() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'alwaysHide'); + + $this->assertTrue(isHiddenPage('another')); + } + + function alwaysHide(Doku_Event &$event, $params) { + $event->data['hidden'] = true; + } + + function testEventHandlerBeforeAndPrevent() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'showBefore'); + + $this->assertFalse(isHiddenPage('test')); + } + + function showBefore(Doku_Event &$event, $params) { + $event->data['hidden'] = false; + $event->preventDefault(); + $event->stopPropagation(); + } + + function testEventHandlerAfter() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'alwaysHide'); + + $this->assertTrue(isHiddenPage('another')); + } + + function testEventHandlerAfterHide() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'hideBeforeWithoutPrevent'); + + $this->assertTrue(isHiddenPage('another')); + } + + function hideBeforeWithoutPrevent(Doku_Event &$event, $params) { + $event->data['hidden'] = true; + } + + function testEventHandlerAfterShow() { + global $EVENT_HANDLER; + $this->prepare(); + $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'showAfter'); + + $this->assertFalse(isHiddenPage('test')); + } + + function showAfter(Doku_Event &$event, $params) { + $event->data['hidden'] = false; + } + +} +//Setup VIM: ex: et ts=4 : diff --git a/_test/tests/inc/html_hilight.test.php b/_test/tests/inc/html_hilight.test.php index bb0cdd424..fc4eced67 100644 --- a/_test/tests/inc/html_hilight.test.php +++ b/_test/tests/inc/html_hilight.test.php @@ -97,4 +97,36 @@ class html_hilight_test extends DokuWikiTest { html_hilight($html,'x/') ); } + + function testMB() { + $html = 'foo ДокуВики bar'; + $this->assertRegExp( + '/foo <span.*>ДокуВики<\/span> bar/', + html_hilight($html,'ДокуВики') + ); + } + + function testMBright() { + $html = 'foo ДокуВики bar'; + $this->assertRegExp( + '/foo <span.*>Доку<\/span>Вики bar/', + html_hilight($html,'Доку*') + ); + } + + function testMBleft() { + $html = 'foo ДокуВики bar'; + $this->assertRegExp( + '/foo Доку<span.*>Вики<\/span> bar/', + html_hilight($html,'*Вики') + ); + } + + function testMBboth() { + $html = 'foo ДокуВики bar'; + $this->assertRegExp( + '/foo До<span.*>куВи<\/span>ки bar/', + html_hilight($html,'*куВи*') + ); + } } diff --git a/_test/tests/inc/input.test.php b/_test/tests/inc/input.test.php index 761b7ddbc..59b5ea4b9 100644 --- a/_test/tests/inc/input.test.php +++ b/_test/tests/inc/input.test.php @@ -12,7 +12,8 @@ class input_test extends DokuWikiTest { 'zero' => '0', 'one' => '1', 'empty' => '', - 'emptya' => array() + 'emptya' => array(), + 'do' => array('save' => 'Speichern'), ); public function test_str() { @@ -213,4 +214,20 @@ class input_test extends DokuWikiTest { $this->assertEquals('bla',$test); } + public function test_extract(){ + $_REQUEST = $this->data; + $_POST = $this->data; + $_GET = $this->data; + $INPUT = new Input(); + + $this->assertEquals('save', $INPUT->extract('do')->str('do')); + $this->assertEquals('', $INPUT->extract('emptya')->str('emptya')); + $this->assertEquals('foo', $INPUT->extract('string')->str('string')); + $this->assertEquals('foo', $INPUT->extract('array')->str('array')); + + $this->assertEquals('save', $INPUT->post->extract('do')->str('do')); + $this->assertEquals('', $INPUT->post->extract('emptya')->str('emptya')); + $this->assertEquals('foo', $INPUT->post->extract('string')->str('string')); + $this->assertEquals('foo', $INPUT->post->extract('array')->str('array')); + } } diff --git a/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php b/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php index 0683848f1..f08785ca2 100644 --- a/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php +++ b/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php @@ -50,7 +50,8 @@ class parserutils_set_metadata_during_rendering_test extends DokuWikiTest { function helper_set_metadata($event, $meta) { if ($this->active) { p_set_metadata($this->id, $meta, false, true); - $key = array_pop(array_keys($meta)); + $keys = array_keys($meta); + $key = array_pop($keys); $this->assertTrue(is_string($meta[$key])); // ensure we really have a key // ensure that the metadata property hasn't been set previously $this->assertNotEquals($meta[$key], p_get_metadata($this->id, $key)); diff --git a/_test/tests/inc/subscription_set.test.php b/_test/tests/inc/subscription_set.test.php new file mode 100644 index 000000000..5c0a6c816 --- /dev/null +++ b/_test/tests/inc/subscription_set.test.php @@ -0,0 +1,20 @@ +<?php +/** + * Tests the subscription set function + */ +class subscription_set_test extends DokuWikiTest { + /** + * Tests, if overwriting subscriptions works even when subscriptions for the same + * user exist for two nested namespaces, this is a test for the bug described in FS#2580 + */ + function test_overwrite() { + subscription_set('admin', ':', 'digest', '123456789'); + subscription_set('admin', ':wiki:', 'digest', '123456789'); + subscription_set('admin', ':', 'digest', '1234', true); + subscription_set('admin', ':wiki:', 'digest', '1234', true); + $subscriptions = subscription_find(':wiki:', array('user' => 'admin')); + $this->assertCount(1, $subscriptions[':'], 'More than one subscription saved for the root namespace even though the old one should have been overwritten.'); + $this->assertCount(1, $subscriptions[':wiki:'], 'More than one subscription saved for the wiki namespace even though the old one should have been overwritten.'); + $this->assertCount(2, $subscriptions, 'Didn\'t find the expected two subscriptions'); + } +} diff --git a/_test/tests/inc/tarlib.test.php b/_test/tests/inc/tarlib.test.php new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/_test/tests/inc/tarlib.test.php diff --git a/_test/tests/inc/template_sidebar.test.php b/_test/tests/inc/template_include_page.test.php index 56153894a..47d4d46f1 100644 --- a/_test/tests/inc/template_sidebar.test.php +++ b/_test/tests/inc/template_include_page.test.php @@ -1,12 +1,12 @@ <?php -class template_sidebar_test extends DokuWikiTest { +class template_include_page_test extends DokuWikiTest { function testNoSidebar() { global $ID; $ID = 'foo:bar:baz:test'; - $sidebar = tpl_sidebar(false); - $this->assertEquals('',$sidebar); + $sidebar = tpl_include_page('sidebar', false, true); + $this->assertEquals('', $sidebar); } function testExistingSidebars() { @@ -15,25 +15,25 @@ class template_sidebar_test extends DokuWikiTest { saveWikiText('sidebar', 'topsidebar-test', ''); $ID = 'foo:bar:baz:test'; - $sidebar = tpl_sidebar(false); + $sidebar = tpl_include_page('sidebar', false, true); $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); $ID = 'foo'; - $sidebar = tpl_sidebar(false); + $sidebar = tpl_include_page('sidebar', false, true); $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); saveWikiText('foo:bar:sidebar', 'bottomsidebar-test', ''); $ID = 'foo:bar:baz:test'; - $sidebar = tpl_sidebar(false); + $sidebar = tpl_include_page('sidebar', false, true); $this->assertTrue(strpos($sidebar, 'bottomsidebar-test') > 0); $ID = 'foo:bar:test'; - $sidebar = tpl_sidebar(false); + $sidebar = tpl_include_page('sidebar', false, true); $this->assertTrue(strpos($sidebar, 'bottomsidebar-test') > 0); $ID = 'foo'; - $sidebar = tpl_sidebar(false); + $sidebar = tpl_include_page('sidebar', false, true); $this->assertTrue(strpos($sidebar, 'topsidebar-test') > 0); } diff --git a/_test/tests/inc/utf8_basename.test.php b/_test/tests/inc/utf8_basename.test.php index 1cb5b5606..1544e9915 100644 --- a/_test/tests/inc/utf8_basename.test.php +++ b/_test/tests/inc/utf8_basename.test.php @@ -59,6 +59,28 @@ class utf8_basename_test extends DokuWikiTest { array('\\this\\foo\\ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), array('/this\\foo/ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), array('/this/foo\\ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), + + array('bar.test.png', '', 'bar.test.png'), + array('bar.test.png', '.png', 'bar.test'), + + array('/bar.test.png', '', 'bar.test.png'), + array('/bar.test.png', '.png', 'bar.test'), + array('\\bar.test.png', '', 'bar.test.png'), + array('\\bar.test.png', '.png', 'bar.test'), + array('\\/bar.test.png', '', 'bar.test.png'), + array('\\/bar.test.png', '.png', 'bar.test'), + array('/\\bar.test.png', '', 'bar.test.png'), + array('/\\bar.test.png', '.png', 'bar.test'), + + // PHP's basename does this too: + array('foo/', '', 'foo'), + array('foo\\', '', 'foo'), + array('foo\\/', '', 'foo'), + array('foo/\\', '', 'foo'), + array('foo.png/', '.png', 'foo'), + array('foo.png\\', '.png', 'foo'), + array('foo.png\\/', '.png', 'foo'), + array('foo.png/\\', '.png', 'foo'), ); foreach($data as $test){ diff --git a/_test/tests/lib/exe/js_js_compress.test.php b/_test/tests/lib/exe/js_js_compress.test.php index 49f93cc54..b1ae2a84f 100644 --- a/_test/tests/lib/exe/js_js_compress.test.php +++ b/_test/tests/lib/exe/js_js_compress.test.php @@ -118,6 +118,32 @@ class js_js_compress_test extends DokuWikiTest { $this->assertEquals("var foo='this is a multiline string';",js_compress($text)); } + function test_nocompress(){ + $text = <<<EOF +var meh = 'test' ; + +/* BEGIN NOCOMPRESS */ + + +var foo = 'test' ; + +var bar = 'test' ; + + +/* END NOCOMPRESS */ + +var moh = 'test' ; +EOF; + $out = <<<EOF +var meh='test'; +var foo = 'test' ; + +var bar = 'test' ; +var moh='test'; +EOF; + + $this->assertEquals($out, js_compress($text)); + } /** * Test the files provided with the original JsStrip diff --git a/bin/striplangs.php b/bin/striplangs.php index 40cef5063..40cef5063 100644..100755 --- a/bin/striplangs.php +++ b/bin/striplangs.php diff --git a/conf/acronyms.conf b/conf/acronyms.conf index 058e85550..66f563bd2 100644 --- a/conf/acronyms.conf +++ b/conf/acronyms.conf @@ -90,8 +90,6 @@ OTOH On the other hand P2P Peer to Peer PDA Personal Digital Assistant PDF Portable Document Format -Perl Practical Extraction and Report Language -PERL Practical Extraction and Report Language PHP Hypertext Preprocessor PICS Platform for Internet Content Selection PIN Personal Identification Number diff --git a/data/deleted.files b/data/deleted.files index d034e1d5b..fada1f29e 100644 --- a/data/deleted.files +++ b/data/deleted.files @@ -4,6 +4,14 @@ # A copy of this list is maintained at # http://www.dokuwiki.org/install:upgrade#files_to_remove +# removed in 2012-09-10 +lib/images/icon-file.png +lib/images/icon-thumb.png +lib/images/interwiki/skype.png +lib/plugins/acl/rtl.css +lib/plugins/config/rtl.css +lib/plugins/plugin/rtl.css + # removed in 2011-11-10 lib/_fla/.htaccess lib/_fla/MultipleUpload.as @@ -9,7 +9,7 @@ */ // update message version -$updateVersion = 36.2; +$updateVersion = 38; // xdebug_start_profiling(); @@ -33,9 +33,6 @@ $_REQUEST['id'] = str_replace("\xC2\xAD", '', $INPUT->str('id')); //soft-hyphen $QUERY = trim($INPUT->str('id')); $ID = getID(); -// deprecated 2011-01-14 -$NS = getNS($ID); - $REV = $INPUT->int('rev'); $IDX = $INPUT->str('idx'); $DATE = $INPUT->int('date'); @@ -202,6 +202,8 @@ function rss_buildItems(&$rss, &$data, $opt) { $id = $ditem['id']; if(!$ditem['media']) { $meta = p_get_metadata($id); + } else { + $meta = array(); } // add date @@ -209,6 +211,8 @@ function rss_buildItems(&$rss, &$data, $opt) { $date = $ditem['date']; } elseif($meta['date']['modified']) { $date = $meta['date']['modified']; + } else if ($ditem['media']) { + $date = @filemtime(mediaFN($id)); } else { $date = @filemtime(wikiFN($id)); } diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 8d2c10be1..51c1de875 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -565,15 +565,17 @@ class HTTPClient { if(feof($socket)) throw new HTTPClientException("Socket disconnected while writing $message"); - // wait for stream ready or timeout - self::selecttimeout($this->timeout - $time_used, $sec, $usec); - if(@stream_select($sel_r, $sel_w, $sel_e, $sec, $usec) !== false){ - // write to stream - $nbytes = fwrite($socket, substr($data,$written,4096)); - if($nbytes === false) - throw new HTTPClientException("Failed writing to socket while sending $message", -100); - $written += $nbytes; + // wait for stream ready or timeout (1sec) + if(@stream_select($sel_r,$sel_w,$sel_e,1) === false){ + usleep(1000); + continue; } + + // write to stream + $nbytes = fwrite($socket, substr($data,$written,4096)); + if($nbytes === false) + throw new HTTPClientException("Failed writing to socket while sending $message", -100); + $written += $nbytes; } } @@ -612,15 +614,17 @@ class HTTPClient { } if ($to_read > 0) { - // wait for stream ready or timeout - self::selecttimeout($this->timeout - $time_used, $sec, $usec); - if(@stream_select($sel_r, $sel_w, $sel_e, $sec, $usec) !== false){ - $bytes = fread($socket, $to_read); - if($bytes === false) - throw new HTTPClientException("Failed reading from socket while reading $message", -100); - $r_data .= $bytes; - $to_read -= strlen($bytes); + // wait for stream ready or timeout (1sec) + if(@stream_select($sel_r,$sel_w,$sel_e,1) === false){ + usleep(1000); + continue; } + + $bytes = fread($socket, $to_read); + if($bytes === false) + throw new HTTPClientException("Failed reading from socket while reading $message", -100); + $r_data .= $bytes; + $to_read -= strlen($bytes); } } while ($to_read > 0 && strlen($r_data) < $nbytes); return $r_data; @@ -651,11 +655,13 @@ class HTTPClient { if(feof($socket)) throw new HTTPClientException("Premature End of File (socket) while reading $message"); - // wait for stream ready or timeout - self::selecttimeout($this->timeout - $time_used, $sec, $usec); - if(@stream_select($sel_r, $sel_w, $sel_e, $sec, $usec) !== false){ - $r_data = fgets($socket, 1024); + // wait for stream ready or timeout (1sec) + if(@stream_select($sel_r,$sel_w,$sel_e,1) === false){ + usleep(1000); + continue; } + + $r_data = fgets($socket, 1024); } while (!preg_match('/\n$/',$r_data)); return $r_data; } @@ -686,14 +692,6 @@ class HTTPClient { } /** - * Calculate seconds and microseconds - */ - static function selecttimeout($time, &$sec, &$usec){ - $sec = floor($time); - $usec = (int)(($time - $sec) * 1000000); - } - - /** * convert given header string to Header array * * All Keys are lowercased. diff --git a/inc/Input.class.php b/inc/Input.class.php index f4174404a..35aecdb45 100644 --- a/inc/Input.class.php +++ b/inc/Input.class.php @@ -175,6 +175,40 @@ class Input { return (array) $this->access[$name]; } + /** + * Create a simple key from an array key + * + * This is useful to access keys where the information is given as an array key or as a single array value. + * For example when the information was submitted as the name of a submit button. + * + * This function directly changes the access array. + * + * Eg. $_REQUEST['do']['save']='Speichern' becomes $_REQUEST['do'] = 'save' + * + * This function returns the $INPUT object itself for easy chaining + * + * @param $name + * @return Input + */ + public function extract($name){ + if(!isset($this->access[$name])) return $this; + if(!is_array($this->access[$name])) return $this; + $keys = array_keys($this->access[$name]); + if(!$keys){ + // this was an empty array + $this->remove($name); + return $this; + } + // get the first key + $value = array_shift($keys); + if($value === 0){ + // we had a numeric array, assume the value is not in the key + $value = array_shift($this->access[$name]); + } + + $this->set($name, $value); + return $this; + } } /** diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index ce643a7e6..ba6a2b5bb 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -1209,7 +1209,7 @@ class JpegMeta { function _parseFileInfo() { if (file_exists($this->_fileName) && is_file($this->_fileName)) { $this->_info['file'] = array(); - $this->_info['file']['Name'] = utf8_basename($this->_fileName); + $this->_info['file']['Name'] = utf8_decodeFN(utf8_basename($this->_fileName)); $this->_info['file']['Path'] = fullpath($this->_fileName); $this->_info['file']['Size'] = filesize($this->_fileName); if ($this->_info['file']['Size'] < 1024) { diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php index ab05b9eae..b9e4a2b2a 100644 --- a/inc/SafeFN.class.php +++ b/inc/SafeFN.class.php @@ -44,7 +44,7 @@ class SafeFN { * * @author Christopher Smith <chris@jalakai.co.uk> */ - public function encode($filename) { + public static function encode($filename) { return self::unicode_to_safe(utf8_to_unicode($filename)); } @@ -73,15 +73,15 @@ class SafeFN { * * @author Christopher Smith <chris@jalakai.co.uk> */ - public function decode($filename) { + public static function decode($filename) { return unicode_to_utf8(self::safe_to_unicode(strtolower($filename))); } - public function validate_printable_utf8($printable_utf8) { + public static function validate_printable_utf8($printable_utf8) { return !preg_match('#[\x01-\x1f]#',$printable_utf8); } - public function validate_safe($safe) { + public static function validate_safe($safe) { return !preg_match('#[^'.self::$plain.self::$post_indicator.self::$pre_indicator.']#',$safe); } @@ -93,7 +93,7 @@ class SafeFN { * * @author Christopher Smith <chris@jalakai.co.uk> */ - private function unicode_to_safe($unicode) { + private static function unicode_to_safe($unicode) { $safe = ''; $converted = false; @@ -126,7 +126,7 @@ class SafeFN { * * @author Christopher Smith <chris@jalakai.co.uk> */ - private function safe_to_unicode($safe) { + private static function safe_to_unicode($safe) { $unicode = array(); $split = preg_split('#(?=['.self::$post_indicator.self::$pre_indicator.'])#',$safe,-1,PREG_SPLIT_NO_EMPTY); diff --git a/inc/Sitemapper.php b/inc/Sitemapper.php index bbea73b52..bf89a311c 100644 --- a/inc/Sitemapper.php +++ b/inc/Sitemapper.php @@ -63,11 +63,11 @@ class Sitemapper { $event = new Doku_Event('SITEMAP_GENERATE', $eventData); if ($event->advise_before(true)) { //save the new sitemap - $result = io_saveFile($sitemap, Sitemapper::getXML($items)); + $event->result = io_saveFile($sitemap, Sitemapper::getXML($items)); } $event->advise_after(); - return $result; + return $event->result; } /** @@ -82,6 +82,7 @@ class Sitemapper { echo '<?xml version="1.0" encoding="UTF-8"?>'.NL; echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'.NL; foreach ($items as $item) { + /** @var SitemapItem $item */ echo $item->toXML(); } echo '</urlset>'.NL; @@ -93,14 +94,14 @@ class Sitemapper { /** * Helper function for getting the path to the sitemap file. * - * @return The path to the sitemap file. + * @return string The path to the sitemap file. * @author Michael Hamann */ public static function getFilePath() { global $conf; $sitemap = $conf['cachedir'].'/sitemap.xml'; - if($conf['compression'] === 'bz2' || $conf['compression'] === 'gz'){ + if (self::sitemapIsCompressed()) { $sitemap .= '.gz'; } @@ -108,6 +109,16 @@ class Sitemapper { } /** + * Helper function for checking if the sitemap is compressed + * + * @return bool If the sitemap file is compressed + */ + public static function sitemapIsCompressed() { + global $conf; + return $conf['compression'] === 'bz2' || $conf['compression'] === 'gz'; + } + + /** * Pings search engines with the sitemap url. Plugins can add or remove * urls to ping using the SITEMAP_PING event. * @@ -175,7 +186,7 @@ class SitemapItem { * @param $id string A wikipage id. * @param $changefreq string How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never. * @param $priority float|string The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0. - * @return The sitemap item. + * @return SitemapItem The sitemap item. */ public static function createFromID($id, $changefreq = null, $priority = null) { $id = trim($id); @@ -187,7 +198,7 @@ class SitemapItem { /** * Get the XML representation of the sitemap item. * - * @return The XML representation. + * @return string The XML representation. */ public function toXML() { $result = ' <url>'.NL diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php index 126604cd1..e04c47cb8 100644 --- a/inc/TarLib.class.php +++ b/inc/TarLib.class.php @@ -13,7 +13,6 @@ * @author Christopher Smith <chris@jalakai.co.uk> */ - /** * Those constants represent the compression method to use. * COMPRESS_GZIP is used for the GZIP compression; COMPRESS_BZIP for @@ -68,15 +67,15 @@ class TarLib { var $_result; var $_initerror; - const COMPRESS_GZIP = 1; - const COMPRESS_BZIP = 2; - const COMPRESS_AUTO = 3; - const COMPRESS_NONE = 0; - const TARLIB_VERSION = '1.2'; - const FULL_ARCHIVE = -1; - const ARCHIVE_DYNAMIC = 0; + const COMPRESS_GZIP = 1; + const COMPRESS_BZIP = 2; + const COMPRESS_AUTO = 3; + const COMPRESS_NONE = 0; + const TARLIB_VERSION = '1.2'; + const FULL_ARCHIVE = -1; + const ARCHIVE_DYNAMIC = 0; const ARCHIVE_RENAMECOMP = 5; - const COMPRESS_DETECT = -1; + const COMPRESS_DETECT = -1; /** * constructor, initialize the class @@ -108,21 +107,21 @@ class TarLib { * represent the GZIP or BZIP compression level. 1 produce fast compression, * and 9 produce smaller files. See the RFC 1952 for more infos. */ - function __construct($p_filen = TarLib::ARCHIVE_DYNAMIC , $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) { + function __construct($p_filen = TarLib::ARCHIVE_DYNAMIC, $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) { $this->_initerror = 0; - $this->_nomf = $p_filen; - $flag=0; - if($p_comptype && $p_comptype % 5 == 0){ + $this->_nomf = $p_filen; + $flag = 0; + if($p_comptype && $p_comptype % 5 == 0) { $p_comptype /= TarLib::ARCHIVE_RENAMECOMP; - $flag=1; + $flag = 1; } if($p_complevel > 0 && $p_complevel <= 9) $this->_compzlevel = $p_complevel; - else $p_complevel = 9; + else $this->_compzlevel = 9; if($p_comptype == TarLib::COMPRESS_DETECT) { - if(strtolower(substr($p_filen,-3)) == '.gz') $p_comptype = TarLib::COMPRESS_GZIP; - elseif(strtolower(substr($p_filen,-4)) == '.bz2') $p_comptype = TarLib::COMPRESS_BZIP; + if(strtolower(substr($p_filen, -3)) == '.gz') $p_comptype = TarLib::COMPRESS_GZIP; + elseif(strtolower(substr($p_filen, -4)) == '.bz2') $p_comptype = TarLib::COMPRESS_BZIP; else $p_comptype = TarLib::COMPRESS_NONE; } @@ -152,7 +151,7 @@ class TarLib { if($this->_initerror < 0) $this->_comptype = TarLib::COMPRESS_NONE; - if($flag) $this->_nomf.= '.'.$this->getCompression(1); + if($flag) $this->_nomf .= '.'.$this->getCompression(1); $this->_result = true; } @@ -162,9 +161,9 @@ class TarLib { * This function does exactly the same as TarLib (constructor), except it * returns a status code. */ - function setArchive($p_name='', $p_comp = TarLib::COMPRESS_AUTO, $p_level=9) { + function setArchive($p_name = '', $p_comp = TarLib::COMPRESS_AUTO, $p_level = 9) { $this->_CompTar(); - $this->TarLib($p_name, $p_comp, $p_level); + $this->__construct($p_name, $p_comp, $p_level); return $this->_result; } @@ -186,7 +185,7 @@ class TarLib { * MaxgTar Constants */ function getCompression($ext = false) { - $exts = Array('tar','tar.gz','tar.bz2'); + $exts = Array('tar', 'tar.gz', 'tar.bz2'); if($ext) return $exts[$this->_comptype]; return $this->_comptype; } @@ -263,8 +262,10 @@ class TarLib { if(!$archive && !$this->_memdat) return -10; if(!$name) $name = utf8_basename($this->_nomf); - if($archive){ if(!file_exists($archive)) return -11; } - else $decoded = $this->getDynamicArchive(); + if($archive) { + if(!file_exists($archive)) return -11; + } + $decoded = $this->getDynamicArchive(); if($headers) { header('Content-Type: application/x-gtar'); @@ -274,10 +275,10 @@ class TarLib { } if($archive) { - $fp = @fopen($archive,'rb'); + $fp = @fopen($archive, 'rb'); if(!$fp) return -4; - while(!feof($fp)) echo fread($fp,2048); + while(!feof($fp)) echo fread($fp, 2048); } else { echo $decoded; } @@ -311,10 +312,10 @@ class TarLib { * permission in octal mode (prefixed with a 0) that will be given on each * extracted file. */ - function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir='', $p_mode = 0755) { + function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir = '', $p_mode = 0755) { if(!$this->_OpenRead()) return -4; // if(!@is_dir($p_to)) if(!@mkdir($p_to, 0777)) return -8; --CS - if(!@is_dir($p_to)) if(!$this->_dirApp($p_to)) return -8; //--CS (route through correct dir fn) + if(!@is_dir($p_to)) if(!$this->_dirApp($p_to)) return -8; //--CS (route through correct dir fn) $ok = $this->_extractList($p_to, $p_what, $p_remdir, $p_mode); $this->_CompTar(); @@ -327,21 +328,20 @@ class TarLib { * * This function will attempt to create a new archive with global headers * then add the given files into. If the archive is a real file, the - * contents are written directly into the file, if it is a dynamic archive + * contents are written directly into the file. If it is a dynamic archive, * contents are only stored in memory. This function should not be used to * add files to an existing archive, you should use Add() instead. * - * The FileList actually supports three different modes : + * The FileList actually supports three different modes: * * - You can pass a string containing filenames separated by pipes '|'. - * In this case the file are read from the webserver filesystem and the - * root folder is the folder where the script using the MaxgTar is called. + * In this case thes file are read from the filesystem and the root folder + * is the folder running script located. NOT RECOMMENDED * - * - You can also give a unidimensional indexed array containing the - * filenames. The behaviour for the content reading is the same that a - * '|'ed string. + * - You can also give an indexed array containing the filenames. The + * behaviour for the content reading is the same as above. * - * - The more useful usage is to pass bidimensional arrays, where the + * - You can pass an array of arrays. For each file use an array where the * first element contains the filename and the second contains the file * contents. You can even add empty folders to the package if the filename * has a leading '/'. Once again, have a look at the exemples to understand @@ -357,15 +357,15 @@ class TarLib { * to the file you store. Note also that the RemovePath is applied before the * AddPath is added, so it HAS a sense to use both parameters together. */ - function Create($p_filelist,$p_add='',$p_rem='') { + function Create($p_filelist, $p_add = '', $p_rem = '') { if(!$fl = $this->_fetchFilelist($p_filelist)) return -5; if(!$this->_OpenWrite()) return -6; - $ok = $this->_addFileList($fl,$p_add,$p_rem); + $ok = $this->_addFileList($fl, $p_add, $p_rem); - if($ok){ + if($ok) { $this->_writeFooter(); - }else{ + } else { $this->_CompTar(); @unlink($this->_nomf); } @@ -376,18 +376,26 @@ class TarLib { /** * Add files to an existing package. * - * This function does exactly the same than Create() exept it - * will append the given files at the end of the archive. Please not the is - * safe to call Add() on a newly created archive whereas the - * contrary will fail ! + * This function does exactly the same as Create() exept it + * will append the given files at the end of the archive. + * + * Note: This is only supported for dynamic in memory files and uncompressed + * tar files * * This function returns a status code, you can use TarErrorStr() on * it to get the human-readable description of the error. */ function Add($p_filelist, $p_add = '', $p_rem = '') { - if (($this->_nomf != TarLib::ARCHIVE_DYNAMIC && @is_file($this->_nomf)) || - ($this->_nomf == TarLib::ARCHIVE_DYNAMIC && !$this->_memdat)){ - return $this->Create($p_filelist, $p_add, $p_rem); + if($this->_nomf !== TarLib::ARCHIVE_DYNAMIC && + $this->_comptype !== TarLib::COMPRESS_NONE + ) { + return -12; + } + + if(($this->_nomf !== TarLib::ARCHIVE_DYNAMIC && !$this->_fp) || + ($this->_nomf === TarLib::ARCHIVE_DYNAMIC && !$this->_memdat) + ) { + return $this->Create($p_filelist, $p_add, $p_rem); } if(!$fl = $this->_fetchFilelist($p_filelist)) return -5; @@ -419,15 +427,15 @@ class TarLib { $result = Array(); - while ($dat = $this->_read(512)) { + while($dat = $this->_read(512)) { $dat = $this->_readHeader($dat); if(!is_array($dat)) continue; - $this->_seek(ceil($dat['size']/512)*512,1); + $this->_seek(ceil($dat['size'] / 512) * 512, 1); $result[] = $dat; } - return $result; + return $result; } /** @@ -439,35 +447,48 @@ class TarLib { */ function TarErrorStr($i) { $ecodes = Array( - 1 => true, - 0 => "Undocumented error", - -1 => "Can't use COMPRESS_GZIP compression : ZLIB extensions are not loaded !", - -2 => "Can't use COMPRESS_BZIP compression : BZ2 extensions are not loaded !", - -3 => "You must set a archive file to read the contents !", - -4 => "Can't open the archive file for read !", - -5 => "Invalide file list !", - -6 => "Can't open the archive in write mode !", - -7 => "There is no ARCHIVE_DYNAMIC to write !", - -8 => "Can't create the directory to extract files !", - -9 => "Please pass a archive name to send if you made created an ARCHIVE_DYNAMIC !", - -10 => "You didn't pass an archive filename and there is no stored ARCHIVE_DYNAMIC !", - -11 => "Given archive doesn't exist !" - ); + 1 => true, + 0 => "Undocumented error", + -1 => "Can't use COMPRESS_GZIP compression : ZLIB extensions are not loaded !", + -2 => "Can't use COMPRESS_BZIP compression : BZ2 extensions are not loaded !", + -3 => "You must set a archive file to read the contents !", + -4 => "Can't open the archive file for read !", + -5 => "Invalide file list !", + -6 => "Can't open the archive in write mode !", + -7 => "There is no ARCHIVE_DYNAMIC to write !", + -8 => "Can't create the directory to extract files !", + -9 => "Please pass a archive name to send if you made created an ARCHIVE_DYNAMIC !", + -10 => "You didn't pass an archive filename and there is no stored ARCHIVE_DYNAMIC !", + -11 => "Given archive doesn't exist !", + -12 => "Appending not supported for compressed files" + ); return isset($ecodes[$i]) ? $ecodes[$i] : $ecodes[0]; } - function _seek($p_flen, $tell=0) { + /** + * Seek in the data stream + * + * @todo probably broken for bzip tars + * @param int $p_flen seek to this position + * @param bool $tell seek from current position? + */ + function _seek($p_flen, $tell = false) { if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) - $this->_memdat=substr($this->_memdat,0,($tell ? strlen($this->_memdat) : 0) + $p_flen); + $this->_memdat = substr($this->_memdat, 0, ($tell ? strlen($this->_memdat) : 0) + $p_flen); elseif($this->_comptype == TarLib::COMPRESS_GZIP) - @gzseek($this->_fp, ($tell ? @gztell($this->_fp) : 0)+$p_flen); + @gzseek($this->_fp, ($tell ? @gztell($this->_fp) : 0) + $p_flen); elseif($this->_comptype == TarLib::COMPRESS_BZIP) - @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen); + @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0) + $p_flen); else - @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen); + @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0) + $p_flen); } + /** + * Open the archive for reading + * + * @return bool true if succesfull + */ function _OpenRead() { if($this->_comptype == TarLib::COMPRESS_GZIP) $this->_fp = @gzopen($this->_nomf, 'rb'); @@ -479,6 +500,12 @@ class TarLib { return ($this->_fp ? true : false); } + /** + * Open the archive for writing + * + * @param string $add filemode + * @return bool true on success + */ function _OpenWrite($add = 'w') { if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) return true; @@ -492,6 +519,9 @@ class TarLib { return ($this->_fp ? true : false); } + /** + * Closes the open file pointer + */ function _CompTar() { if($this->_nomf === TarLib::ARCHIVE_DYNAMIC || !$this->_fp) return; @@ -500,27 +530,46 @@ class TarLib { else @fclose($this->_fp); } + /** + * Read from the open file pointer + * + * @param int $p_len bytes to read + * @return string + */ function _read($p_len) { if($this->_comptype == TarLib::COMPRESS_GZIP) - return @gzread($this->_fp,$p_len); + return @gzread($this->_fp, $p_len); elseif($this->_comptype == TarLib::COMPRESS_BZIP) - return @bzread($this->_fp,$p_len); + return @bzread($this->_fp, $p_len); else - return @fread($this->_fp,$p_len); + return @fread($this->_fp, $p_len); } + /** + * Write to the open filepointer or memory + * + * @param string $p_data + * @return int + */ function _write($p_data) { - if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) $this->_memdat .= $p_data; - elseif($this->_comptype == TarLib::COMPRESS_GZIP) - return @gzwrite($this->_fp,$p_data); - - elseif($this->_comptype == TarLib::COMPRESS_BZIP) - return @bzwrite($this->_fp,$p_data); - - else - return @fwrite($this->_fp,$p_data); + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) { + $this->_memdat .= $p_data; + return strlen($p_data); + } elseif($this->_comptype == TarLib::COMPRESS_GZIP) { + return @gzwrite($this->_fp, $p_data); + } elseif($this->_comptype == TarLib::COMPRESS_BZIP) { + return @bzwrite($this->_fp, $p_data); + } else { + return @fwrite($this->_fp, $p_data); + } } + /** + * Compress given data according to the set compression method + * + * @param $p_dat + * @return string + */ function _encode($p_dat) { if($this->_comptype == TarLib::COMPRESS_GZIP) return gzencode($p_dat, $this->_compzlevel); @@ -529,55 +578,77 @@ class TarLib { else return $p_dat; } + /** + * Decode the given tar file header + * + * @param $p_dat + * @return array|bool + */ function _readHeader($p_dat) { - if (!$p_dat || strlen($p_dat) != 512) return false; + if(!$p_dat || strlen($p_dat) != 512) return false; - for ($i=0, $chks=0; $i<148; $i++) + for($i = 0, $chks = 0; $i < 148; $i++) $chks += ord($p_dat[$i]); - for ($i=156,$chks+=256; $i<512; $i++) + for($i = 156, $chks += 256; $i < 512; $i++) $chks += ord($p_dat[$i]); $headers = @unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor", $p_dat); if(!$headers) return false; $return['checksum'] = OctDec(trim($headers['checksum'])); - if ($return['checksum'] != $chks) return false; + if($return['checksum'] != $chks) return false; $return['filename'] = trim($headers['filename']); - $return['mode'] = OctDec(trim($headers['mode'])); - $return['uid'] = OctDec(trim($headers['uid'])); - $return['gid'] = OctDec(trim($headers['gid'])); - $return['size'] = OctDec(trim($headers['size'])); - $return['mtime'] = OctDec(trim($headers['mtime'])); + $return['mode'] = OctDec(trim($headers['mode'])); + $return['uid'] = OctDec(trim($headers['uid'])); + $return['gid'] = OctDec(trim($headers['gid'])); + $return['size'] = OctDec(trim($headers['size'])); + $return['mtime'] = OctDec(trim($headers['mtime'])); $return['typeflag'] = $headers['typeflag']; - $return['link'] = trim($headers['link']); - $return['uname'] = trim($headers['uname']); - $return['gname'] = trim($headers['gname']); + $return['link'] = trim($headers['link']); + $return['uname'] = trim($headers['uname']); + $return['gname'] = trim($headers['gname']); return $return; } + /** + * Builds a normalized file list + * + * @todo remove string support, use saner format + * + * @param $p_filelist + * @return array|bool + */ function _fetchFilelist($p_filelist) { if(!$p_filelist || (is_array($p_filelist) && !@count($p_filelist))) return false; if(is_string($p_filelist)) { - $p_filelist = explode('|',$p_filelist); + $p_filelist = explode('|', $p_filelist); if(!is_array($p_filelist)) $p_filelist = Array($p_filelist); } return $p_filelist; } + /** + * Adds files given as file list + * + * @param array $p_fl + * @param string $p_addir + * @param string $p_remdir + * @return bool + */ function _addFileList($p_fl, $p_addir, $p_remdir) { foreach($p_fl as $file) { - if(($file == $this->_nomf && $this->_nomf != TarLib::ARCHIVE_DYNAMIC) || !$file || (!file_exists($file) && !is_array($file))) + if(($file == $this->_nomf && $this->_nomf !== TarLib::ARCHIVE_DYNAMIC) || !$file || (!is_array($file) && !file_exists($file))) continue; - if (!$this->_addFile($file, $p_addir, $p_remdir)) + if(!$this->_addFile($file, $p_addir, $p_remdir)) continue; - if (@is_dir($file)) { + if(@is_dir($file)) { $d = @opendir($file); if(!$d) continue; @@ -592,26 +663,36 @@ class TarLib { } closedir($d); - unset($tmplist,$f); + unset($tmplist, $f); } } return true; } + /** + * Adds a single file + * + * @param array|string $p_fn + * @param string $p_addir + * @param string $p_remdir + * @return bool + */ function _addFile($p_fn, $p_addir = '', $p_remdir = '') { + $data = false; if(is_array($p_fn)) list($p_fn, $data) = $p_fn; $sname = $p_fn; if($p_remdir) { - if(substr($p_remdir,-1) != '/') $p_remdir .= "/"; + if(substr($p_remdir, -1) != '/') $p_remdir .= "/"; if(substr($sname, 0, strlen($p_remdir)) == $p_remdir) $sname = substr($sname, strlen($p_remdir)); } - if($p_addir) $sname = $p_addir.(substr($p_addir,-1) == '/' ? '' : "/").$sname; + if($p_addir) $sname = $p_addir.(substr($p_addir, -1) == '/' ? '' : "/").$sname; - if(strlen($sname) > 99) return; + // FIXME ustar should support up 256 chars + if(strlen($sname) > 99) return false; if(@is_dir($p_fn)) { if(!$this->_writeFileHeader($p_fn, $sname)) return false; @@ -625,14 +706,14 @@ class TarLib { if(!$data) { while(!feof($fp)) { - $packed = pack("a512", fread($fp,512)); + $packed = pack("a512", fread($fp, 512)); $this->_write($packed); } fclose($fp); } else { $len = strlen($data); - for($s = 0; $s < $len; $s += 512){ - $this->_write(pack("a512",substr($data,$s,512))); + for($s = 0; $s < $len; $s += 512) { + $this->_write(pack("a512", substr($data, $s, 512))); } } } @@ -640,53 +721,70 @@ class TarLib { return true; } - function _writeFileHeader($p_file, $p_sname, $p_data=false) { + /** + * Write the header for a file in the TAR archive + * + * @param string $p_file + * @param string $p_sname + * @param bool $p_data + * @return bool + */ + function _writeFileHeader($p_file, $p_sname, $p_data = false) { if(!$p_data) { - if (!$p_sname) $p_sname = $p_file; + if(!$p_sname) $p_sname = $p_file; $p_sname = $this->_pathTrans($p_sname); $h_info = stat($p_file); - $h[0] = sprintf("%6s ", DecOct($h_info[4])); - $h[] = sprintf("%6s ", DecOct($h_info[5])); - $h[] = sprintf("%6s ", DecOct(fileperms($p_file))); + $h[0] = sprintf("%6s ", DecOct($h_info[4])); + $h[] = sprintf("%6s ", DecOct($h_info[5])); + $h[] = sprintf("%6s ", DecOct(fileperms($p_file))); clearstatcache(); $h[] = sprintf("%11s ", DecOct(filesize($p_file))); $h[] = sprintf("%11s", DecOct(filemtime($p_file))); $dir = @is_dir($p_file) ? '5' : ''; } else { - $dir = ''; + $dir = ''; $p_data = sprintf("%11s ", DecOct($p_data)); - $time = sprintf("%11s ", DecOct(time())); - $h = Array(" 0 "," 0 "," 40777 ",$p_data,$time); + $time = sprintf("%11s ", DecOct(time())); + $h = Array(" 0 ", " 0 ", " 40777 ", $p_data, $time); } $data_first = pack("a100a8a8a8a12A12", $p_sname, $h[2], $h[0], $h[1], $h[3], $h[4]); - $data_last = pack("a1a100a6a2a32a32a8a8a155a12", $dir, '', '', '', '', '', '', '', '', ""); + $data_last = pack("a1a100a6a2a32a32a8a8a155a12", $dir, '', '', '', '', '', '', '', '', ""); - for ($i=0,$chks=0; $i<148; $i++) + for($i = 0, $chks = 0; $i < 148; $i++) $chks += ord($data_first[$i]); - for ($i=156, $chks+=256, $j=0; $i<512; $i++, $j++) + for($i = 156, $chks += 256, $j = 0; $i < 512; $i++, $j++) $chks += ord($data_last[$j]); $this->_write($data_first); - $chks = pack("a8",sprintf("%6s ", DecOct($chks))); + $chks = pack("a8", sprintf("%6s ", DecOct($chks))); $this->_write($chks.$data_last); return true; } - function _append($p_filelist, $p_addir="", $p_remdir="") { + /** + * Append the given files to the already open archive + * + * @param array $p_filelist + * @param string $p_addir + * @param string $p_remdir + * @return bool|int + */ + function _append($p_filelist, $p_addir = "", $p_remdir = "") { if(!$this->_fp) if(!$this->_OpenWrite('a')) return -6; - if($this->_nomf == TarLib::ARCHIVE_DYNAMIC) { - $s = strlen($this->_memdat); - $this->_memdat = substr($this->_memdat,0,-512); + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) { + $this->_memdat = substr($this->_memdat, 0, -512 * 2); // remove footer } else { + clearstatcache(); $s = filesize($this->_nomf); - $this->_seek($s-512); + + $this->_seek($s - (512 * 2)); // remove footer } $ok = $this->_addFileList($p_filelist, $p_addir, $p_remdir); @@ -695,48 +793,70 @@ class TarLib { return $ok; } + /** + * Cleans up a path and removes relative parts + * + * @param string $p_dir + * @return string + */ function _pathTrans($p_dir) { - if ($p_dir) { + $r = ''; + if($p_dir) { $subf = explode("/", $p_dir); - $r=''; - for ($i=count($subf)-1; $i>=0; $i--) { - if ($subf[$i] == ".") { + for($i = count($subf) - 1; $i >= 0; $i--) { + if($subf[$i] == ".") { # do nothing - } elseif ($subf[$i] == "..") { + } elseif($subf[$i] == "..") { $i--; - } elseif (!$subf[$i] && $i!=count($subf)-1 && $i) { + } elseif(!$subf[$i] && $i != count($subf) - 1 && $i) { # do nothing } else { - $r = $subf[$i].($i!=(count($subf)-1) ? "/".$r : ""); + $r = $subf[$i].($i != (count($subf) - 1) ? "/".$r : ""); } } } return $r; } + /** + * Add the closing footer to the archive + * + * Physically, an archive consists of a series of file entries terminated by an end-of-archive entry, which + * consists of two 512 blocks of zero bytes + * + * @link http://www.gnu.org/software/tar/manual/html_chapter/tar_8.html#SEC134 + */ function _writeFooter() { $this->_write(pack("a512", "")); + $this->_write(pack("a512", "")); } + /** + * @param $p_to + * @param $p_files + * @param $p_remdir + * @param int $p_mode + * @return array|bool|int|string + */ function _extractList($p_to, $p_files, $p_remdir, $p_mode = 0755) { - if (!$p_to || ($p_to[0]!="/"&&substr($p_to,0,3)!="../"&&substr($p_to,1,3)!=":\\"&&substr($p_to,1,2)!=":/")) /*" // <- PHP Coder bug */ + if(!$p_to || ($p_to[0] != "/" && substr($p_to, 0, 3) != "../" && substr($p_to, 1, 3) != ":\\" && substr($p_to, 1, 2) != ":/")) /*" // <- PHP Coder bug */ $p_to = "./$p_to"; - if ($p_remdir && substr($p_remdir,-1)!='/') $p_remdir .= '/'; + if($p_remdir && substr($p_remdir, -1) != '/') $p_remdir .= '/'; $p_remdirs = strlen($p_remdir); while($dat = $this->_read(512)) { $headers = $this->_readHeader($dat); if(!$headers['filename']) continue; - if($p_files == -1 || $p_files[0] == -1){ + if($p_files == -1 || $p_files[0] == -1) { $extract = true; } else { $extract = false; foreach($p_files as $f) { - if(substr($f,-1) == "/") { - if((strlen($headers['filename']) > strlen($f)) && (substr($headers['filename'],0,strlen($f))==$f)) { + if(substr($f, -1) == "/") { + if((strlen($headers['filename']) > strlen($f)) && (substr($headers['filename'], 0, strlen($f)) == $f)) { $extract = true; break; } @@ -747,15 +867,15 @@ class TarLib { } } - if ($extract) { + if($extract) { $det[] = $headers; - if ($p_remdir && substr($headers['filename'],0,$p_remdirs)==$p_remdir) - $headers['filename'] = substr($headers['filename'],$p_remdirs); + if($p_remdir && substr($headers['filename'], 0, $p_remdirs) == $p_remdir) + $headers['filename'] = substr($headers['filename'], $p_remdirs); - if($headers['filename'].'/' == $p_remdir && $headers['typeflag']=='5') continue; + if($headers['filename'].'/' == $p_remdir && $headers['typeflag'] == '5') continue; - if ($p_to != "./" && $p_to != "/") { - while($p_to{-1}=="/") $p_to = substr($p_to,0,-1); + if($p_to != "./" && $p_to != "/") { + while($p_to{-1} == "/") $p_to = substr($p_to, 0, -1); if($headers['filename']{0} == "/") $headers['filename'] = $p_to.$headers['filename']; @@ -763,29 +883,35 @@ class TarLib { $headers['filename'] = $p_to."/".$headers['filename']; } - $ok = $this->_dirApp($headers['typeflag']=="5" ? $headers['filename'] : dirname($headers['filename'])); + $ok = $this->_dirApp($headers['typeflag'] == "5" ? $headers['filename'] : dirname($headers['filename'])); if($ok < 0) return $ok; - if (!$headers['typeflag']) { - if (!$fp = @fopen($headers['filename'], "wb")) return -6; - $n = floor($headers['size']/512); + if(!$headers['typeflag']) { + if(!$fp = @fopen($headers['filename'], "wb")) return -6; + $n = floor($headers['size'] / 512); - for ($i=0; $i<$n; $i++){ - fwrite($fp, $this->_read(512),512); + for($i = 0; $i < $n; $i++) { + fwrite($fp, $this->_read(512), 512); } - if (($headers['size'] % 512) != 0) fwrite($fp, $this->_read(512), $headers['size'] % 512); + if(($headers['size'] % 512) != 0) fwrite($fp, $this->_read(512), $headers['size'] % 512); fclose($fp); touch($headers['filename'], $headers['mtime']); chmod($headers['filename'], $p_mode); } else { - $this->_seek(ceil($headers['size']/512)*512,1); + $this->_seek(ceil($headers['size'] / 512) * 512, 1); } - }else $this->_seek(ceil($headers['size']/512)*512,1); + } else $this->_seek(ceil($headers['size'] / 512) * 512, 1); } return $det; } + /** + * Create a directory hierarchy in filesystem + * + * @param string $d + * @return bool + */ function _dirApp($d) { // map to dokuwiki function (its more robust) return io_mkdir_p($d); diff --git a/inc/actions.php b/inc/actions.php index 4356662d7..f65b47451 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -64,11 +64,11 @@ function act_dispatch(){ //sitemap if ($ACT == 'sitemap'){ - $ACT = act_sitemap($ACT); + act_sitemap($ACT); } //register - if($ACT == 'register' && $_POST['save'] && register()){ + if($ACT == 'register' && $INPUT->post->bool('save') && register()){ $ACT = 'login'; } @@ -137,6 +137,7 @@ function act_dispatch(){ if (in_array($page, $pluginlist)) { // attempt to load the plugin if ($plugin =& plugin_load('admin',$page) !== null){ + /** @var DokuWiki_Admin_Plugin $plugin */ if($plugin->forAdminOnly() && !$INFO['isadmin']){ // a manager tried to load a plugin that's for admins only $INPUT->remove('page'); @@ -177,6 +178,11 @@ function act_dispatch(){ // in function tpl_content() } +/** + * Send the given headers using header() + * + * @param array $headers The headers that shall be sent + */ function act_sendheaders($headers) { foreach ($headers as $hdr) header($hdr); } @@ -437,6 +443,11 @@ function act_redirect($id,$preact){ trigger_event('ACTION_SHOW_REDIRECT',$opts,'act_redirect_execute'); } +/** + * Execute the redirect + * + * @param array $opts id and fragment for the redirect + */ function act_redirect_execute($opts){ $go = wl($opts['id'],'',true); if(isset($opts['fragment'])) $go .= '#'.$opts['fragment']; @@ -637,7 +648,7 @@ function act_sitemap($act) { } $sitemap = Sitemapper::getFilePath(); - if(strrchr($sitemap, '.') === '.gz'){ + if (Sitemapper::sitemapIsCompressed()) { $mime = 'application/x-gzip'; }else{ $mime = 'application/xml; charset=utf-8'; diff --git a/inc/auth.php b/inc/auth.php index cedfdee36..1c8a8f5f5 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -65,7 +65,7 @@ function auth_setup() { nice_die($lang['authmodfailed']); } - if(!$auth) return false; + if(!isset($auth) || !$auth) return false; // do the login either by cookie or provided credentials XXX $INPUT->set('http_credentials', false); @@ -299,7 +299,7 @@ function auth_createToken() { * * This is neither unique nor unfakable - still it adds some * security. Using the first part of the IP makes sure - * proxy farms like AOLs are stil okay. + * proxy farms like AOLs are still okay. * * @author Andreas Gohr <andi@splitbrain.org> * @@ -313,6 +313,7 @@ function auth_browseruid() { $uid .= $_SERVER['HTTP_ACCEPT_LANGUAGE']; $uid .= $_SERVER['HTTP_ACCEPT_CHARSET']; $uid .= substr($ip, 0, strpos($ip, '.')); + $uid = strtolower($uid); return md5($uid); } @@ -733,68 +734,62 @@ function register() { global $conf; /* @var auth_basic $auth */ global $auth; + global $INPUT; - if(!$_POST['save']) return false; + if(!$INPUT->post->bool('save')) return false; if(!actionOK('register')) return false; - //clean username - $_POST['login'] = trim($auth->cleanUser($_POST['login'])); - - //clean fullname and email - $_POST['fullname'] = trim(preg_replace('/[\x00-\x1f:<>&%,;]+/', '', $_POST['fullname'])); - $_POST['email'] = trim(preg_replace('/[\x00-\x1f:<>&%,;]+/', '', $_POST['email'])); + // gather input + $login = trim($auth->cleanUser($INPUT->post->str('login'))); + $fullname = trim(preg_replace('/[\x00-\x1f:<>&%,;]+/', '', $INPUT->post->str('fullname'))); + $email = trim(preg_replace('/[\x00-\x1f:<>&%,;]+/', '', $INPUT->post->str('email'))); + $pass = $INPUT->post->str('pass'); + $passchk = $INPUT->post->str('passchk'); - if(empty($_POST['login']) || - empty($_POST['fullname']) || - empty($_POST['email']) - ) { + if(empty($login) || empty($fullname) || empty($email)) { msg($lang['regmissing'], -1); return false; } if($conf['autopasswd']) { $pass = auth_pwgen(); // automatically generate password - } elseif(empty($_POST['pass']) || - empty($_POST['passchk']) - ) { + } elseif(empty($pass) || empty($passchk)) { msg($lang['regmissing'], -1); // complain about missing passwords return false; - } elseif($_POST['pass'] != $_POST['passchk']) { + } elseif($pass != $passchk) { msg($lang['regbadpass'], -1); // complain about misspelled passwords return false; - } else { - $pass = $_POST['pass']; // accept checked and valid password } //check mail - if(!mail_isvalid($_POST['email'])) { + if(!mail_isvalid($email)) { msg($lang['regbadmail'], -1); return false; } //okay try to create the user - if(!$auth->triggerUserMod('create', array($_POST['login'], $pass, $_POST['fullname'], $_POST['email']))) { + if(!$auth->triggerUserMod('create', array($login, $pass, $fullname, $email))) { msg($lang['reguexists'], -1); return false; } // create substitutions for use in notification email $substitutions = array( - 'NEWUSER' => $_POST['login'], - 'NEWNAME' => $_POST['fullname'], - 'NEWEMAIL' => $_POST['email'], + 'NEWUSER' => $login, + 'NEWNAME' => $fullname, + 'NEWEMAIL' => $email, ); if(!$conf['autopasswd']) { msg($lang['regsuccess2'], 1); - notify('', 'register', '', $_POST['login'], false, $substitutions); + notify('', 'register', '', $login, false, $substitutions); return true; } // autogenerated password? then send him the password - if(auth_sendPassword($_POST['login'], $pass)) { + if(auth_sendPassword($login, $pass)) { msg($lang['regsuccess'], 1); - notify('', 'register', '', $_POST['login'], false, $substitutions); + notify('', 'register', '', $login, false, $substitutions); return true; } else { msg($lang['regmailfail'], -1); diff --git a/inc/changelog.php b/inc/changelog.php index 24583b341..688aebfd6 100644 --- a/inc/changelog.php +++ b/inc/changelog.php @@ -157,7 +157,8 @@ function addMediaLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', * @param int $first number of first entry returned (for paginating * @param int $num return $num entries * @param string $ns restrict to given namespace - * @param bool $flags see above + * @param int $flags see above + * @return array recently changed files * * @author Ben Coburn <btcoburn@silicodon.net> * @author Kate Arzamastseva <pshns@ukr.net> @@ -177,6 +178,8 @@ function getRecents($first,$num,$ns='',$flags=0){ $lines = @file($conf['changelog']); } $lines_position = count($lines)-1; + $media_lines_position = 0; + $media_lines = array(); if ($flags & RECENTS_MEDIA_PAGES_MIXED) { $media_lines = @file($conf['media_changelog']); @@ -236,7 +239,8 @@ function getRecents($first,$num,$ns='',$flags=0){ * @param int $from date of the oldest entry to return * @param int $to date of the newest entry to return (for pagination, optional) * @param string $ns restrict to given namespace (optional) - * @param bool $flags see above (optional) + * @param int $flags see above (optional) + * @return array of files * * @author Michael Hamann <michael@content-space.de> * @author Ben Coburn <btcoburn@silicodon.net> diff --git a/inc/common.php b/inc/common.php index 33da2523a..20baed6c0 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1150,14 +1150,18 @@ function notify($id, $who, $rev = '', $summary = '', $minor = false, $replace = } elseif($rev) { $subject = $lang['mail_changed'].' '.$id; $trep['OLDPAGE'] = wl($id, "rev=$rev", true, '&'); - $df = new Diff(explode("\n", rawWiki($id, $rev)), - explode("\n", rawWiki($id))); + $old_content = rawWiki($id, $rev); + $new_content = rawWiki($id); + $df = new Diff(explode("\n", $old_content), + explode("\n", $new_content)); $dformat = new UnifiedDiffFormatter(); $tdiff = $dformat->format($df); $DIFF_INLINESTYLES = true; + $hdf = new Diff(explode("\n", hsc($old_content)), + explode("\n", hsc($new_content))); $dformat = new InlineDiffFormatter(); - $hdiff = $dformat->format($df); + $hdiff = $dformat->format($hdf); $hdiff = '<table>'.$hdiff.'</table>'; $DIFF_INLINESTYLES = false; } else { @@ -1197,8 +1201,10 @@ function getGoogleQuery() { } $url = parse_url($_SERVER['HTTP_REFERER']); - $query = array(); + // only handle common SEs + if(!preg_match('/(google|bing|yahoo|ask|duckduckgo|babylon|aol|yandex)/',$url['host'])) return ''; + $query = array(); // temporary workaround against PHP bug #49733 // see http://bugs.php.net/bug.php?id=49733 if(UTF8_MBSTRING) $enc = mb_internal_encoding(); @@ -1206,16 +1212,16 @@ function getGoogleQuery() { if(UTF8_MBSTRING) mb_internal_encoding($enc); $q = ''; - if(isset($query['q'])) - $q = $query['q']; // google, live/msn, aol, ask, altavista, alltheweb, gigablast - elseif(isset($query['p'])) - $q = $query['p']; // yahoo - elseif(isset($query['query'])) - $q = $query['query']; // lycos, netscape, clusty, hotbot - elseif(preg_match("#a9\.com#i", $url['host'])) // a9 - $q = urldecode(ltrim($url['path'], '/')); - - if($q === '') return ''; + if(isset($query['q'])){ + $q = $query['q']; + }elseif(isset($query['p'])){ + $q = $query['p']; + }elseif(isset($query['query'])){ + $q = $query['query']; + } + $q = trim($q); + + if(!$q) return ''; $q = preg_split('/[\s\'"\\\\`()\]\[?:!\.{};,#+*<>\\/]+/', $q, -1, PREG_SPLIT_NO_EMPTY); return $q; } diff --git a/inc/confutils.php b/inc/confutils.php index edea80092..404cc6050 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -143,6 +143,9 @@ function getSchemes() { */ function linesToHash($lines, $lower=false) { $conf = array(); + // remove BOM + if (isset($lines[0]) && substr($lines[0],0,3) == pack('CCC',0xef,0xbb,0xbf)) + $lines[0] = substr($lines[0],3); foreach ( $lines as $line ) { //ignore comments (except escaped ones) $line = preg_replace('/(?<![&\\\\])#.*$/','',$line); diff --git a/inc/events.php b/inc/events.php index 4e81f85c8..f7b1a7a16 100644 --- a/inc/events.php +++ b/inc/events.php @@ -132,7 +132,7 @@ class Doku_Event_Handler { $pluginlist = plugin_list('action'); foreach ($pluginlist as $plugin_name) { - $plugin =& plugin_load('action',$plugin_name); + $plugin = plugin_load('action',$plugin_name); if ($plugin !== null) $plugin->register($this); } diff --git a/inc/fulltext.php b/inc/fulltext.php index 8f4db111d..eab8850dc 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -394,19 +394,24 @@ function ft_snippet_re_preprocess($term) { return $term; } + // unicode word boundaries + // see http://stackoverflow.com/a/2449017/172068 + $BL = '(?<!\pL)'; + $BR = '(?!\pL)'; + if(substr($term,0,2) == '\\*'){ $term = substr($term,2); }else{ - $term = '\b'.$term; + $term = $BL.$term; } if(substr($term,-2,2) == '\\*'){ $term = substr($term,0,-2); }else{ - $term = $term.'\b'; + $term = $term.$BR; } - if($term == '\b' || $term == '\b\b') $term = ''; + if($term == $BL || $term == $BR || $term == $BL.$BR) $term = ''; return $term; } diff --git a/inc/geshi/4cs.php b/inc/geshi/4cs.php index 7b1efec9a..5209c51e8 100644 --- a/inc/geshi/4cs.php +++ b/inc/geshi/4cs.php @@ -4,7 +4,7 @@ * ------ * Author: Jason Curl (jason.curl@continental-corporation.com) * Copyright: (c) 2009 Jason Curl - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/09/05 * * 4CS language file for GeSHi. diff --git a/inc/geshi/6502acme.php b/inc/geshi/6502acme.php index 880211d5b..203e04dfa 100644 --- a/inc/geshi/6502acme.php +++ b/inc/geshi/6502acme.php @@ -4,7 +4,7 @@ * ------- * Author: Warren Willmey * Copyright: (c) 2010 Warren Willmey. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/05/26 * * MOS 6502 (more specifically 6510) ACME Cross Assembler 0.93 by Marco Baye language file for GeSHi. diff --git a/inc/geshi/6502kickass.php b/inc/geshi/6502kickass.php index b1edcaa5b..804282629 100644 --- a/inc/geshi/6502kickass.php +++ b/inc/geshi/6502kickass.php @@ -4,7 +4,7 @@ * ------- * Author: Warren Willmey * Copyright: (c) 2010 Warren Willmey. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/07 * * MOS 6502 (6510) Kick Assembler 3.13 language file for GeSHi. diff --git a/inc/geshi/6502tasm.php b/inc/geshi/6502tasm.php index 5f9f2b9be..86aa479df 100644 --- a/inc/geshi/6502tasm.php +++ b/inc/geshi/6502tasm.php @@ -4,7 +4,7 @@ * ------- * Author: Warren Willmey * Copyright: (c) 2010 Warren Willmey. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/02 * * MOS 6502 (6510) TASM/64TASS (64TASS being the super set of TASM) language file for GeSHi. diff --git a/inc/geshi/68000devpac.php b/inc/geshi/68000devpac.php index efd800809..f46387ae9 100644 --- a/inc/geshi/68000devpac.php +++ b/inc/geshi/68000devpac.php @@ -4,7 +4,7 @@ * ------- * Author: Warren Willmey * Copyright: (c) 2010 Warren Willmey. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/09 * * Motorola 68000 - HiSoft Devpac ST 2 Assembler language file for GeSHi. diff --git a/inc/geshi/abap.php b/inc/geshi/abap.php index 6ce930c7c..5acd261c6 100644 --- a/inc/geshi/abap.php +++ b/inc/geshi/abap.php @@ -7,7 +7,7 @@ * - Sandra Rossi (sandra.rossi@gmail.com) * - Jacob Laursen (jlu@kmd.dk) * Copyright: (c) 2007 Andres Picazo - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * ABAP language file for GeSHi. diff --git a/inc/geshi/actionscript.php b/inc/geshi/actionscript.php index 47eec3950..08e5b49ac 100644 --- a/inc/geshi/actionscript.php +++ b/inc/geshi/actionscript.php @@ -4,7 +4,7 @@ * ---------------- * Author: Steffen Krause (Steffen.krause@muse.de) * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/20 * * Actionscript language file for GeSHi. diff --git a/inc/geshi/actionscript3.php b/inc/geshi/actionscript3.php index ba27573cc..189d714b3 100644 --- a/inc/geshi/actionscript3.php +++ b/inc/geshi/actionscript3.php @@ -4,7 +4,7 @@ * ---------------- * Author: Jordi Boggiano (j.boggiano@seld.be) * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/11/26 * * ActionScript3 language file for GeSHi. @@ -72,7 +72,7 @@ $language_data = array ( 'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in', 'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do', 'delete', 'default', 'continue', 'catch', 'case', 'break', 'as', - 'extends' + 'extends', 'override' ), 2 => array( 'var' diff --git a/inc/geshi/ada.php b/inc/geshi/ada.php index 8f8390952..c4ef2c395 100644 --- a/inc/geshi/ada.php +++ b/inc/geshi/ada.php @@ -4,7 +4,7 @@ * ------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/29 * * Ada language file for GeSHi. diff --git a/inc/geshi/algol68.php b/inc/geshi/algol68.php index 1f79f10eb..5b1e5aa7f 100644 --- a/inc/geshi/algol68.php +++ b/inc/geshi/algol68.php @@ -4,7 +4,7 @@ * -------- * Author: Neville Dempsey (NevilleD.sourceforge@sgr-a.net) * Copyright: (c) 2010 Neville Dempsey (https://sourceforge.net/projects/algol68/files/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/04/24 * * ALGOL 68 language file for GeSHi. diff --git a/inc/geshi/apache.php b/inc/geshi/apache.php index ace3862ef..c944443c7 100644 --- a/inc/geshi/apache.php +++ b/inc/geshi/apache.php @@ -4,7 +4,7 @@ * ---------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/29/07 * * Apache language file for GeSHi. diff --git a/inc/geshi/applescript.php b/inc/geshi/applescript.php index c64a4974d..603fa4a3e 100644 --- a/inc/geshi/applescript.php +++ b/inc/geshi/applescript.php @@ -4,7 +4,7 @@ * -------- * Author: Stephan Klimek (http://www.initware.org) * Copyright: Stephan Klimek (http://www.initware.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/07/20 * * AppleScript language file for GeSHi. diff --git a/inc/geshi/apt_sources.php b/inc/geshi/apt_sources.php index 9feefceaf..9f1ed045e 100644 --- a/inc/geshi/apt_sources.php +++ b/inc/geshi/apt_sources.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/06/17 * * Apt sources.list language file for GeSHi. diff --git a/inc/geshi/arm.php b/inc/geshi/arm.php new file mode 100644 index 000000000..8e3c0a37e --- /dev/null +++ b/inc/geshi/arm.php @@ -0,0 +1,3318 @@ +<?php +/************************************************************************************* + * arm.php + * ------- + * Author: Marat Dukhan (mdukhan3.at.gatech.dot.edu) + * Copyright: (c) Marat Dukhan (mdukhan3.at.gatech.dot.edu) + * Release Version: 1.0.8.11 + * Date Started: 2011/10/06 + * + * ARM Assembler language file for GeSHi. + * Based on the following documents: + * - "ARM Architecture Reference Manual: ARMv7-A and ARMv7-R edition" + * - "Intel XScale Technology: Intel Wireless MMX2 Coprocessor", + * Revision 1.5, July 2006 + * + * CHANGES + * ------- + * 2011/10/06 + * - First Release (supported UAL syntax for up to ARMv7 A/R, VFPv3, NEON, WMMX/WMMX2) + * + * TODO (updated 2011/10/06) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'ARM ASSEMBLER', + 'COMMENT_SINGLE' => array( + 1 => ';' + ), + 'COMMENT_MULTI' => array(), + //Line address prefix suppression + 'COMMENT_REGEXP' => array( + 2 => "/^(?:[0-9a-f]{0,4}:)?[0-9a-f]{4}(?:[0-9a-f]{4})?/mi" + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* Unconditional Data Processing Instructions */ + 1 => array( + /* Data Processing: Unconditional Addition & Subtraction */ + 'adc.w','adcal.w', + 'adc','adcal', + 'add.w','addal.w', + 'add','addal', + 'addw','addwal', + 'rsb.w','rsbal.w', + 'rsb','rsbal', + 'rsc','rscal', + 'sbc.w','sbcal.w', + 'sbc','sbcal', + 'sub.w','subal.w', + 'sub','subal', + 'neg.w','negal.w', + 'neg','negal', + 'adr.w','adral.w', + 'adr','adral', + /* Data Processing: Unconditional Logical */ + 'and.w','andal.w', + 'and','andal', + 'bic.w','bical.w', + 'bic','bical', + 'orr.w','orral.w', + 'orr','orral', + 'orn.w','ornal.w', + 'orn','ornal', + 'eor.w','eoral.w', + 'eor','eoral', + 'mov.w','moval.w', + 'mov','moval', + 'movw','movwal', + 'movt','movtal', + 'cpy','cpyal', + 'mvn.w','mvnal.w', + 'mvn','mvnal', + /* Data Processing: Unconditional Shifts and Rotates */ + 'asr.w','asral.w', + 'asr','asral', + 'lsl.w','lslal.w', + 'lsl','lslal', + 'lsr.w','lsral.w', + 'lsr','lsral', + 'ror.w','roral.w', + 'ror','roral', + 'rrx','rrxal', + /* Data Processing: Unconditional Word Multiply and Multiply-Add */ + 'mul','mulal', + 'mla','mlaal', + 'mls','mlsal', + 'smull','smullal', + 'muls','mulsal', + 'umull','umullal', + 'smlal','smlalal', + 'umlal','umlalal', + /* Data Processing: Unconditional Halfword Multiply and Multiply-Add (ARMv5TE) */ + 'smulbb','smulbbal', + 'smulbt','smulbtal', + 'smultb','smultbal', + 'smultt','smulttal', + 'smulwb','smulwbal', + 'smulwt','smulwtal', + 'smlalbb','smlalbbal', + 'smlalbt','smlalbtal', + 'smlaltb','smlaltbal', + 'smlaltt','smlalttal', + 'smlabb','smlabbal', + 'smlabt','smlabtal', + 'smlatb','smlatbal', + 'smlatt','smlattal', + 'smlawb','smlawbal', + 'smlawt','smlawtal', + /* Data Processing: Unconditional Bit Operations */ + 'ubfx','ubfxal', + 'sbfx','sbfxal', + 'bfc','bfcal', + 'bfi','bfial', + 'clz','clzal', + /* Data Processing: Unconditional Divide (ARMv7-R) */ + 'sdiv','sdival', + 'udiv','udival' + ), + /* Conditional Data Processing Instructions */ + 2 => array( + /* Data Processing: Conditional Addition & Subtraction */ + 'adceq.w','adcne.w','adccs.w','adchs.w','adccc.w','adclo.w','adcmi.w','adcpl.w','adcvs.w','adcvc.w','adchi.w','adcls.w','adcge.w','adclt.w','adcgt.w','adcle.w', + 'adceq','adcne','adccs','adchs','adccc','adclo','adcmi','adcpl','adcvs','adcvc','adchi','adcls','adcge','adclt','adcgt','adcle', + 'addeq.w','addne.w','addcs.w','addhs.w','addcc.w','addlo.w','addmi.w','addpl.w','addvs.w','addvc.w','addhi.w','addls.w','addge.w','addlt.w','addgt.w','addle.w', + 'addeq','addne','addcs','addhs','addcc','addlo','addmi','addpl','addvs','addvc','addhi','addls','addge','addlt','addgt','addle', + 'addweq','addwne','addwcs','addwhs','addwcc','addwlo','addwmi','addwpl','addwvs','addwvc','addwhi','addwls','addwge','addwlt','addwgt','addwle', + 'rsbeq.w','rsbne.w','rsbcs.w','rsbhs.w','rsbcc.w','rsblo.w','rsbmi.w','rsbpl.w','rsbvs.w','rsbvc.w','rsbhi.w','rsbls.w','rsbge.w','rsblt.w','rsbgt.w','rsble.w', + 'rsbeq','rsbne','rsbcs','rsbhs','rsbcc','rsblo','rsbmi','rsbpl','rsbvs','rsbvc','rsbhi','rsbls','rsbge','rsblt','rsbgt','rsble', + 'rsceq','rscne','rsccs','rschs','rsccc','rsclo','rscmi','rscpl','rscvs','rscvc','rschi','rscls','rscge','rsclt','rscgt','rscle', + 'sbceq.w','sbcne.w','sbccs.w','sbchs.w','sbccc.w','sbclo.w','sbcmi.w','sbcpl.w','sbcvs.w','sbcvc.w','sbchi.w','sbcls.w','sbcge.w','sbclt.w','sbcgt.w','sbcle.w', + 'sbceq','sbcne','sbccs','sbchs','sbccc','sbclo','sbcmi','sbcpl','sbcvs','sbcvc','sbchi','sbcls','sbcge','sbclt','sbcgt','sbcle', + 'subeq.w','subne.w','subcs.w','subhs.w','subcc.w','sublo.w','submi.w','subpl.w','subvs.w','subvc.w','subhi.w','subls.w','subge.w','sublt.w','subgt.w','suble.w', + 'subeq','subne','subcs','subhs','subcc','sublo','submi','subpl','subvs','subvc','subhi','subls','subge','sublt','subgt','suble', + 'negeq.w','negne.w','negcs.w','neghs.w','negcc.w','neglo.w','negmi.w','negpl.w','negvs.w','negvc.w','neghi.w','negls.w','negge.w','neglt.w','neggt.w','negle.w', + 'negeq','negne','negcs','neghs','negcc','neglo','negmi','negpl','negvs','negvc','neghi','negls','negge','neglt','neggt','negle', + 'adreq.w','adrne.w','adrcs.w','adrhs.w','adrcc.w','adrlo.w','adrmi.w','adrpl.w','adrvs.w','adrvc.w','adrhi.w','adrls.w','adrge.w','adrlt.w','adrgt.w','adrle.w', + 'adreq','adrne','adrcs','adrhs','adrcc','adrlo','adrmi','adrpl','adrvs','adrvc','adrhi','adrls','adrge','adrlt','adrgt','adrle', + /* Data Processing: Conditional Logical */ + 'andeq.w','andne.w','andcs.w','andhs.w','andcc.w','andlo.w','andmi.w','andpl.w','andvs.w','andvc.w','andhi.w','andls.w','andge.w','andlt.w','andgt.w','andle.w', + 'andeq','andne','andcs','andhs','andcc','andlo','andmi','andpl','andvs','andvc','andhi','andls','andge','andlt','andgt','andle', + 'biceq.w','bicne.w','biccs.w','bichs.w','biccc.w','biclo.w','bicmi.w','bicpl.w','bicvs.w','bicvc.w','bichi.w','bicls.w','bicge.w','biclt.w','bicgt.w','bicle.w', + 'biceq','bicne','biccs','bichs','biccc','biclo','bicmi','bicpl','bicvs','bicvc','bichi','bicls','bicge','biclt','bicgt','bicle', + 'orreq.w','orrne.w','orrcs.w','orrhs.w','orrcc.w','orrlo.w','orrmi.w','orrpl.w','orrvs.w','orrvc.w','orrhi.w','orrls.w','orrge.w','orrlt.w','orrgt.w','orrle.w', + 'orreq','orrne','orrcs','orrhs','orrcc','orrlo','orrmi','orrpl','orrvs','orrvc','orrhi','orrls','orrge','orrlt','orrgt','orrle', + 'orneq.w','ornne.w','orncs.w','ornhs.w','orncc.w','ornlo.w','ornmi.w','ornpl.w','ornvs.w','ornvc.w','ornhi.w','ornls.w','ornge.w','ornlt.w','orngt.w','ornle.w', + 'orneq','ornne','orncs','ornhs','orncc','ornlo','ornmi','ornpl','ornvs','ornvc','ornhi','ornls','ornge','ornlt','orngt','ornle', + 'eoreq.w','eorne.w','eorcs.w','eorhs.w','eorcc.w','eorlo.w','eormi.w','eorpl.w','eorvs.w','eorvc.w','eorhi.w','eorls.w','eorge.w','eorlt.w','eorgt.w','eorle.w', + 'eoreq','eorne','eorcs','eorhs','eorcc','eorlo','eormi','eorpl','eorvs','eorvc','eorhi','eorls','eorge','eorlt','eorgt','eorle', + 'moveq.w','movne.w','movcs.w','movhs.w','movcc.w','movlo.w','movmi.w','movpl.w','movvs.w','movvc.w','movhi.w','movls.w','movge.w','movlt.w','movgt.w','movle.w', + 'moveq','movne','movcs','movhs','movcc','movlo','movmi','movpl','movvs','movvc','movhi','movls','movge','movlt','movgt','movle', + 'movweq','movwne','movwcs','movwhs','movwcc','movwlo','movwmi','movwpl','movwvs','movwvc','movwhi','movwls','movwge','movwlt','movwgt','movwle', + 'movteq','movtne','movtcs','movths','movtcc','movtlo','movtmi','movtpl','movtvs','movtvc','movthi','movtls','movtge','movtlt','movtgt','movtle', + 'cpyeq','cpyne','cpycs','cpyhs','cpycc','cpylo','cpymi','cpypl','cpyvs','cpyvc','cpyhi','cpyls','cpyge','cpylt','cpygt','cpyle', + 'mvneq.w','mvnne.w','mvncs.w','mvnhs.w','mvncc.w','mvnlo.w','mvnmi.w','mvnpl.w','mvnvs.w','mvnvc.w','mvnhi.w','mvnls.w','mvnge.w','mvnlt.w','mvngt.w','mvnle.w', + 'mvneq','mvnne','mvncs','mvnhs','mvncc','mvnlo','mvnmi','mvnpl','mvnvs','mvnvc','mvnhi','mvnls','mvnge','mvnlt','mvngt','mvnle', + /* Data Processing: Conditional Shifts and Rotates */ + 'asreq.w','asrne.w','asrcs.w','asrhs.w','asrcc.w','asrlo.w','asrmi.w','asrpl.w','asrvs.w','asrvc.w','asrhi.w','asrls.w','asrge.w','asrlt.w','asrgt.w','asrle.w', + 'asreq','asrne','asrcs','asrhs','asrcc','asrlo','asrmi','asrpl','asrvs','asrvc','asrhi','asrls','asrge','asrlt','asrgt','asrle', + 'lsleq.w','lslne.w','lslcs.w','lslhs.w','lslcc.w','lsllo.w','lslmi.w','lslpl.w','lslvs.w','lslvc.w','lslhi.w','lslls.w','lslge.w','lsllt.w','lslgt.w','lslle.w', + 'lsleq','lslne','lslcs','lslhs','lslcc','lsllo','lslmi','lslpl','lslvs','lslvc','lslhi','lslls','lslge','lsllt','lslgt','lslle', + 'lsreq.w','lsrne.w','lsrcs.w','lsrhs.w','lsrcc.w','lsrlo.w','lsrmi.w','lsrpl.w','lsrvs.w','lsrvc.w','lsrhi.w','lsrls.w','lsrge.w','lsrlt.w','lsrgt.w','lsrle.w', + 'lsreq','lsrne','lsrcs','lsrhs','lsrcc','lsrlo','lsrmi','lsrpl','lsrvs','lsrvc','lsrhi','lsrls','lsrge','lsrlt','lsrgt','lsrle', + 'roreq.w','rorne.w','rorcs.w','rorhs.w','rorcc.w','rorlo.w','rormi.w','rorpl.w','rorvs.w','rorvc.w','rorhi.w','rorls.w','rorge.w','rorlt.w','rorgt.w','rorle.w', + 'roreq','rorne','rorcs','rorhs','rorcc','rorlo','rormi','rorpl','rorvs','rorvc','rorhi','rorls','rorge','rorlt','rorgt','rorle', + 'rrxeq','rrxne','rrxcs','rrxhs','rrxcc','rrxlo','rrxmi','rrxpl','rrxvs','rrxvc','rrxhi','rrxls','rrxge','rrxlt','rrxgt','rrxle', + /* Data Processing: Conditional Word Multiply and Multiply-Add */ + 'muleq','mulne','mulcs','mulhs','mulcc','mullo','mulmi','mulpl','mulvs','mulvc','mulhi','mulls','mulge','mullt','mulgt','mulle', + 'mlaeq','mlane','mlacs','mlahs','mlacc','mlalo','mlami','mlapl','mlavs','mlavc','mlahi','mlals','mlage','mlalt','mlagt','mlale', + 'mlseq','mlsne','mlscs','mlshs','mlscc','mlslo','mlsmi','mlspl','mlsvs','mlsvc','mlshi','mlsls','mlsge','mlslt','mlsgt','mlsle', + 'smulleq','smullne','smullcs','smullhs','smullcc','smulllo','smullmi','smullpl','smullvs','smullvc','smullhi','smullls','smullge','smulllt','smullgt','smullle', + 'mulseq','mulsne','mulscs','mulshs','mulscc','mulslo','mulsmi','mulspl','mulsvs','mulsvc','mulshi','mulsls','mulsge','mulslt','mulsgt','mulsle', + 'umulleq','umullne','umullcs','umullhs','umullcc','umulllo','umullmi','umullpl','umullvs','umullvc','umullhi','umullls','umullge','umulllt','umullgt','umullle', + 'smlaleq','smlalne','smlalcs','smlalhs','smlalcc','smlallo','smlalmi','smlalpl','smlalvs','smlalvc','smlalhi','smlalls','smlalge','smlallt','smlalgt','smlalle', + 'umlaleq','umlalne','umlalcs','umlalhs','umlalcc','umlallo','umlalmi','umlalpl','umlalvs','umlalvc','umlalhi','umlalls','umlalge','umlallt','umlalgt','umlalle', + /* Data Processing: Conditional Halfword Multiply and Multiply-Add (ARMv5TE) */ + 'smulbbeq','smulbbne','smulbbcs','smulbbhs','smulbbcc','smulbblo','smulbbmi','smulbbpl','smulbbvs','smulbbvc','smulbbhi','smulbbls','smulbbge','smulbblt','smulbbgt','smulbble', + 'smulbteq','smulbtne','smulbtcs','smulbths','smulbtcc','smulbtlo','smulbtmi','smulbtpl','smulbtvs','smulbtvc','smulbthi','smulbtls','smulbtge','smulbtlt','smulbtgt','smulbtle', + 'smultbeq','smultbne','smultbcs','smultbhs','smultbcc','smultblo','smultbmi','smultbpl','smultbvs','smultbvc','smultbhi','smultbls','smultbge','smultblt','smultbgt','smultble', + 'smultteq','smulttne','smulttcs','smultths','smulttcc','smulttlo','smulttmi','smulttpl','smulttvs','smulttvc','smultthi','smulttls','smulttge','smulttlt','smulttgt','smulttle', + 'smulwbeq','smulwbne','smulwbcs','smulwbhs','smulwbcc','smulwblo','smulwbmi','smulwbpl','smulwbvs','smulwbvc','smulwbhi','smulwbls','smulwbge','smulwblt','smulwbgt','smulwble', + 'smulwteq','smulwtne','smulwtcs','smulwths','smulwtcc','smulwtlo','smulwtmi','smulwtpl','smulwtvs','smulwtvc','smulwthi','smulwtls','smulwtge','smulwtlt','smulwtgt','smulwtle', + 'smlalbbeq','smlalbbne','smlalbbcs','smlalbbhs','smlalbbcc','smlalbblo','smlalbbmi','smlalbbpl','smlalbbvs','smlalbbvc','smlalbbhi','smlalbbls','smlalbbge','smlalbblt','smlalbbgt','smlalbble', + 'smlalbteq','smlalbtne','smlalbtcs','smlalbths','smlalbtcc','smlalbtlo','smlalbtmi','smlalbtpl','smlalbtvs','smlalbtvc','smlalbthi','smlalbtls','smlalbtge','smlalbtlt','smlalbtgt','smlalbtle', + 'smlaltbeq','smlaltbne','smlaltbcs','smlaltbhs','smlaltbcc','smlaltblo','smlaltbmi','smlaltbpl','smlaltbvs','smlaltbvc','smlaltbhi','smlaltbls','smlaltbge','smlaltblt','smlaltbgt','smlaltble', + 'smlaltteq','smlalttne','smlalttcs','smlaltths','smlalttcc','smlalttlo','smlalttmi','smlalttpl','smlalttvs','smlalttvc','smlaltthi','smlalttls','smlalttge','smlalttlt','smlalttgt','smlalttle', + 'smlabbeq','smlabbne','smlabbcs','smlabbhs','smlabbcc','smlabblo','smlabbmi','smlabbpl','smlabbvs','smlabbvc','smlabbhi','smlabbls','smlabbge','smlabblt','smlabbgt','smlabble', + 'smlabteq','smlabtne','smlabtcs','smlabths','smlabtcc','smlabtlo','smlabtmi','smlabtpl','smlabtvs','smlabtvc','smlabthi','smlabtls','smlabtge','smlabtlt','smlabtgt','smlabtle', + 'smlatbeq','smlatbne','smlatbcs','smlatbhs','smlatbcc','smlatblo','smlatbmi','smlatbpl','smlatbvs','smlatbvc','smlatbhi','smlatbls','smlatbge','smlatblt','smlatbgt','smlatble', + 'smlatteq','smlattne','smlattcs','smlatths','smlattcc','smlattlo','smlattmi','smlattpl','smlattvs','smlattvc','smlatthi','smlattls','smlattge','smlattlt','smlattgt','smlattle', + 'smlawbeq','smlawbne','smlawbcs','smlawbhs','smlawbcc','smlawblo','smlawbmi','smlawbpl','smlawbvs','smlawbvc','smlawbhi','smlawbls','smlawbge','smlawblt','smlawbgt','smlawble', + 'smlawteq','smlawtne','smlawtcs','smlawths','smlawtcc','smlawtlo','smlawtmi','smlawtpl','smlawtvs','smlawtvc','smlawthi','smlawtls','smlawtge','smlawtlt','smlawtgt','smlawtle', + /* Data Processing: Conditional Bit Operations */ + 'ubfxeq','ubfxne','ubfxcs','ubfxhs','ubfxcc','ubfxlo','ubfxmi','ubfxpl','ubfxvs','ubfxvc','ubfxhi','ubfxls','ubfxge','ubfxlt','ubfxgt','ubfxle', + 'sbfxeq','sbfxne','sbfxcs','sbfxhs','sbfxcc','sbfxlo','sbfxmi','sbfxpl','sbfxvs','sbfxvc','sbfxhi','sbfxls','sbfxge','sbfxlt','sbfxgt','sbfxle', + 'bfceq','bfcne','bfccs','bfchs','bfccc','bfclo','bfcmi','bfcpl','bfcvs','bfcvc','bfchi','bfcls','bfcge','bfclt','bfcgt','bfcle', + 'bfieq','bfine','bfics','bfihs','bficc','bfilo','bfimi','bfipl','bfivs','bfivc','bfihi','bfils','bfige','bfilt','bfigt','bfile', + 'clzeq','clzne','clzcs','clzhs','clzcc','clzlo','clzmi','clzpl','clzvs','clzvc','clzhi','clzls','clzge','clzlt','clzgt','clzle', + /* ARMv7-R: Conditional Divide */ + 'sdiveq','sdivne','sdivcs','sdivhs','sdivcc','sdivlo','sdivmi','sdivpl','sdivvs','sdivvc','sdivhi','sdivls','sdivge','sdivlt','sdivgt','sdivle', + 'udiveq','udivne','udivcs','udivhs','udivcc','udivlo','udivmi','udivpl','udivvs','udivvc','udivhi','udivls','udivge','udivlt','udivgt','udivle' + ), + /* Unconditional Memory Access */ + 3 => array( + /* Memory Access: Unconditional Memory Loads and Prefetches */ + 'ldm.w','ldmal.w', + 'ldm','ldmal', + 'ldmda','ldmdaal', + 'ldmdb','ldmdbal', + 'ldmib','ldmibal', + 'ldmia','ldmiaal', + 'ldmea','ldmeaal', + 'ldmed','ldmedal', + 'ldmfa','ldmfaal', + 'ldmfd','ldmfdal', + 'ldrd','ldrdal', + 'ldr.w','ldral.w', + 'ldr','ldral', + 'ldrh.w','ldrhal.w', + 'ldrh','ldrhal', + 'ldrb.w','ldrbal.w', + 'ldrb','ldrbal', + 'ldrsh.w','ldrshal.w', + 'ldrsh','ldrshal', + 'ldrsb.w','ldrsbal.w', + 'ldrsb','ldrsbal', + 'ldrt','ldrtal', + 'ldrht','ldrhtal', + 'ldrbt','ldrbtal', + 'ldrsht','ldrshtal', + 'ldrsbt','ldrsbtal', + 'pop.w','popal.w', + 'pop','popal', + 'pld','pldal', + 'pldw','pldwal', + 'pli','plial', + /* Memory Access: Unconditional Memory Stores */ + 'stm.w','stmal.w', + 'stm','stmal', + 'stmda','stmdaal', + 'stmdb','stmdbal', + 'stmib','stmibal', + 'stmia','stmiaal', + 'stmea','stmeaal', + 'stmed','stmedal', + 'stdfa','stdfaal', + 'stdfd','stdfdal', + 'strd','strdal', + 'str.w','stral.w', + 'str','stral', + 'strh.w','strhal.w', + 'strh','strhal', + 'strb.w','strbal.w', + 'strb','strbal', + 'strt','strtal', + 'strht','strhtal', + 'strbt','strbtal', + 'push.w','pushal.w', + 'push','pushal' + ), + /* Conditional Memory Access */ + 4 => array( + /* Memory Access: Conditional Memory Loads and Prefetches */ + 'ldmeq.w','ldmne.w','ldmcs.w','ldmhs.w','ldmcc.w','ldmlo.w','ldmmi.w','ldmpl.w','ldmvs.w','ldmvc.w','ldmhi.w','ldmls.w','ldmge.w','ldmlt.w','ldmgt.w','ldmle.w', + 'ldmeq','ldmne','ldmcs','ldmhs','ldmcc','ldmlo','ldmmi','ldmpl','ldmvs','ldmvc','ldmhi','ldmls','ldmge','ldmlt','ldmgt','ldmle', + 'ldmdaeq','ldmdane','ldmdacs','ldmdahs','ldmdacc','ldmdalo','ldmdami','ldmdapl','ldmdavs','ldmdavc','ldmdahi','ldmdals','ldmdage','ldmdalt','ldmdagt','ldmdale', + 'ldmdbeq','ldmdbne','ldmdbcs','ldmdbhs','ldmdbcc','ldmdblo','ldmdbmi','ldmdbpl','ldmdbvs','ldmdbvc','ldmdbhi','ldmdbls','ldmdbge','ldmdblt','ldmdbgt','ldmdble', + 'ldmibeq','ldmibne','ldmibcs','ldmibhs','ldmibcc','ldmiblo','ldmibmi','ldmibpl','ldmibvs','ldmibvc','ldmibhi','ldmibls','ldmibge','ldmiblt','ldmibgt','ldmible', + 'ldmiaeq','ldmiane','ldmiacs','ldmiahs','ldmiacc','ldmialo','ldmiami','ldmiapl','ldmiavs','ldmiavc','ldmiahi','ldmials','ldmiage','ldmialt','ldmiagt','ldmiale', + 'ldmeaeq','ldmeane','ldmeacs','ldmeahs','ldmeacc','ldmealo','ldmeami','ldmeapl','ldmeavs','ldmeavc','ldmeahi','ldmeals','ldmeage','ldmealt','ldmeagt','ldmeale', + 'ldmedeq','ldmedne','ldmedcs','ldmedhs','ldmedcc','ldmedlo','ldmedmi','ldmedpl','ldmedvs','ldmedvc','ldmedhi','ldmedls','ldmedge','ldmedlt','ldmedgt','ldmedle', + 'ldmfaeq','ldmfane','ldmfacs','ldmfahs','ldmfacc','ldmfalo','ldmfami','ldmfapl','ldmfavs','ldmfavc','ldmfahi','ldmfals','ldmfage','ldmfalt','ldmfagt','ldmfale', + 'ldmfdeq','ldmfdne','ldmfdcs','ldmfdhs','ldmfdcc','ldmfdlo','ldmfdmi','ldmfdpl','ldmfdvs','ldmfdvc','ldmfdhi','ldmfdls','ldmfdge','ldmfdlt','ldmfdgt','ldmfdle', + 'ldrdeq','ldrdne','ldrdcs','ldrdhs','ldrdcc','ldrdlo','ldrdmi','ldrdpl','ldrdvs','ldrdvc','ldrdhi','ldrdls','ldrdge','ldrdlt','ldrdgt','ldrdle', + 'ldreq.w','ldrne.w','ldrcs.w','ldrhs.w','ldrcc.w','ldrlo.w','ldrmi.w','ldrpl.w','ldrvs.w','ldrvc.w','ldrhi.w','ldrls.w','ldrge.w','ldrlt.w','ldrgt.w','ldrle.w', + 'ldreq','ldrne','ldrcs','ldrhs','ldrcc','ldrlo','ldrmi','ldrpl','ldrvs','ldrvc','ldrhi','ldrls','ldrge','ldrlt','ldrgt','ldrle', + 'ldrheq.w','ldrhne.w','ldrhcs.w','ldrhhs.w','ldrhcc.w','ldrhlo.w','ldrhmi.w','ldrhpl.w','ldrhvs.w','ldrhvc.w','ldrhhi.w','ldrhls.w','ldrhge.w','ldrhlt.w','ldrhgt.w','ldrhle.w', + 'ldrheq','ldrhne','ldrhcs','ldrhhs','ldrhcc','ldrhlo','ldrhmi','ldrhpl','ldrhvs','ldrhvc','ldrhhi','ldrhls','ldrhge','ldrhlt','ldrhgt','ldrhle', + 'ldrbeq.w','ldrbne.w','ldrbcs.w','ldrbhs.w','ldrbcc.w','ldrblo.w','ldrbmi.w','ldrbpl.w','ldrbvs.w','ldrbvc.w','ldrbhi.w','ldrbls.w','ldrbge.w','ldrblt.w','ldrbgt.w','ldrble.w', + 'ldrbeq','ldrbne','ldrbcs','ldrbhs','ldrbcc','ldrblo','ldrbmi','ldrbpl','ldrbvs','ldrbvc','ldrbhi','ldrbls','ldrbge','ldrblt','ldrbgt','ldrble', + 'ldrsheq.w','ldrshne.w','ldrshcs.w','ldrshhs.w','ldrshcc.w','ldrshlo.w','ldrshmi.w','ldrshpl.w','ldrshvs.w','ldrshvc.w','ldrshhi.w','ldrshls.w','ldrshge.w','ldrshlt.w','ldrshgt.w','ldrshle.w', + 'ldrsheq','ldrshne','ldrshcs','ldrshhs','ldrshcc','ldrshlo','ldrshmi','ldrshpl','ldrshvs','ldrshvc','ldrshhi','ldrshls','ldrshge','ldrshlt','ldrshgt','ldrshle', + 'ldrsbeq.w','ldrsbne.w','ldrsbcs.w','ldrsbhs.w','ldrsbcc.w','ldrsblo.w','ldrsbmi.w','ldrsbpl.w','ldrsbvs.w','ldrsbvc.w','ldrsbhi.w','ldrsbls.w','ldrsbge.w','ldrsblt.w','ldrsbgt.w','ldrsble.w', + 'ldrsbeq','ldrsbne','ldrsbcs','ldrsbhs','ldrsbcc','ldrsblo','ldrsbmi','ldrsbpl','ldrsbvs','ldrsbvc','ldrsbhi','ldrsbls','ldrsbge','ldrsblt','ldrsbgt','ldrsble', + 'ldrteq','ldrtne','ldrtcs','ldrths','ldrtcc','ldrtlo','ldrtmi','ldrtpl','ldrtvs','ldrtvc','ldrthi','ldrtls','ldrtge','ldrtlt','ldrtgt','ldrtle', + 'ldrhteq','ldrhtne','ldrhtcs','ldrhths','ldrhtcc','ldrhtlo','ldrhtmi','ldrhtpl','ldrhtvs','ldrhtvc','ldrhthi','ldrhtls','ldrhtge','ldrhtlt','ldrhtgt','ldrhtle', + 'ldrbteq','ldrbtne','ldrbtcs','ldrbths','ldrbtcc','ldrbtlo','ldrbtmi','ldrbtpl','ldrbtvs','ldrbtvc','ldrbthi','ldrbtls','ldrbtge','ldrbtlt','ldrbtgt','ldrbtle', + 'ldrshteq','ldrshtne','ldrshtcs','ldrshths','ldrshtcc','ldrshtlo','ldrshtmi','ldrshtpl','ldrshtvs','ldrshtvc','ldrshthi','ldrshtls','ldrshtge','ldrshtlt','ldrshtgt','ldrshtle', + 'ldrsbteq','ldrsbtne','ldrsbtcs','ldrsbths','ldrsbtcc','ldrsbtlo','ldrsbtmi','ldrsbtpl','ldrsbtvs','ldrsbtvc','ldrsbthi','ldrsbtls','ldrsbtge','ldrsbtlt','ldrsbtgt','ldrsbtle', + 'popeq.w','popne.w','popcs.w','pophs.w','popcc.w','poplo.w','popmi.w','poppl.w','popvs.w','popvc.w','pophi.w','popls.w','popge.w','poplt.w','popgt.w','pople.w', + 'popeq','popne','popcs','pophs','popcc','poplo','popmi','poppl','popvs','popvc','pophi','popls','popge','poplt','popgt','pople', + 'pldeq','pldne','pldcs','pldhs','pldcc','pldlo','pldmi','pldpl','pldvs','pldvc','pldhi','pldls','pldge','pldlt','pldgt','pldle', + 'pldweq','pldwne','pldwcs','pldwhs','pldwcc','pldwlo','pldwmi','pldwpl','pldwvs','pldwvc','pldwhi','pldwls','pldwge','pldwlt','pldwgt','pldwle', + 'plieq','pline','plics','plihs','plicc','plilo','plimi','plipl','plivs','plivc','plihi','plils','plige','plilt','pligt','plile', + /* Memory Access: Conditional Memory Stores */ + 'stmeq.w','stmne.w','stmcs.w','stmhs.w','stmcc.w','stmlo.w','stmmi.w','stmpl.w','stmvs.w','stmvc.w','stmhi.w','stmls.w','stmge.w','stmlt.w','stmgt.w','stmle.w', + 'stmeq','stmne','stmcs','stmhs','stmcc','stmlo','stmmi','stmpl','stmvs','stmvc','stmhi','stmls','stmge','stmlt','stmgt','stmle', + 'stmdaeq','stmdane','stmdacs','stmdahs','stmdacc','stmdalo','stmdami','stmdapl','stmdavs','stmdavc','stmdahi','stmdals','stmdage','stmdalt','stmdagt','stmdale', + 'stmdbeq','stmdbne','stmdbcs','stmdbhs','stmdbcc','stmdblo','stmdbmi','stmdbpl','stmdbvs','stmdbvc','stmdbhi','stmdbls','stmdbge','stmdblt','stmdbgt','stmdble', + 'stmibeq','stmibne','stmibcs','stmibhs','stmibcc','stmiblo','stmibmi','stmibpl','stmibvs','stmibvc','stmibhi','stmibls','stmibge','stmiblt','stmibgt','stmible', + 'stmiaeq','stmiane','stmiacs','stmiahs','stmiacc','stmialo','stmiami','stmiapl','stmiavs','stmiavc','stmiahi','stmials','stmiage','stmialt','stmiagt','stmiale', + 'stmeaeq','stmeane','stmeacs','stmeahs','stmeacc','stmealo','stmeami','stmeapl','stmeavs','stmeavc','stmeahi','stmeals','stmeage','stmealt','stmeagt','stmeale', + 'stmedeq','stmedne','stmedcs','stmedhs','stmedcc','stmedlo','stmedmi','stmedpl','stmedvs','stmedvc','stmedhi','stmedls','stmedge','stmedlt','stmedgt','stmedle', + 'stdfaeq','stdfane','stdfacs','stdfahs','stdfacc','stdfalo','stdfami','stdfapl','stdfavs','stdfavc','stdfahi','stdfals','stdfage','stdfalt','stdfagt','stdfale', + 'stdfdeq','stdfdne','stdfdcs','stdfdhs','stdfdcc','stdfdlo','stdfdmi','stdfdpl','stdfdvs','stdfdvc','stdfdhi','stdfdls','stdfdge','stdfdlt','stdfdgt','stdfdle', + 'strdeq','strdne','strdcs','strdhs','strdcc','strdlo','strdmi','strdpl','strdvs','strdvc','strdhi','strdls','strdge','strdlt','strdgt','strdle', + 'streq.w','strne.w','strcs.w','strhs.w','strcc.w','strlo.w','strmi.w','strpl.w','strvs.w','strvc.w','strhi.w','strls.w','strge.w','strlt.w','strgt.w','strle.w', + 'streq','strne','strcs','strhs','strcc','strlo','strmi','strpl','strvs','strvc','strhi','strls','strge','strlt','strgt','strle', + 'strheq.w','strhne.w','strhcs.w','strhhs.w','strhcc.w','strhlo.w','strhmi.w','strhpl.w','strhvs.w','strhvc.w','strhhi.w','strhls.w','strhge.w','strhlt.w','strhgt.w','strhle.w', + 'strheq','strhne','strhcs','strhhs','strhcc','strhlo','strhmi','strhpl','strhvs','strhvc','strhhi','strhls','strhge','strhlt','strhgt','strhle', + 'strbeq.w','strbne.w','strbcs.w','strbhs.w','strbcc.w','strblo.w','strbmi.w','strbpl.w','strbvs.w','strbvc.w','strbhi.w','strbls.w','strbge.w','strblt.w','strbgt.w','strble.w', + 'strbeq','strbne','strbcs','strbhs','strbcc','strblo','strbmi','strbpl','strbvs','strbvc','strbhi','strbls','strbge','strblt','strbgt','strble', + 'strteq','strtne','strtcs','strths','strtcc','strtlo','strtmi','strtpl','strtvs','strtvc','strthi','strtls','strtge','strtlt','strtgt','strtle', + 'strhteq','strhtne','strhtcs','strhths','strhtcc','strhtlo','strhtmi','strhtpl','strhtvs','strhtvc','strhthi','strhtls','strhtge','strhtlt','strhtgt','strhtle', + 'strbteq','strbtne','strbtcs','strbths','strbtcc','strbtlo','strbtmi','strbtpl','strbtvs','strbtvc','strbthi','strbtls','strbtge','strbtlt','strbtgt','strbtle', + 'pusheq.w','pushne.w','pushcs.w','pushhs.w','pushcc.w','pushlo.w','pushmi.w','pushpl.w','pushvs.w','pushvc.w','pushhi.w','pushls.w','pushge.w','pushlt.w','pushgt.w','pushle.w', + 'pusheq','pushne','pushcs','pushhs','pushcc','pushlo','pushmi','pushpl','pushvs','pushvc','pushhi','pushls','pushge','pushlt','pushgt','pushle' + ), + /* Unconditional Flags-Affecting Instructions */ + 5 => array( + /* Set Flags: Unconditional Addition and Subtraction */ + 'adds.w','addsal.w', + 'adds','addsal', + 'subs.w','subsal.w', + 'subs','subsal', + 'rsbs.w','rsbsal.w', + 'rsbs','rsbsal', + 'negs.w','negsal.w', + 'negs','negsal', + 'adcs.w','adcsal.w', + 'adcs','adcsal', + 'sbcs.w','sbcsal.w', + 'sbcs','sbcsal', + 'rscs','rscsal', + 'cmp.w','cmpal.w', + 'cmp','cmpal', + 'cmn.w','cmnal.w', + 'cmn','cmnal', + /* Set Flags: Unconditional Logical */ + 'ands.w','andsal.w', + 'ands','andsal', + 'bics.w','bicsal.w', + 'bics','bicsal', + 'orrs.w','orrsal.w', + 'orrs','orrsal', + 'orns.w','ornsal.w', + 'orns','ornsal', + 'eors.w','eorsal.w', + 'eors','eorsal', + 'mvns.w','mvnsal.w', + 'mvns','mvnsal', + 'movs.w','movsal.w', + 'movs','movsal', + 'teq','teqal', + 'tst.w','tstal.w', + 'tst','tstal', + 'mrs','mrsal', + 'msr','msral', + /* Set Flags: Unconditional Shifts and Rotates */ + 'asrs.w','asrsal.w', + 'asrs','asrsal', + 'lsls.w','lslsal.w', + 'lsls','lslsal', + 'lsrs.w','lsrsal.w', + 'lsrs','lsrsal', + 'rors.w','rorsal.w', + 'rors','rorsal', + 'rrxs','rrxsal', + /* Set Flags: Unconditional Multiply and Multiply-Add */ + 'mlas','mlasal', + 'smulls','smullsal', + 'umulls','umullsal', + 'smlals','smlalsal', + 'umlals','umlalsal' + ), + /* Conditional Flags-Affecting Instructions */ + 6 => array( + /* Set Flags: Conditional Addition and Subtraction */ + 'addseq.w','addsne.w','addscs.w','addshs.w','addscc.w','addslo.w','addsmi.w','addspl.w','addsvs.w','addsvc.w','addshi.w','addsls.w','addsge.w','addslt.w','addsgt.w','addsle.w', + 'addseq','addsne','addscs','addshs','addscc','addslo','addsmi','addspl','addsvs','addsvc','addshi','addsls','addsge','addslt','addsgt','addsle', + 'subseq.w','subsne.w','subscs.w','subshs.w','subscc.w','subslo.w','subsmi.w','subspl.w','subsvs.w','subsvc.w','subshi.w','subsls.w','subsge.w','subslt.w','subsgt.w','subsle.w', + 'subseq','subsne','subscs','subshs','subscc','subslo','subsmi','subspl','subsvs','subsvc','subshi','subsls','subsge','subslt','subsgt','subsle', + 'rsbseq.w','rsbsne.w','rsbscs.w','rsbshs.w','rsbscc.w','rsbslo.w','rsbsmi.w','rsbspl.w','rsbsvs.w','rsbsvc.w','rsbshi.w','rsbsls.w','rsbsge.w','rsbslt.w','rsbsgt.w','rsbsle.w', + 'rsbseq','rsbsne','rsbscs','rsbshs','rsbscc','rsbslo','rsbsmi','rsbspl','rsbsvs','rsbsvc','rsbshi','rsbsls','rsbsge','rsbslt','rsbsgt','rsbsle', + 'negseq.w','negsne.w','negscs.w','negshs.w','negscc.w','negslo.w','negsmi.w','negspl.w','negsvs.w','negsvc.w','negshi.w','negsls.w','negsge.w','negslt.w','negsgt.w','negsle.w', + 'negseq','negsne','negscs','negshs','negscc','negslo','negsmi','negspl','negsvs','negsvc','negshi','negsls','negsge','negslt','negsgt','negsle', + 'adcseq.w','adcsne.w','adcscs.w','adcshs.w','adcscc.w','adcslo.w','adcsmi.w','adcspl.w','adcsvs.w','adcsvc.w','adcshi.w','adcsls.w','adcsge.w','adcslt.w','adcsgt.w','adcsle.w', + 'adcseq','adcsne','adcscs','adcshs','adcscc','adcslo','adcsmi','adcspl','adcsvs','adcsvc','adcshi','adcsls','adcsge','adcslt','adcsgt','adcsle', + 'sbcseq.w','sbcsne.w','sbcscs.w','sbcshs.w','sbcscc.w','sbcslo.w','sbcsmi.w','sbcspl.w','sbcsvs.w','sbcsvc.w','sbcshi.w','sbcsls.w','sbcsge.w','sbcslt.w','sbcsgt.w','sbcsle.w', + 'sbcseq','sbcsne','sbcscs','sbcshs','sbcscc','sbcslo','sbcsmi','sbcspl','sbcsvs','sbcsvc','sbcshi','sbcsls','sbcsge','sbcslt','sbcsgt','sbcsle', + 'rscseq','rscsne','rscscs','rscshs','rscscc','rscslo','rscsmi','rscspl','rscsvs','rscsvc','rscshi','rscsls','rscsge','rscslt','rscsgt','rscsle', + 'cmpeq.w','cmpne.w','cmpcs.w','cmphs.w','cmpcc.w','cmplo.w','cmpmi.w','cmppl.w','cmpvs.w','cmpvc.w','cmphi.w','cmpls.w','cmpge.w','cmplt.w','cmpgt.w','cmple.w', + 'cmpeq','cmpne','cmpcs','cmphs','cmpcc','cmplo','cmpmi','cmppl','cmpvs','cmpvc','cmphi','cmpls','cmpge','cmplt','cmpgt','cmple', + 'cmneq.w','cmnne.w','cmncs.w','cmnhs.w','cmncc.w','cmnlo.w','cmnmi.w','cmnpl.w','cmnvs.w','cmnvc.w','cmnhi.w','cmnls.w','cmnge.w','cmnlt.w','cmngt.w','cmnle.w', + 'cmneq','cmnne','cmncs','cmnhs','cmncc','cmnlo','cmnmi','cmnpl','cmnvs','cmnvc','cmnhi','cmnls','cmnge','cmnlt','cmngt','cmnle', + /* Set Flags: Conditional Logical */ + 'andseq.w','andsne.w','andscs.w','andshs.w','andscc.w','andslo.w','andsmi.w','andspl.w','andsvs.w','andsvc.w','andshi.w','andsls.w','andsge.w','andslt.w','andsgt.w','andsle.w', + 'andseq','andsne','andscs','andshs','andscc','andslo','andsmi','andspl','andsvs','andsvc','andshi','andsls','andsge','andslt','andsgt','andsle', + 'bicseq.w','bicsne.w','bicscs.w','bicshs.w','bicscc.w','bicslo.w','bicsmi.w','bicspl.w','bicsvs.w','bicsvc.w','bicshi.w','bicsls.w','bicsge.w','bicslt.w','bicsgt.w','bicsle.w', + 'bicseq','bicsne','bicscs','bicshs','bicscc','bicslo','bicsmi','bicspl','bicsvs','bicsvc','bicshi','bicsls','bicsge','bicslt','bicsgt','bicsle', + 'orrseq.w','orrsne.w','orrscs.w','orrshs.w','orrscc.w','orrslo.w','orrsmi.w','orrspl.w','orrsvs.w','orrsvc.w','orrshi.w','orrsls.w','orrsge.w','orrslt.w','orrsgt.w','orrsle.w', + 'orrseq','orrsne','orrscs','orrshs','orrscc','orrslo','orrsmi','orrspl','orrsvs','orrsvc','orrshi','orrsls','orrsge','orrslt','orrsgt','orrsle', + 'ornseq.w','ornsne.w','ornscs.w','ornshs.w','ornscc.w','ornslo.w','ornsmi.w','ornspl.w','ornsvs.w','ornsvc.w','ornshi.w','ornsls.w','ornsge.w','ornslt.w','ornsgt.w','ornsle.w', + 'ornseq','ornsne','ornscs','ornshs','ornscc','ornslo','ornsmi','ornspl','ornsvs','ornsvc','ornshi','ornsls','ornsge','ornslt','ornsgt','ornsle', + 'eorseq.w','eorsne.w','eorscs.w','eorshs.w','eorscc.w','eorslo.w','eorsmi.w','eorspl.w','eorsvs.w','eorsvc.w','eorshi.w','eorsls.w','eorsge.w','eorslt.w','eorsgt.w','eorsle.w', + 'eorseq','eorsne','eorscs','eorshs','eorscc','eorslo','eorsmi','eorspl','eorsvs','eorsvc','eorshi','eorsls','eorsge','eorslt','eorsgt','eorsle', + 'mvnseq.w','mvnsne.w','mvnscs.w','mvnshs.w','mvnscc.w','mvnslo.w','mvnsmi.w','mvnspl.w','mvnsvs.w','mvnsvc.w','mvnshi.w','mvnsls.w','mvnsge.w','mvnslt.w','mvnsgt.w','mvnsle.w', + 'mvnseq','mvnsne','mvnscs','mvnshs','mvnscc','mvnslo','mvnsmi','mvnspl','mvnsvs','mvnsvc','mvnshi','mvnsls','mvnsge','mvnslt','mvnsgt','mvnsle', + 'movseq.w','movsne.w','movscs.w','movshs.w','movscc.w','movslo.w','movsmi.w','movspl.w','movsvs.w','movsvc.w','movshi.w','movsls.w','movsge.w','movslt.w','movsgt.w','movsle.w', + 'movseq','movsne','movscs','movshs','movscc','movslo','movsmi','movspl','movsvs','movsvc','movshi','movsls','movsge','movslt','movsgt','movsle', + 'teqeq','teqne','teqcs','teqhs','teqcc','teqlo','teqmi','teqpl','teqvs','teqvc','teqhi','teqls','teqge','teqlt','teqgt','teqle', + 'tsteq.w','tstne.w','tstcs.w','tsths.w','tstcc.w','tstlo.w','tstmi.w','tstpl.w','tstvs.w','tstvc.w','tsthi.w','tstls.w','tstge.w','tstlt.w','tstgt.w','tstle.w', + 'tsteq','tstne','tstcs','tsths','tstcc','tstlo','tstmi','tstpl','tstvs','tstvc','tsthi','tstls','tstge','tstlt','tstgt','tstle', + 'mrseq','mrsne','mrscs','mrshs','mrscc','mrslo','mrsmi','mrspl','mrsvs','mrsvc','mrshi','mrsls','mrsge','mrslt','mrsgt','mrsle', + 'msreq','msrne','msrcs','msrhs','msrcc','msrlo','msrmi','msrpl','msrvs','msrvc','msrhi','msrls','msrge','msrlt','msrgt','msrle', + /* Set Flags: Conditional Shifts and Rotates */ + 'asrseq.w','asrsne.w','asrscs.w','asrshs.w','asrscc.w','asrslo.w','asrsmi.w','asrspl.w','asrsvs.w','asrsvc.w','asrshi.w','asrsls.w','asrsge.w','asrslt.w','asrsgt.w','asrsle.w', + 'asrseq','asrsne','asrscs','asrshs','asrscc','asrslo','asrsmi','asrspl','asrsvs','asrsvc','asrshi','asrsls','asrsge','asrslt','asrsgt','asrsle', + 'lslseq.w','lslsne.w','lslscs.w','lslshs.w','lslscc.w','lslslo.w','lslsmi.w','lslspl.w','lslsvs.w','lslsvc.w','lslshi.w','lslsls.w','lslsge.w','lslslt.w','lslsgt.w','lslsle.w', + 'lslseq','lslsne','lslscs','lslshs','lslscc','lslslo','lslsmi','lslspl','lslsvs','lslsvc','lslshi','lslsls','lslsge','lslslt','lslsgt','lslsle', + 'lsrseq.w','lsrsne.w','lsrscs.w','lsrshs.w','lsrscc.w','lsrslo.w','lsrsmi.w','lsrspl.w','lsrsvs.w','lsrsvc.w','lsrshi.w','lsrsls.w','lsrsge.w','lsrslt.w','lsrsgt.w','lsrsle.w', + 'lsrseq','lsrsne','lsrscs','lsrshs','lsrscc','lsrslo','lsrsmi','lsrspl','lsrsvs','lsrsvc','lsrshi','lsrsls','lsrsge','lsrslt','lsrsgt','lsrsle', + 'rorseq.w','rorsne.w','rorscs.w','rorshs.w','rorscc.w','rorslo.w','rorsmi.w','rorspl.w','rorsvs.w','rorsvc.w','rorshi.w','rorsls.w','rorsge.w','rorslt.w','rorsgt.w','rorsle.w', + 'rorseq','rorsne','rorscs','rorshs','rorscc','rorslo','rorsmi','rorspl','rorsvs','rorsvc','rorshi','rorsls','rorsge','rorslt','rorsgt','rorsle', + 'rrxseq','rrxsne','rrxscs','rrxshs','rrxscc','rrxslo','rrxsmi','rrxspl','rrxsvs','rrxsvc','rrxshi','rrxsls','rrxsge','rrxslt','rrxsgt','rrxsle', + /* Set Flags: Conditional Multiply and Multiply-Add */ + 'mlaseq','mlasne','mlascs','mlashs','mlascc','mlaslo','mlasmi','mlaspl','mlasvs','mlasvc','mlashi','mlasls','mlasge','mlaslt','mlasgt','mlasle', + 'smullseq','smullsne','smullscs','smullshs','smullscc','smullslo','smullsmi','smullspl','smullsvs','smullsvc','smullshi','smullsls','smullsge','smullslt','smullsgt','smullsle', + 'umullseq','umullsne','umullscs','umullshs','umullscc','umullslo','umullsmi','umullspl','umullsvs','umullsvc','umullshi','umullsls','umullsge','umullslt','umullsgt','umullsle', + 'smlalseq','smlalsne','smlalscs','smlalshs','smlalscc','smlalslo','smlalsmi','smlalspl','smlalsvs','smlalsvc','smlalshi','smlalsls','smlalsge','smlalslt','smlalsgt','smlalsle', + 'umlalseq','umlalsne','umlalscs','umlalshs','umlalscc','umlalslo','umlalsmi','umlalspl','umlalsvs','umlalsvc','umlalshi','umlalsls','umlalsge','umlalslt','umlalsgt','umlalsle' + ), + /* Unconditional Flow Control Instructions */ + 7 => array( + /* Flow Control: Unconditional Branch and If-Then-Else */ + 'b.w','bal.w', + 'b','bal', + 'bl','blal', + 'bx','bxal', + 'blx','blxal', + 'bxj','bxjal', + 'cbnz', + 'cbz', + 'tbb','tbbal', + 'tbh','tbhal', + 'it', + 'itt', + 'ite', + 'ittt', + 'itet', + 'itte', + 'itee', + 'itttt', + 'itett', + 'ittet', + 'iteet', + 'ittte', + 'itete', + 'ittee', + 'iteee' + ), + /* Conditional Flow Control Instructions */ + 8 => array( + /* Flow Control: Conditional Branch and If-Then-Else */ + 'beq.w','bne.w','bcs.w','bhs.w','bcc.w','blo.w','bmi.w','bpl.w','bvs.w','bvc.w','bhi.w','bls.w','bge.w','blt.w','bgt.w','ble.w', + 'beq','bne','bcs','bhs','bcc','blo','bmi','bpl','bvs','bvc','bhi','bls','bge','blt','bgt','ble', + 'bleq','blne','blcs','blhs','blcc','bllo','blmi','blpl','blvs','blvc','blhi','blls','blge','bllt','blgt','blle', + 'bxeq','bxne','bxcs','bxhs','bxcc','bxlo','bxmi','bxpl','bxvs','bxvc','bxhi','bxls','bxge','bxlt','bxgt','bxle', + 'blxeq','blxne','blxcs','blxhs','blxcc','blxlo','blxmi','blxpl','blxvs','blxvc','blxhi','blxls','blxge','blxlt','blxgt','blxle', + 'bxjeq','bxjne','bxjcs','bxjhs','bxjcc','bxjlo','bxjmi','bxjpl','bxjvs','bxjvc','bxjhi','bxjls','bxjge','bxjlt','bxjgt','bxjle', + 'tbbeq','tbbne','tbbcs','tbbhs','tbbcc','tbblo','tbbmi','tbbpl','tbbvs','tbbvc','tbbhi','tbbls','tbbge','tbblt','tbbgt','tbble', + 'tbheq','tbhne','tbhcs','tbhhs','tbhcc','tbhlo','tbhmi','tbhpl','tbhvs','tbhvc','tbhhi','tbhls','tbhge','tbhlt','tbhgt','tbhle' + ), + /* Unconditional Syncronization Instructions */ + 9 => array( + /* Synchronization: Unconditional Loads, Stores and Barriers */ + 'ldrexd','ldrexdal', + 'ldrex','ldrexal', + 'ldrexh','ldrexhal', + 'ldrexb','ldrexbal', + 'strexd','strexdal', + 'strex','strexal', + 'strexh','strexhal', + 'strexb','strexbal', + 'clrex','clrexal', + 'swp','swpal', + 'swpb','swpbal', + 'dbc','dbcal', + 'dsb','dsbal', + 'isb','isbal', + 'yield.w','yieldal.w', + 'yield','yieldal', + 'nop.w','nopal.w', + 'nop','nopal' + ), + /* Conditional Syncronization Instructions */ + 10 => array( + /* Synchronization: Conditional Loads, Stores and Barriers */ + 'ldrexdeq','ldrexdne','ldrexdcs','ldrexdhs','ldrexdcc','ldrexdlo','ldrexdmi','ldrexdpl','ldrexdvs','ldrexdvc','ldrexdhi','ldrexdls','ldrexdge','ldrexdlt','ldrexdgt','ldrexdle', + 'ldrexeq','ldrexne','ldrexcs','ldrexhs','ldrexcc','ldrexlo','ldrexmi','ldrexpl','ldrexvs','ldrexvc','ldrexhi','ldrexls','ldrexge','ldrexlt','ldrexgt','ldrexle', + 'ldrexheq','ldrexhne','ldrexhcs','ldrexhhs','ldrexhcc','ldrexhlo','ldrexhmi','ldrexhpl','ldrexhvs','ldrexhvc','ldrexhhi','ldrexhls','ldrexhge','ldrexhlt','ldrexhgt','ldrexhle', + 'ldrexbeq','ldrexbne','ldrexbcs','ldrexbhs','ldrexbcc','ldrexblo','ldrexbmi','ldrexbpl','ldrexbvs','ldrexbvc','ldrexbhi','ldrexbls','ldrexbge','ldrexblt','ldrexbgt','ldrexble', + 'strexdeq','strexdne','strexdcs','strexdhs','strexdcc','strexdlo','strexdmi','strexdpl','strexdvs','strexdvc','strexdhi','strexdls','strexdge','strexdlt','strexdgt','strexdle', + 'strexeq','strexne','strexcs','strexhs','strexcc','strexlo','strexmi','strexpl','strexvs','strexvc','strexhi','strexls','strexge','strexlt','strexgt','strexle', + 'strexheq','strexhne','strexhcs','strexhhs','strexhcc','strexhlo','strexhmi','strexhpl','strexhvs','strexhvc','strexhhi','strexhls','strexhge','strexhlt','strexhgt','strexhle', + 'strexbeq','strexbne','strexbcs','strexbhs','strexbcc','strexblo','strexbmi','strexbpl','strexbvs','strexbvc','strexbhi','strexbls','strexbge','strexblt','strexbgt','strexble', + 'clrexeq','clrexne','clrexcs','clrexhs','clrexcc','clrexlo','clrexmi','clrexpl','clrexvs','clrexvc','clrexhi','clrexls','clrexge','clrexlt','clrexgt','clrexle', + 'swpeq','swpne','swpcs','swphs','swpcc','swplo','swpmi','swppl','swpvs','swpvc','swphi','swpls','swpge','swplt','swpgt','swple', + 'swpbeq','swpbne','swpbcs','swpbhs','swpbcc','swpblo','swpbmi','swpbpl','swpbvs','swpbvc','swpbhi','swpbls','swpbge','swpblt','swpbgt','swpble', + 'dbceq','dbcne','dbccs','dbchs','dbccc','dbclo','dbcmi','dbcpl','dbcvs','dbcvc','dbchi','dbcls','dbcge','dbclt','dbcgt','dbcle', + 'dsbeq','dsbne','dsbcs','dsbhs','dsbcc','dsblo','dsbmi','dsbpl','dsbvs','dsbvc','dsbhi','dsbls','dsbge','dsblt','dsbgt','dsble', + 'isbeq','isbne','isbcs','isbhs','isbcc','isblo','isbmi','isbpl','isbvs','isbvc','isbhi','isbls','isbge','isblt','isbgt','isble', + 'yieldeq.w','yieldne.w','yieldcs.w','yieldhs.w','yieldcc.w','yieldlo.w','yieldmi.w','yieldpl.w','yieldvs.w','yieldvc.w','yieldhi.w','yieldls.w','yieldge.w','yieldlt.w','yieldgt.w','yieldle.w', + 'yieldeq','yieldne','yieldcs','yieldhs','yieldcc','yieldlo','yieldmi','yieldpl','yieldvs','yieldvc','yieldhi','yieldls','yieldge','yieldlt','yieldgt','yieldle', + 'nopeq.w','nopne.w','nopcs.w','nophs.w','nopcc.w','noplo.w','nopmi.w','noppl.w','nopvs.w','nopvc.w','nophi.w','nopls.w','nopge.w','noplt.w','nopgt.w','nople.w', + 'nopeq','nopne','nopcs','nophs','nopcc','noplo','nopmi','noppl','nopvs','nopvc','nophi','nopls','nopge','noplt','nopgt','nople' + ), + /* Unconditional ARMv6 SIMD */ + 11 => array( + /* ARMv6 SIMD: Unconditional Addition, Subtraction & Saturation */ + 'sadd16','sadd16al', + 'sadd8','sadd8al', + 'uadd16','uadd16al', + 'uadd8','uadd8al', + 'ssub16','ssub16al', + 'ssub8','ssub8al', + 'usub16','usub16al', + 'usub8','usub8al', + 'sasx','sasxal', + 'ssax','ssaxal', + 'uasx','uasxal', + 'usax','usaxal', + 'usad8','usad8al', + 'usada8','usada8al', + /* ARMv6 SIMD: Unconditional Halving Addition & Subtraction */ + 'shadd16','shadd16al', + 'shadd8','shadd8al', + 'uhadd16','uhadd16al', + 'uhadd8','uhadd8al', + 'shsub16','shsub16al', + 'shsub8','shsub8al', + 'uhsub16','uhsub16al', + 'uhsub8','uhsub8al', + 'shasx','shasxal', + 'shsax','shsaxal', + 'uhasx','uhasxal', + 'uhsax','uhsaxal', + /* ARMv6 SIMD: Unconditional Saturating Operations */ + 'qadd','qaddal', + 'qadd16','qadd16al', + 'qadd8','qadd8al', + 'uqadd16','uqadd16al', + 'uqadd8','uqadd8al', + 'qsub','qsubal', + 'qsub16','qsub16al', + 'qsub8','qsub8al', + 'uqsub16','uqsub16al', + 'uqsub8','uqsub8al', + 'qasx','qasxal', + 'qsax','qsaxal', + 'uqasx','uqasxal', + 'uqsax','uqsaxal', + 'qdadd','qdaddal', + 'qdsub','qdsubal', + 'ssat','ssatal', + 'ssat16','ssat16al', + 'usat','usatal', + 'usat16','usat16al', + /* ARMv6 SIMD: Unconditional Permutation and Combine Operations */ + 'sxtah','sxtahal', + 'sxtab','sxtabal', + 'sxtab16','sxtab16al', + 'uxtah','uxtahal', + 'uxtab','uxtabal', + 'uxtab16','uxtab16al', + 'sxth.w','sxthal.w', + 'sxth','sxthal', + 'sxtb.w','sxtbal.w', + 'sxtb','sxtbal', + 'sxtb16','sxtb16al', + 'uxth.w','uxthal.w', + 'uxth','uxthal', + 'uxtb.w','uxtbal.w', + 'uxtb','uxtbal', + 'uxtb16','uxtb16al', + 'pkhbt','pkhbtal', + 'pkhtb','pkhtbal', + 'rbit','rbital', + 'rev.w','reval.w', + 'rev','reval', + 'rev16.w','rev16al.w', + 'rev16','rev16al', + 'revsh.w','revshal.w', + 'revsh','revshal', + 'sel','selal', + /* ARMv6 SIMD: Unconditional Multiply and Multiply-Add */ + 'smlad','smladal', + 'smladx','smladxal', + 'smlsd','smlsdal', + 'smlsdx','smlsdxal', + 'smlald','smlaldal', + 'smlaldx','smlaldxal', + 'smlsld','smlsldal', + 'smlsldx','smlsldxal', + 'smmul','smmulal', + 'smmulr','smmulral', + 'smmla','smmlaal', + 'smmlar','smmlaral', + 'smmls','smmlsal', + 'smmlsr','smmlsral', + 'smuad','smuadal', + 'smuadx','smuadxal', + 'smusd','smusdal', + 'smusdx','smusdxal', + 'umaal','umaalal' + ), + /* Conditional ARMv6 SIMD */ + 12 => array( + /* ARMv6 SIMD: Conditional Addition, Subtraction & Saturation */ + 'sadd16eq','sadd16ne','sadd16cs','sadd16hs','sadd16cc','sadd16lo','sadd16mi','sadd16pl','sadd16vs','sadd16vc','sadd16hi','sadd16ls','sadd16ge','sadd16lt','sadd16gt','sadd16le', + 'sadd8eq','sadd8ne','sadd8cs','sadd8hs','sadd8cc','sadd8lo','sadd8mi','sadd8pl','sadd8vs','sadd8vc','sadd8hi','sadd8ls','sadd8ge','sadd8lt','sadd8gt','sadd8le', + 'uadd16eq','uadd16ne','uadd16cs','uadd16hs','uadd16cc','uadd16lo','uadd16mi','uadd16pl','uadd16vs','uadd16vc','uadd16hi','uadd16ls','uadd16ge','uadd16lt','uadd16gt','uadd16le', + 'uadd8eq','uadd8ne','uadd8cs','uadd8hs','uadd8cc','uadd8lo','uadd8mi','uadd8pl','uadd8vs','uadd8vc','uadd8hi','uadd8ls','uadd8ge','uadd8lt','uadd8gt','uadd8le', + 'ssub16eq','ssub16ne','ssub16cs','ssub16hs','ssub16cc','ssub16lo','ssub16mi','ssub16pl','ssub16vs','ssub16vc','ssub16hi','ssub16ls','ssub16ge','ssub16lt','ssub16gt','ssub16le', + 'ssub8eq','ssub8ne','ssub8cs','ssub8hs','ssub8cc','ssub8lo','ssub8mi','ssub8pl','ssub8vs','ssub8vc','ssub8hi','ssub8ls','ssub8ge','ssub8lt','ssub8gt','ssub8le', + 'usub16eq','usub16ne','usub16cs','usub16hs','usub16cc','usub16lo','usub16mi','usub16pl','usub16vs','usub16vc','usub16hi','usub16ls','usub16ge','usub16lt','usub16gt','usub16le', + 'usub8eq','usub8ne','usub8cs','usub8hs','usub8cc','usub8lo','usub8mi','usub8pl','usub8vs','usub8vc','usub8hi','usub8ls','usub8ge','usub8lt','usub8gt','usub8le', + 'sasxeq','sasxne','sasxcs','sasxhs','sasxcc','sasxlo','sasxmi','sasxpl','sasxvs','sasxvc','sasxhi','sasxls','sasxge','sasxlt','sasxgt','sasxle', + 'ssaxeq','ssaxne','ssaxcs','ssaxhs','ssaxcc','ssaxlo','ssaxmi','ssaxpl','ssaxvs','ssaxvc','ssaxhi','ssaxls','ssaxge','ssaxlt','ssaxgt','ssaxle', + 'uasxeq','uasxne','uasxcs','uasxhs','uasxcc','uasxlo','uasxmi','uasxpl','uasxvs','uasxvc','uasxhi','uasxls','uasxge','uasxlt','uasxgt','uasxle', + 'usaxeq','usaxne','usaxcs','usaxhs','usaxcc','usaxlo','usaxmi','usaxpl','usaxvs','usaxvc','usaxhi','usaxls','usaxge','usaxlt','usaxgt','usaxle', + 'usad8eq','usad8ne','usad8cs','usad8hs','usad8cc','usad8lo','usad8mi','usad8pl','usad8vs','usad8vc','usad8hi','usad8ls','usad8ge','usad8lt','usad8gt','usad8le', + 'usada8eq','usada8ne','usada8cs','usada8hs','usada8cc','usada8lo','usada8mi','usada8pl','usada8vs','usada8vc','usada8hi','usada8ls','usada8ge','usada8lt','usada8gt','usada8le', + /* ARMv6 SIMD: Conditional Halving Addition & Subtraction */ + 'shadd16eq','shadd16ne','shadd16cs','shadd16hs','shadd16cc','shadd16lo','shadd16mi','shadd16pl','shadd16vs','shadd16vc','shadd16hi','shadd16ls','shadd16ge','shadd16lt','shadd16gt','shadd16le', + 'shadd8eq','shadd8ne','shadd8cs','shadd8hs','shadd8cc','shadd8lo','shadd8mi','shadd8pl','shadd8vs','shadd8vc','shadd8hi','shadd8ls','shadd8ge','shadd8lt','shadd8gt','shadd8le', + 'uhadd16eq','uhadd16ne','uhadd16cs','uhadd16hs','uhadd16cc','uhadd16lo','uhadd16mi','uhadd16pl','uhadd16vs','uhadd16vc','uhadd16hi','uhadd16ls','uhadd16ge','uhadd16lt','uhadd16gt','uhadd16le', + 'uhadd8eq','uhadd8ne','uhadd8cs','uhadd8hs','uhadd8cc','uhadd8lo','uhadd8mi','uhadd8pl','uhadd8vs','uhadd8vc','uhadd8hi','uhadd8ls','uhadd8ge','uhadd8lt','uhadd8gt','uhadd8le', + 'shsub16eq','shsub16ne','shsub16cs','shsub16hs','shsub16cc','shsub16lo','shsub16mi','shsub16pl','shsub16vs','shsub16vc','shsub16hi','shsub16ls','shsub16ge','shsub16lt','shsub16gt','shsub16le', + 'shsub8eq','shsub8ne','shsub8cs','shsub8hs','shsub8cc','shsub8lo','shsub8mi','shsub8pl','shsub8vs','shsub8vc','shsub8hi','shsub8ls','shsub8ge','shsub8lt','shsub8gt','shsub8le', + 'uhsub16eq','uhsub16ne','uhsub16cs','uhsub16hs','uhsub16cc','uhsub16lo','uhsub16mi','uhsub16pl','uhsub16vs','uhsub16vc','uhsub16hi','uhsub16ls','uhsub16ge','uhsub16lt','uhsub16gt','uhsub16le', + 'uhsub8eq','uhsub8ne','uhsub8cs','uhsub8hs','uhsub8cc','uhsub8lo','uhsub8mi','uhsub8pl','uhsub8vs','uhsub8vc','uhsub8hi','uhsub8ls','uhsub8ge','uhsub8lt','uhsub8gt','uhsub8le', + 'shasxeq','shasxne','shasxcs','shasxhs','shasxcc','shasxlo','shasxmi','shasxpl','shasxvs','shasxvc','shasxhi','shasxls','shasxge','shasxlt','shasxgt','shasxle', + 'shsaxeq','shsaxne','shsaxcs','shsaxhs','shsaxcc','shsaxlo','shsaxmi','shsaxpl','shsaxvs','shsaxvc','shsaxhi','shsaxls','shsaxge','shsaxlt','shsaxgt','shsaxle', + 'uhasxeq','uhasxne','uhasxcs','uhasxhs','uhasxcc','uhasxlo','uhasxmi','uhasxpl','uhasxvs','uhasxvc','uhasxhi','uhasxls','uhasxge','uhasxlt','uhasxgt','uhasxle', + 'uhsaxeq','uhsaxne','uhsaxcs','uhsaxhs','uhsaxcc','uhsaxlo','uhsaxmi','uhsaxpl','uhsaxvs','uhsaxvc','uhsaxhi','uhsaxls','uhsaxge','uhsaxlt','uhsaxgt','uhsaxle', + /* ARMv6 SIMD: Conditional Saturating Operations */ + 'qaddeq','qaddne','qaddcs','qaddhs','qaddcc','qaddlo','qaddmi','qaddpl','qaddvs','qaddvc','qaddhi','qaddls','qaddge','qaddlt','qaddgt','qaddle', + 'qadd16eq','qadd16ne','qadd16cs','qadd16hs','qadd16cc','qadd16lo','qadd16mi','qadd16pl','qadd16vs','qadd16vc','qadd16hi','qadd16ls','qadd16ge','qadd16lt','qadd16gt','qadd16le', + 'qadd8eq','qadd8ne','qadd8cs','qadd8hs','qadd8cc','qadd8lo','qadd8mi','qadd8pl','qadd8vs','qadd8vc','qadd8hi','qadd8ls','qadd8ge','qadd8lt','qadd8gt','qadd8le', + 'uqadd16eq','uqadd16ne','uqadd16cs','uqadd16hs','uqadd16cc','uqadd16lo','uqadd16mi','uqadd16pl','uqadd16vs','uqadd16vc','uqadd16hi','uqadd16ls','uqadd16ge','uqadd16lt','uqadd16gt','uqadd16le', + 'uqadd8eq','uqadd8ne','uqadd8cs','uqadd8hs','uqadd8cc','uqadd8lo','uqadd8mi','uqadd8pl','uqadd8vs','uqadd8vc','uqadd8hi','uqadd8ls','uqadd8ge','uqadd8lt','uqadd8gt','uqadd8le', + 'qsubeq','qsubne','qsubcs','qsubhs','qsubcc','qsublo','qsubmi','qsubpl','qsubvs','qsubvc','qsubhi','qsubls','qsubge','qsublt','qsubgt','qsuble', + 'qsub16eq','qsub16ne','qsub16cs','qsub16hs','qsub16cc','qsub16lo','qsub16mi','qsub16pl','qsub16vs','qsub16vc','qsub16hi','qsub16ls','qsub16ge','qsub16lt','qsub16gt','qsub16le', + 'qsub8eq','qsub8ne','qsub8cs','qsub8hs','qsub8cc','qsub8lo','qsub8mi','qsub8pl','qsub8vs','qsub8vc','qsub8hi','qsub8ls','qsub8ge','qsub8lt','qsub8gt','qsub8le', + 'uqsub16eq','uqsub16ne','uqsub16cs','uqsub16hs','uqsub16cc','uqsub16lo','uqsub16mi','uqsub16pl','uqsub16vs','uqsub16vc','uqsub16hi','uqsub16ls','uqsub16ge','uqsub16lt','uqsub16gt','uqsub16le', + 'uqsub8eq','uqsub8ne','uqsub8cs','uqsub8hs','uqsub8cc','uqsub8lo','uqsub8mi','uqsub8pl','uqsub8vs','uqsub8vc','uqsub8hi','uqsub8ls','uqsub8ge','uqsub8lt','uqsub8gt','uqsub8le', + 'qasxeq','qasxne','qasxcs','qasxhs','qasxcc','qasxlo','qasxmi','qasxpl','qasxvs','qasxvc','qasxhi','qasxls','qasxge','qasxlt','qasxgt','qasxle', + 'qsaxeq','qsaxne','qsaxcs','qsaxhs','qsaxcc','qsaxlo','qsaxmi','qsaxpl','qsaxvs','qsaxvc','qsaxhi','qsaxls','qsaxge','qsaxlt','qsaxgt','qsaxle', + 'uqasxeq','uqasxne','uqasxcs','uqasxhs','uqasxcc','uqasxlo','uqasxmi','uqasxpl','uqasxvs','uqasxvc','uqasxhi','uqasxls','uqasxge','uqasxlt','uqasxgt','uqasxle', + 'uqsaxeq','uqsaxne','uqsaxcs','uqsaxhs','uqsaxcc','uqsaxlo','uqsaxmi','uqsaxpl','uqsaxvs','uqsaxvc','uqsaxhi','uqsaxls','uqsaxge','uqsaxlt','uqsaxgt','uqsaxle', + 'qdaddeq','qdaddne','qdaddcs','qdaddhs','qdaddcc','qdaddlo','qdaddmi','qdaddpl','qdaddvs','qdaddvc','qdaddhi','qdaddls','qdaddge','qdaddlt','qdaddgt','qdaddle', + 'qdsubeq','qdsubne','qdsubcs','qdsubhs','qdsubcc','qdsublo','qdsubmi','qdsubpl','qdsubvs','qdsubvc','qdsubhi','qdsubls','qdsubge','qdsublt','qdsubgt','qdsuble', + 'ssateq','ssatne','ssatcs','ssaths','ssatcc','ssatlo','ssatmi','ssatpl','ssatvs','ssatvc','ssathi','ssatls','ssatge','ssatlt','ssatgt','ssatle', + 'ssat16eq','ssat16ne','ssat16cs','ssat16hs','ssat16cc','ssat16lo','ssat16mi','ssat16pl','ssat16vs','ssat16vc','ssat16hi','ssat16ls','ssat16ge','ssat16lt','ssat16gt','ssat16le', + 'usateq','usatne','usatcs','usaths','usatcc','usatlo','usatmi','usatpl','usatvs','usatvc','usathi','usatls','usatge','usatlt','usatgt','usatle', + 'usat16eq','usat16ne','usat16cs','usat16hs','usat16cc','usat16lo','usat16mi','usat16pl','usat16vs','usat16vc','usat16hi','usat16ls','usat16ge','usat16lt','usat16gt','usat16le', + /* ARMv6 SIMD: Conditional Permutation and Combine Operations */ + 'sxtaheq','sxtahne','sxtahcs','sxtahhs','sxtahcc','sxtahlo','sxtahmi','sxtahpl','sxtahvs','sxtahvc','sxtahhi','sxtahls','sxtahge','sxtahlt','sxtahgt','sxtahle', + 'sxtabeq','sxtabne','sxtabcs','sxtabhs','sxtabcc','sxtablo','sxtabmi','sxtabpl','sxtabvs','sxtabvc','sxtabhi','sxtabls','sxtabge','sxtablt','sxtabgt','sxtable', + 'sxtab16eq','sxtab16ne','sxtab16cs','sxtab16hs','sxtab16cc','sxtab16lo','sxtab16mi','sxtab16pl','sxtab16vs','sxtab16vc','sxtab16hi','sxtab16ls','sxtab16ge','sxtab16lt','sxtab16gt','sxtab16le', + 'uxtaheq','uxtahne','uxtahcs','uxtahhs','uxtahcc','uxtahlo','uxtahmi','uxtahpl','uxtahvs','uxtahvc','uxtahhi','uxtahls','uxtahge','uxtahlt','uxtahgt','uxtahle', + 'uxtabeq','uxtabne','uxtabcs','uxtabhs','uxtabcc','uxtablo','uxtabmi','uxtabpl','uxtabvs','uxtabvc','uxtabhi','uxtabls','uxtabge','uxtablt','uxtabgt','uxtable', + 'uxtab16eq','uxtab16ne','uxtab16cs','uxtab16hs','uxtab16cc','uxtab16lo','uxtab16mi','uxtab16pl','uxtab16vs','uxtab16vc','uxtab16hi','uxtab16ls','uxtab16ge','uxtab16lt','uxtab16gt','uxtab16le', + 'sxtheq.w','sxthne.w','sxthcs.w','sxthhs.w','sxthcc.w','sxthlo.w','sxthmi.w','sxthpl.w','sxthvs.w','sxthvc.w','sxthhi.w','sxthls.w','sxthge.w','sxthlt.w','sxthgt.w','sxthle.w', + 'sxtheq','sxthne','sxthcs','sxthhs','sxthcc','sxthlo','sxthmi','sxthpl','sxthvs','sxthvc','sxthhi','sxthls','sxthge','sxthlt','sxthgt','sxthle', + 'sxtbeq.w','sxtbne.w','sxtbcs.w','sxtbhs.w','sxtbcc.w','sxtblo.w','sxtbmi.w','sxtbpl.w','sxtbvs.w','sxtbvc.w','sxtbhi.w','sxtbls.w','sxtbge.w','sxtblt.w','sxtbgt.w','sxtble.w', + 'sxtbeq','sxtbne','sxtbcs','sxtbhs','sxtbcc','sxtblo','sxtbmi','sxtbpl','sxtbvs','sxtbvc','sxtbhi','sxtbls','sxtbge','sxtblt','sxtbgt','sxtble', + 'sxtb16eq','sxtb16ne','sxtb16cs','sxtb16hs','sxtb16cc','sxtb16lo','sxtb16mi','sxtb16pl','sxtb16vs','sxtb16vc','sxtb16hi','sxtb16ls','sxtb16ge','sxtb16lt','sxtb16gt','sxtb16le', + 'uxtheq.w','uxthne.w','uxthcs.w','uxthhs.w','uxthcc.w','uxthlo.w','uxthmi.w','uxthpl.w','uxthvs.w','uxthvc.w','uxthhi.w','uxthls.w','uxthge.w','uxthlt.w','uxthgt.w','uxthle.w', + 'uxtheq','uxthne','uxthcs','uxthhs','uxthcc','uxthlo','uxthmi','uxthpl','uxthvs','uxthvc','uxthhi','uxthls','uxthge','uxthlt','uxthgt','uxthle', + 'uxtbeq.w','uxtbne.w','uxtbcs.w','uxtbhs.w','uxtbcc.w','uxtblo.w','uxtbmi.w','uxtbpl.w','uxtbvs.w','uxtbvc.w','uxtbhi.w','uxtbls.w','uxtbge.w','uxtblt.w','uxtbgt.w','uxtble.w', + 'uxtbeq','uxtbne','uxtbcs','uxtbhs','uxtbcc','uxtblo','uxtbmi','uxtbpl','uxtbvs','uxtbvc','uxtbhi','uxtbls','uxtbge','uxtblt','uxtbgt','uxtble', + 'uxtb16eq','uxtb16ne','uxtb16cs','uxtb16hs','uxtb16cc','uxtb16lo','uxtb16mi','uxtb16pl','uxtb16vs','uxtb16vc','uxtb16hi','uxtb16ls','uxtb16ge','uxtb16lt','uxtb16gt','uxtb16le', + 'pkhbteq','pkhbtne','pkhbtcs','pkhbths','pkhbtcc','pkhbtlo','pkhbtmi','pkhbtpl','pkhbtvs','pkhbtvc','pkhbthi','pkhbtls','pkhbtge','pkhbtlt','pkhbtgt','pkhbtle', + 'pkhtbeq','pkhtbne','pkhtbcs','pkhtbhs','pkhtbcc','pkhtblo','pkhtbmi','pkhtbpl','pkhtbvs','pkhtbvc','pkhtbhi','pkhtbls','pkhtbge','pkhtblt','pkhtbgt','pkhtble', + 'rbiteq','rbitne','rbitcs','rbiths','rbitcc','rbitlo','rbitmi','rbitpl','rbitvs','rbitvc','rbithi','rbitls','rbitge','rbitlt','rbitgt','rbitle', + 'reveq.w','revne.w','revcs.w','revhs.w','revcc.w','revlo.w','revmi.w','revpl.w','revvs.w','revvc.w','revhi.w','revls.w','revge.w','revlt.w','revgt.w','revle.w', + 'reveq','revne','revcs','revhs','revcc','revlo','revmi','revpl','revvs','revvc','revhi','revls','revge','revlt','revgt','revle', + 'rev16eq.w','rev16ne.w','rev16cs.w','rev16hs.w','rev16cc.w','rev16lo.w','rev16mi.w','rev16pl.w','rev16vs.w','rev16vc.w','rev16hi.w','rev16ls.w','rev16ge.w','rev16lt.w','rev16gt.w','rev16le.w', + 'rev16eq','rev16ne','rev16cs','rev16hs','rev16cc','rev16lo','rev16mi','rev16pl','rev16vs','rev16vc','rev16hi','rev16ls','rev16ge','rev16lt','rev16gt','rev16le', + 'revsheq.w','revshne.w','revshcs.w','revshhs.w','revshcc.w','revshlo.w','revshmi.w','revshpl.w','revshvs.w','revshvc.w','revshhi.w','revshls.w','revshge.w','revshlt.w','revshgt.w','revshle.w', + 'revsheq','revshne','revshcs','revshhs','revshcc','revshlo','revshmi','revshpl','revshvs','revshvc','revshhi','revshls','revshge','revshlt','revshgt','revshle', + 'seleq','selne','selcs','selhs','selcc','sello','selmi','selpl','selvs','selvc','selhi','sells','selge','sellt','selgt','selle', + /* ARMv6 SIMD: Conditional Multiply and Multiply-Add */ + 'smladeq','smladne','smladcs','smladhs','smladcc','smladlo','smladmi','smladpl','smladvs','smladvc','smladhi','smladls','smladge','smladlt','smladgt','smladle', + 'smladxeq','smladxne','smladxcs','smladxhs','smladxcc','smladxlo','smladxmi','smladxpl','smladxvs','smladxvc','smladxhi','smladxls','smladxge','smladxlt','smladxgt','smladxle', + 'smlsdeq','smlsdne','smlsdcs','smlsdhs','smlsdcc','smlsdlo','smlsdmi','smlsdpl','smlsdvs','smlsdvc','smlsdhi','smlsdls','smlsdge','smlsdlt','smlsdgt','smlsdle', + 'smlsdxeq','smlsdxne','smlsdxcs','smlsdxhs','smlsdxcc','smlsdxlo','smlsdxmi','smlsdxpl','smlsdxvs','smlsdxvc','smlsdxhi','smlsdxls','smlsdxge','smlsdxlt','smlsdxgt','smlsdxle', + 'smlaldeq','smlaldne','smlaldcs','smlaldhs','smlaldcc','smlaldlo','smlaldmi','smlaldpl','smlaldvs','smlaldvc','smlaldhi','smlaldls','smlaldge','smlaldlt','smlaldgt','smlaldle', + 'smlaldxeq','smlaldxne','smlaldxcs','smlaldxhs','smlaldxcc','smlaldxlo','smlaldxmi','smlaldxpl','smlaldxvs','smlaldxvc','smlaldxhi','smlaldxls','smlaldxge','smlaldxlt','smlaldxgt','smlaldxle', + 'smlsldeq','smlsldne','smlsldcs','smlsldhs','smlsldcc','smlsldlo','smlsldmi','smlsldpl','smlsldvs','smlsldvc','smlsldhi','smlsldls','smlsldge','smlsldlt','smlsldgt','smlsldle', + 'smlsldxeq','smlsldxne','smlsldxcs','smlsldxhs','smlsldxcc','smlsldxlo','smlsldxmi','smlsldxpl','smlsldxvs','smlsldxvc','smlsldxhi','smlsldxls','smlsldxge','smlsldxlt','smlsldxgt','smlsldxle', + 'smmuleq','smmulne','smmulcs','smmulhs','smmulcc','smmullo','smmulmi','smmulpl','smmulvs','smmulvc','smmulhi','smmulls','smmulge','smmullt','smmulgt','smmulle', + 'smmulreq','smmulrne','smmulrcs','smmulrhs','smmulrcc','smmulrlo','smmulrmi','smmulrpl','smmulrvs','smmulrvc','smmulrhi','smmulrls','smmulrge','smmulrlt','smmulrgt','smmulrle', + 'smmlaeq','smmlane','smmlacs','smmlahs','smmlacc','smmlalo','smmlami','smmlapl','smmlavs','smmlavc','smmlahi','smmlals','smmlage','smmlalt','smmlagt','smmlale', + 'smmlareq','smmlarne','smmlarcs','smmlarhs','smmlarcc','smmlarlo','smmlarmi','smmlarpl','smmlarvs','smmlarvc','smmlarhi','smmlarls','smmlarge','smmlarlt','smmlargt','smmlarle', + 'smmlseq','smmlsne','smmlscs','smmlshs','smmlscc','smmlslo','smmlsmi','smmlspl','smmlsvs','smmlsvc','smmlshi','smmlsls','smmlsge','smmlslt','smmlsgt','smmlsle', + 'smmlsreq','smmlsrne','smmlsrcs','smmlsrhs','smmlsrcc','smmlsrlo','smmlsrmi','smmlsrpl','smmlsrvs','smmlsrvc','smmlsrhi','smmlsrls','smmlsrge','smmlsrlt','smmlsrgt','smmlsrle', + 'smuadeq','smuadne','smuadcs','smuadhs','smuadcc','smuadlo','smuadmi','smuadpl','smuadvs','smuadvc','smuadhi','smuadls','smuadge','smuadlt','smuadgt','smuadle', + 'smuadxeq','smuadxne','smuadxcs','smuadxhs','smuadxcc','smuadxlo','smuadxmi','smuadxpl','smuadxvs','smuadxvc','smuadxhi','smuadxls','smuadxge','smuadxlt','smuadxgt','smuadxle', + 'smusdeq','smusdne','smusdcs','smusdhs','smusdcc','smusdlo','smusdmi','smusdpl','smusdvs','smusdvc','smusdhi','smusdls','smusdge','smusdlt','smusdgt','smusdle', + 'smusdxeq','smusdxne','smusdxcs','smusdxhs','smusdxcc','smusdxlo','smusdxmi','smusdxpl','smusdxvs','smusdxvc','smusdxhi','smusdxls','smusdxge','smusdxlt','smusdxgt','smusdxle', + 'umaaleq','umaalne','umaalcs','umaalhs','umaalcc','umaallo','umaalmi','umaalpl','umaalvs','umaalvc','umaalhi','umaalls','umaalge','umaallt','umaalgt','umaalle' + ), + /* Unconditional Coprocessor Instructions */ + 13 => array( + /* Data Processing: Unconditional Coprocessor Instructions */ + 'cdp','cdpal', + 'cdp2','cdp2al', + 'ldc','ldcal', + 'ldcl','ldclal', + 'ldc2','ldc2al', + 'ldc2l','ldc2lal', + 'stc','stcal', + 'stcl','stclal', + 'stc2','stc2al', + 'stc2l','stc2lal', + 'mcr','mcral', + 'mcr2','mcr2al', + 'mcrr','mcrral', + 'mcrr2','mcrr2al', + 'mrc','mrcal', + 'mrc2','mrc2al', + 'mrrc','mrrcal', + 'mrrc2','mrrc2al' + ), + /* Conditional Coprocessor Instructions */ + 14 => array( + /* Data Processing: Conditional Coprocessor Instructions */ + 'cdpeq','cdpne','cdpcs','cdphs','cdpcc','cdplo','cdpmi','cdppl','cdpvs','cdpvc','cdphi','cdpls','cdpge','cdplt','cdpgt','cdple', + 'cdp2eq','cdp2ne','cdp2cs','cdp2hs','cdp2cc','cdp2lo','cdp2mi','cdp2pl','cdp2vs','cdp2vc','cdp2hi','cdp2ls','cdp2ge','cdp2lt','cdp2gt','cdp2le', + 'ldceq','ldcne','ldccs','ldchs','ldccc','ldclo','ldcmi','ldcpl','ldcvs','ldcvc','ldchi','ldcls','ldcge','ldclt','ldcgt','ldcle', + 'ldcleq','ldclne','ldclcs','ldclhs','ldclcc','ldcllo','ldclmi','ldclpl','ldclvs','ldclvc','ldclhi','ldclls','ldclge','ldcllt','ldclgt','ldclle', + 'ldc2eq','ldc2ne','ldc2cs','ldc2hs','ldc2cc','ldc2lo','ldc2mi','ldc2pl','ldc2vs','ldc2vc','ldc2hi','ldc2ls','ldc2ge','ldc2lt','ldc2gt','ldc2le', + 'ldc2leq','ldc2lne','ldc2lcs','ldc2lhs','ldc2lcc','ldc2llo','ldc2lmi','ldc2lpl','ldc2lvs','ldc2lvc','ldc2lhi','ldc2lls','ldc2lge','ldc2llt','ldc2lgt','ldc2lle', + 'stceq','stcne','stccs','stchs','stccc','stclo','stcmi','stcpl','stcvs','stcvc','stchi','stcls','stcge','stclt','stcgt','stcle', + 'stcleq','stclne','stclcs','stclhs','stclcc','stcllo','stclmi','stclpl','stclvs','stclvc','stclhi','stclls','stclge','stcllt','stclgt','stclle', + 'stc2eq','stc2ne','stc2cs','stc2hs','stc2cc','stc2lo','stc2mi','stc2pl','stc2vs','stc2vc','stc2hi','stc2ls','stc2ge','stc2lt','stc2gt','stc2le', + 'stc2leq','stc2lne','stc2lcs','stc2lhs','stc2lcc','stc2llo','stc2lmi','stc2lpl','stc2lvs','stc2lvc','stc2lhi','stc2lls','stc2lge','stc2llt','stc2lgt','stc2lle', + 'mcreq','mcrne','mcrcs','mcrhs','mcrcc','mcrlo','mcrmi','mcrpl','mcrvs','mcrvc','mcrhi','mcrls','mcrge','mcrlt','mcrgt','mcrle', + 'mcr2eq','mcr2ne','mcr2cs','mcr2hs','mcr2cc','mcr2lo','mcr2mi','mcr2pl','mcr2vs','mcr2vc','mcr2hi','mcr2ls','mcr2ge','mcr2lt','mcr2gt','mcr2le', + 'mcrreq','mcrrne','mcrrcs','mcrrhs','mcrrcc','mcrrlo','mcrrmi','mcrrpl','mcrrvs','mcrrvc','mcrrhi','mcrrls','mcrrge','mcrrlt','mcrrgt','mcrrle', + 'mcrr2eq','mcrr2ne','mcrr2cs','mcrr2hs','mcrr2cc','mcrr2lo','mcrr2mi','mcrr2pl','mcrr2vs','mcrr2vc','mcrr2hi','mcrr2ls','mcrr2ge','mcrr2lt','mcrr2gt','mcrr2le', + 'mrceq','mrcne','mrccs','mrchs','mrccc','mrclo','mrcmi','mrcpl','mrcvs','mrcvc','mrchi','mrcls','mrcge','mrclt','mrcgt','mrcle', + 'mrc2eq','mrc2ne','mrc2cs','mrc2hs','mrc2cc','mrc2lo','mrc2mi','mrc2pl','mrc2vs','mrc2vc','mrc2hi','mrc2ls','mrc2ge','mrc2lt','mrc2gt','mrc2le', + 'mrrceq','mrrcne','mrrccs','mrrchs','mrrccc','mrrclo','mrrcmi','mrrcpl','mrrcvs','mrrcvc','mrrchi','mrrcls','mrrcge','mrrclt','mrrcgt','mrrcle', + 'mrrc2eq','mrrc2ne','mrrc2cs','mrrc2hs','mrrc2cc','mrrc2lo','mrrc2mi','mrrc2pl','mrrc2vs','mrrc2vc','mrrc2hi','mrrc2ls','mrrc2ge','mrrc2lt','mrrc2gt','mrrc2le' + ), + /* Unconditional System Instructions */ + 15 => array( + /* System: Unconditional Debug and State-Change Instructions */ + 'bkpt', + 'dbg','dbgal', + 'setend', + 'svc','svcal', + 'sev.w','seval.w', + 'sev','seval', + 'wfe.w','wfeal.w', + 'wfe','wfeal', + 'wfi.w','wfial.w', + 'wfi','wfial', + /* System: Unconditional ThumbEE Instructions */ + 'enterx', + 'leavex', + 'chka.n','chkaal.n', + 'chka','chkaal', + 'hb.n','hbal.n', + 'hb','hbal', + 'hbl.n','hblal.n', + 'hbl','hblal', + 'hblp.n','hblpal.n', + 'hblp','hblpal', + 'hbp.n','hbpal.n', + 'hbp','hbpal', + /* System: Unconditional Privileged Instructions */ + 'cpsie.n', + 'cpsie.w', + 'cpsie', + 'cpsid.n', + 'cpsid.w', + 'cpsid', + 'smc','smcal', + 'rfeda','rfedaal', + 'rfedb','rfedbal', + 'rfeia','rfeiaal', + 'rfeib','rfeibal', + 'srsda','srsdaal', + 'srsdb','srsdbal', + 'srsia','srsiaal', + 'srsib','srsibal' + ), + /* Conditional System Instructions */ + 16 => array( + /* System: Conditional Debug and State-Change Instructions */ + 'dbgeq','dbgne','dbgcs','dbghs','dbgcc','dbglo','dbgmi','dbgpl','dbgvs','dbgvc','dbghi','dbgls','dbgge','dbglt','dbggt','dbgle', + 'svceq','svcne','svccs','svchs','svccc','svclo','svcmi','svcpl','svcvs','svcvc','svchi','svcls','svcge','svclt','svcgt','svcle', + 'seveq.w','sevne.w','sevcs.w','sevhs.w','sevcc.w','sevlo.w','sevmi.w','sevpl.w','sevvs.w','sevvc.w','sevhi.w','sevls.w','sevge.w','sevlt.w','sevgt.w','sevle.w', + 'seveq','sevne','sevcs','sevhs','sevcc','sevlo','sevmi','sevpl','sevvs','sevvc','sevhi','sevls','sevge','sevlt','sevgt','sevle', + 'wfeeq.w','wfene.w','wfecs.w','wfehs.w','wfecc.w','wfelo.w','wfemi.w','wfepl.w','wfevs.w','wfevc.w','wfehi.w','wfels.w','wfege.w','wfelt.w','wfegt.w','wfele.w', + 'wfeeq','wfene','wfecs','wfehs','wfecc','wfelo','wfemi','wfepl','wfevs','wfevc','wfehi','wfels','wfege','wfelt','wfegt','wfele', + 'wfieq.w','wfine.w','wfics.w','wfihs.w','wficc.w','wfilo.w','wfimi.w','wfipl.w','wfivs.w','wfivc.w','wfihi.w','wfils.w','wfige.w','wfilt.w','wfigt.w','wfile.w', + 'wfieq','wfine','wfics','wfihs','wficc','wfilo','wfimi','wfipl','wfivs','wfivc','wfihi','wfils','wfige','wfilt','wfigt','wfile', + /* System: Conditional ThumbEE Instructions */ + 'chkaeq.n','chkane.n','chkacs.n','chkahs.n','chkacc.n','chkalo.n','chkami.n','chkapl.n','chkavs.n','chkavc.n','chkahi.n','chkals.n','chkage.n','chkalt.n','chkagt.n','chkale.n', + 'chkaeq','chkane','chkacs','chkahs','chkacc','chkalo','chkami','chkapl','chkavs','chkavc','chkahi','chkals','chkage','chkalt','chkagt','chkale', + 'hbeq.n','hbne.n','hbcs.n','hbhs.n','hbcc.n','hblo.n','hbmi.n','hbpl.n','hbvs.n','hbvc.n','hbhi.n','hbls.n','hbge.n','hblt.n','hbgt.n','hble.n', + 'hbeq','hbne','hbcs','hbhs','hbcc','hblo','hbmi','hbpl','hbvs','hbvc','hbhi','hbls','hbge','hblt','hbgt','hble', + 'hbleq.n','hblne.n','hblcs.n','hblhs.n','hblcc.n','hbllo.n','hblmi.n','hblpl.n','hblvs.n','hblvc.n','hblhi.n','hblls.n','hblge.n','hbllt.n','hblgt.n','hblle.n', + 'hbleq','hblne','hblcs','hblhs','hblcc','hbllo','hblmi','hblpl','hblvs','hblvc','hblhi','hblls','hblge','hbllt','hblgt','hblle', + 'hblpeq.n','hblpne.n','hblpcs.n','hblphs.n','hblpcc.n','hblplo.n','hblpmi.n','hblppl.n','hblpvs.n','hblpvc.n','hblphi.n','hblpls.n','hblpge.n','hblplt.n','hblpgt.n','hblple.n', + 'hblpeq','hblpne','hblpcs','hblphs','hblpcc','hblplo','hblpmi','hblppl','hblpvs','hblpvc','hblphi','hblpls','hblpge','hblplt','hblpgt','hblple', + 'hbpeq.n','hbpne.n','hbpcs.n','hbphs.n','hbpcc.n','hbplo.n','hbpmi.n','hbppl.n','hbpvs.n','hbpvc.n','hbphi.n','hbpls.n','hbpge.n','hbplt.n','hbpgt.n','hbple.n', + 'hbpeq','hbpne','hbpcs','hbphs','hbpcc','hbplo','hbpmi','hbppl','hbpvs','hbpvc','hbphi','hbpls','hbpge','hbplt','hbpgt','hbple', + /* System: Conditional Privileged Instructions */ + 'smceq','smcne','smccs','smchs','smccc','smclo','smcmi','smcpl','smcvs','smcvc','smchi','smcls','smcge','smclt','smcgt','smcle', + 'rfedaeq','rfedane','rfedacs','rfedahs','rfedacc','rfedalo','rfedami','rfedapl','rfedavs','rfedavc','rfedahi','rfedals','rfedage','rfedalt','rfedagt','rfedale', + 'rfedbeq','rfedbne','rfedbcs','rfedbhs','rfedbcc','rfedblo','rfedbmi','rfedbpl','rfedbvs','rfedbvc','rfedbhi','rfedbls','rfedbge','rfedblt','rfedbgt','rfedble', + 'rfeiaeq','rfeiane','rfeiacs','rfeiahs','rfeiacc','rfeialo','rfeiami','rfeiapl','rfeiavs','rfeiavc','rfeiahi','rfeials','rfeiage','rfeialt','rfeiagt','rfeiale', + 'rfeibeq','rfeibne','rfeibcs','rfeibhs','rfeibcc','rfeiblo','rfeibmi','rfeibpl','rfeibvs','rfeibvc','rfeibhi','rfeibls','rfeibge','rfeiblt','rfeibgt','rfeible', + 'srsdaeq','srsdane','srsdacs','srsdahs','srsdacc','srsdalo','srsdami','srsdapl','srsdavs','srsdavc','srsdahi','srsdals','srsdage','srsdalt','srsdagt','srsdale', + 'srsdbeq','srsdbne','srsdbcs','srsdbhs','srsdbcc','srsdblo','srsdbmi','srsdbpl','srsdbvs','srsdbvc','srsdbhi','srsdbls','srsdbge','srsdblt','srsdbgt','srsdble', + 'srsiaeq','srsiane','srsiacs','srsiahs','srsiacc','srsialo','srsiami','srsiapl','srsiavs','srsiavc','srsiahi','srsials','srsiage','srsialt','srsiagt','srsiale', + 'srsibeq','srsibne','srsibcs','srsibhs','srsibcc','srsiblo','srsibmi','srsibpl','srsibvs','srsibvc','srsibhi','srsibls','srsibge','srsiblt','srsibgt','srsible' + ), + /* Unconditional WMMX/WMMX2 instructions */ + 17 => array( + /* Unconditional WMMX/WMMX2 SIMD Instructions */ + 'tandcb','tandcbal', + 'tandch','tandchal', + 'tandcw','tandcwal', + 'tbcstb','tbcstbal', + 'tbcsth','tbcsthal', + 'tbcstw','tbcstwal', + 'textrcb','textrcbal', + 'textrch','textrchal', + 'textrcw','textrcwal', + 'textrmsb','textrmsbal', + 'textrmsh','textrmshal', + 'textrmsw','textrmswal', + 'textrmub','textrmubal', + 'textrmuh','textrmuhal', + 'textrmuw','textrmuwal', + 'tinsrb','tinsrbal', + 'tinsrh','tinsrhal', + 'tinsrw','tinsrwal', + 'tmcr','tmcral', + 'tmcrr','tmcrral', + 'tmia','tmiaal', + 'tmiaph','tmiaphal', + 'tmiabb','tmiabbal', + 'tmiabt','tmiabtal', + 'tmiatb','tmiatbal', + 'tmiatt','tmiattal', + 'tmovmskb','tmovmskbal', + 'tmovmskh','tmovmskhal', + 'tmovmskw','tmovmskwal', + 'tmrc','tmrcal', + 'tmrrc','tmrrcal', + 'torcb','torcbal', + 'torch','torchal', + 'torcw','torcwal', + 'torvscb','torvscbal', + 'torvsch','torvschal', + 'torvscw','torvscwal', + 'wabsb','wabsbal', + 'wabsh','wabshal', + 'wabsw','wabswal', + 'wabsdiffb','wabsdiffbal', + 'wabsdiffh','wabsdiffhal', + 'wabsdiffw','wabsdiffwal', + 'waccb','waccbal', + 'wacch','wacchal', + 'waccw','waccwal', + 'waddb','waddbal', + 'waddh','waddhal', + 'waddw','waddwal', + 'waddbc','waddbcal', + 'waddhc','waddhcal', + 'waddwc','waddwcal', + 'waddbss','waddbssal', + 'waddhss','waddhssal', + 'waddwss','waddwssal', + 'waddbus','waddbusal', + 'waddhus','waddhusal', + 'waddwus','waddwusal', + 'waddsubhx','waddsubhxal', + 'waligni','walignial', + 'walignr0','walignr0al', + 'walignr1','walignr1al', + 'walignr2','walignr2al', + 'walignr3','walignr3al', + 'wand','wandal', + 'wandn','wandnal', + 'wavg2b','wavg2bal', + 'wavg2h','wavg2hal', + 'wavg2br','wavg2bral', + 'wavg2hr','wavg2hral', + 'wavg4','wavg4al', + 'wavg4r','wavg4ral', + 'wcmpeqb','wcmpeqbal', + 'wcmpeqh','wcmpeqhal', + 'wcmpeqw','wcmpeqwal', + 'wcmpgtsb','wcmpgtsbal', + 'wcmpgtsh','wcmpgtshal', + 'wcmpgtsw','wcmpgtswal', + 'wcmpgtub','wcmpgtubal', + 'wcmpgtuh','wcmpgtuhal', + 'wcmpgtuw','wcmpgtuwal', + 'wldrb','wldrbal', + 'wldrh','wldrhal', + 'wldrw','wldrwal', + 'wldrd','wldrdal', + 'wmacs','wmacsal', + 'wmacu','wmacual', + 'wmacsz','wmacszal', + 'wmacuz','wmacuzal', + 'wmadds','wmaddsal', + 'wmaddu','wmaddual', + 'wmaddsx','wmaddsxal', + 'wmaddux','wmadduxal', + 'wmaddsn','wmaddsnal', + 'wmaddun','wmaddunal', + 'wmaxsb','wmaxsbal', + 'wmaxsh','wmaxshal', + 'wmaxsw','wmaxswal', + 'wmaxub','wmaxubal', + 'wmaxuh','wmaxuhal', + 'wmaxuw','wmaxuwal', + 'wmerge','wmergeal', + 'wmiabb','wmiabbal', + 'wmiabt','wmiabtal', + 'wmiatb','wmiatbal', + 'wmiatt','wmiattal', + 'wmiabbn','wmiabbnal', + 'wmiabtn','wmiabtnal', + 'wmiatbn','wmiatbnal', + 'wmiattn','wmiattnal', + 'wmiawbb','wmiawbbal', + 'wmiawbt','wmiawbtal', + 'wmiawtb','wmiawtbal', + 'wmiawtt','wmiawttal', + 'wmiawbbn','wmiawbbnal', + 'wmiawbtn','wmiawbtnal', + 'wmiawtbn','wmiawtbnal', + 'wmiawttn','wmiawttnal', + 'wminsb','wminsbal', + 'wminsh','wminshal', + 'wminsw','wminswal', + 'wminub','wminubal', + 'wminuh','wminuhal', + 'wminuw','wminuwal', + 'wmov','wmoval', + 'wmulsm','wmulsmal', + 'wmulsl','wmulslal', + 'wmulum','wmulumal', + 'wmulul','wmululal', + 'wmulsmr','wmulsmral', + 'wmulslr','wmulslral', + 'wmulumr','wmulumral', + 'wmululr','wmululral', + 'wmulwum','wmulwumal', + 'wmulwsm','wmulwsmal', + 'wmulwl','wmulwlal', + 'wmulwumr','wmulwumral', + 'wmulwsmr','wmulwsmral', + 'wor','woral', + 'wpackhss','wpackhssal', + 'wpackwss','wpackwssal', + 'wpackdss','wpackdssal', + 'wpackhus','wpackhusal', + 'wpackwus','wpackwusal', + 'wpackdus','wpackdusal', + 'wqmiabb','wqmiabbal', + 'wqmiabt','wqmiabtal', + 'wqmiatb','wqmiatbal', + 'wqmiatt','wqmiattal', + 'wqmiabbn','wqmiabbnal', + 'wqmiabtn','wqmiabtnal', + 'wqmiatbn','wqmiatbnal', + 'wqmiattn','wqmiattnal', + 'wqmulm','wqmulmal', + 'wqmulmr','wqmulmral', + 'wqmulwm','wqmulwmal', + 'wqmulwmr','wqmulwmral', + 'wrorh','wrorhal', + 'wrorw','wrorwal', + 'wrord','wrordal', + 'wrorhg','wrorhgal', + 'wrorwg','wrorwgal', + 'wrordg','wrordgal', + 'wsadb','wsadbal', + 'wsadh','wsadhal', + 'wsadbz','wsadbzal', + 'wsadhz','wsadhzal', + 'wshufh','wshufhal', + 'wsllh','wsllhal', + 'wsllw','wsllwal', + 'wslld','wslldal', + 'wsllhg','wsllhgal', + 'wsllwg','wsllwgal', + 'wslldg','wslldgal', + 'wsrah','wsrahal', + 'wsraw','wsrawal', + 'wsrad','wsradal', + 'wsrahg','wsrahgal', + 'wsrawg','wsrawgal', + 'wsradg','wsradgal', + 'wsrlh','wsrlhal', + 'wsrlw','wsrlwal', + 'wsrld','wsrldal', + 'wsrlhg','wsrlhgal', + 'wsrlwg','wsrlwgal', + 'wsrldg','wsrldgal', + 'wstrb','wstrbal', + 'wstrh','wstrhal', + 'wstrw','wstrwal', + 'wstrd','wstrdal', + 'wsubb','wsubbal', + 'wsubh','wsubhal', + 'wsubw','wsubwal', + 'wsubbss','wsubbssal', + 'wsubhss','wsubhssal', + 'wsubwss','wsubwssal', + 'wsubbus','wsubbusal', + 'wsubhus','wsubhusal', + 'wsubwus','wsubwusal', + 'wsubaddhx','wsubaddhxal', + 'wunpckehsb','wunpckehsbal', + 'wunpckehsh','wunpckehshal', + 'wunpckehsw','wunpckehswal', + 'wunpckehub','wunpckehubal', + 'wunpckehuh','wunpckehuhal', + 'wunpckehuw','wunpckehuwal', + 'wunpckihb','wunpckihbal', + 'wunpckihh','wunpckihhal', + 'wunpckihw','wunpckihwal', + 'wunpckelsb','wunpckelsbal', + 'wunpckelsh','wunpckelshal', + 'wunpckelsw','wunpckelswal', + 'wunpckelub','wunpckelubal', + 'wunpckeluh','wunpckeluhal', + 'wunpckeluw','wunpckeluwal', + 'wunpckilb','wunpckilbal', + 'wunpckilh','wunpckilhal', + 'wunpckilw','wunpckilwal', + 'wxor','wxoral', + 'wzero','wzeroal' + ), + /* Conditional WMMX/WMMX2 SIMD Instructions */ + 18 => array( + /* Conditional WMMX/WMMX2 SIMD Instructions */ + 'tandcbeq','tandcbne','tandcbcs','tandcbhs','tandcbcc','tandcblo','tandcbmi','tandcbpl','tandcbvs','tandcbvc','tandcbhi','tandcbls','tandcbge','tandcblt','tandcbgt','tandcble', + 'tandcheq','tandchne','tandchcs','tandchhs','tandchcc','tandchlo','tandchmi','tandchpl','tandchvs','tandchvc','tandchhi','tandchls','tandchge','tandchlt','tandchgt','tandchle', + 'tandcweq','tandcwne','tandcwcs','tandcwhs','tandcwcc','tandcwlo','tandcwmi','tandcwpl','tandcwvs','tandcwvc','tandcwhi','tandcwls','tandcwge','tandcwlt','tandcwgt','tandcwle', + 'tbcstbeq','tbcstbne','tbcstbcs','tbcstbhs','tbcstbcc','tbcstblo','tbcstbmi','tbcstbpl','tbcstbvs','tbcstbvc','tbcstbhi','tbcstbls','tbcstbge','tbcstblt','tbcstbgt','tbcstble', + 'tbcstheq','tbcsthne','tbcsthcs','tbcsthhs','tbcsthcc','tbcsthlo','tbcsthmi','tbcsthpl','tbcsthvs','tbcsthvc','tbcsthhi','tbcsthls','tbcsthge','tbcsthlt','tbcsthgt','tbcsthle', + 'tbcstweq','tbcstwne','tbcstwcs','tbcstwhs','tbcstwcc','tbcstwlo','tbcstwmi','tbcstwpl','tbcstwvs','tbcstwvc','tbcstwhi','tbcstwls','tbcstwge','tbcstwlt','tbcstwgt','tbcstwle', + 'textrcbeq','textrcbne','textrcbcs','textrcbhs','textrcbcc','textrcblo','textrcbmi','textrcbpl','textrcbvs','textrcbvc','textrcbhi','textrcbls','textrcbge','textrcblt','textrcbgt','textrcble', + 'textrcheq','textrchne','textrchcs','textrchhs','textrchcc','textrchlo','textrchmi','textrchpl','textrchvs','textrchvc','textrchhi','textrchls','textrchge','textrchlt','textrchgt','textrchle', + 'textrcweq','textrcwne','textrcwcs','textrcwhs','textrcwcc','textrcwlo','textrcwmi','textrcwpl','textrcwvs','textrcwvc','textrcwhi','textrcwls','textrcwge','textrcwlt','textrcwgt','textrcwle', + 'textrmsbeq','textrmsbne','textrmsbcs','textrmsbhs','textrmsbcc','textrmsblo','textrmsbmi','textrmsbpl','textrmsbvs','textrmsbvc','textrmsbhi','textrmsbls','textrmsbge','textrmsblt','textrmsbgt','textrmsble', + 'textrmsheq','textrmshne','textrmshcs','textrmshhs','textrmshcc','textrmshlo','textrmshmi','textrmshpl','textrmshvs','textrmshvc','textrmshhi','textrmshls','textrmshge','textrmshlt','textrmshgt','textrmshle', + 'textrmsweq','textrmswne','textrmswcs','textrmswhs','textrmswcc','textrmswlo','textrmswmi','textrmswpl','textrmswvs','textrmswvc','textrmswhi','textrmswls','textrmswge','textrmswlt','textrmswgt','textrmswle', + 'textrmubeq','textrmubne','textrmubcs','textrmubhs','textrmubcc','textrmublo','textrmubmi','textrmubpl','textrmubvs','textrmubvc','textrmubhi','textrmubls','textrmubge','textrmublt','textrmubgt','textrmuble', + 'textrmuheq','textrmuhne','textrmuhcs','textrmuhhs','textrmuhcc','textrmuhlo','textrmuhmi','textrmuhpl','textrmuhvs','textrmuhvc','textrmuhhi','textrmuhls','textrmuhge','textrmuhlt','textrmuhgt','textrmuhle', + 'textrmuweq','textrmuwne','textrmuwcs','textrmuwhs','textrmuwcc','textrmuwlo','textrmuwmi','textrmuwpl','textrmuwvs','textrmuwvc','textrmuwhi','textrmuwls','textrmuwge','textrmuwlt','textrmuwgt','textrmuwle', + 'tinsrbeq','tinsrbne','tinsrbcs','tinsrbhs','tinsrbcc','tinsrblo','tinsrbmi','tinsrbpl','tinsrbvs','tinsrbvc','tinsrbhi','tinsrbls','tinsrbge','tinsrblt','tinsrbgt','tinsrble', + 'tinsrheq','tinsrhne','tinsrhcs','tinsrhhs','tinsrhcc','tinsrhlo','tinsrhmi','tinsrhpl','tinsrhvs','tinsrhvc','tinsrhhi','tinsrhls','tinsrhge','tinsrhlt','tinsrhgt','tinsrhle', + 'tinsrweq','tinsrwne','tinsrwcs','tinsrwhs','tinsrwcc','tinsrwlo','tinsrwmi','tinsrwpl','tinsrwvs','tinsrwvc','tinsrwhi','tinsrwls','tinsrwge','tinsrwlt','tinsrwgt','tinsrwle', + 'tmcreq','tmcrne','tmcrcs','tmcrhs','tmcrcc','tmcrlo','tmcrmi','tmcrpl','tmcrvs','tmcrvc','tmcrhi','tmcrls','tmcrge','tmcrlt','tmcrgt','tmcrle', + 'tmcrreq','tmcrrne','tmcrrcs','tmcrrhs','tmcrrcc','tmcrrlo','tmcrrmi','tmcrrpl','tmcrrvs','tmcrrvc','tmcrrhi','tmcrrls','tmcrrge','tmcrrlt','tmcrrgt','tmcrrle', + 'tmiaeq','tmiane','tmiacs','tmiahs','tmiacc','tmialo','tmiami','tmiapl','tmiavs','tmiavc','tmiahi','tmials','tmiage','tmialt','tmiagt','tmiale', + 'tmiapheq','tmiaphne','tmiaphcs','tmiaphhs','tmiaphcc','tmiaphlo','tmiaphmi','tmiaphpl','tmiaphvs','tmiaphvc','tmiaphhi','tmiaphls','tmiaphge','tmiaphlt','tmiaphgt','tmiaphle', + 'tmiabbeq','tmiabbne','tmiabbcs','tmiabbhs','tmiabbcc','tmiabblo','tmiabbmi','tmiabbpl','tmiabbvs','tmiabbvc','tmiabbhi','tmiabbls','tmiabbge','tmiabblt','tmiabbgt','tmiabble', + 'tmiabteq','tmiabtne','tmiabtcs','tmiabths','tmiabtcc','tmiabtlo','tmiabtmi','tmiabtpl','tmiabtvs','tmiabtvc','tmiabthi','tmiabtls','tmiabtge','tmiabtlt','tmiabtgt','tmiabtle', + 'tmiatbeq','tmiatbne','tmiatbcs','tmiatbhs','tmiatbcc','tmiatblo','tmiatbmi','tmiatbpl','tmiatbvs','tmiatbvc','tmiatbhi','tmiatbls','tmiatbge','tmiatblt','tmiatbgt','tmiatble', + 'tmiatteq','tmiattne','tmiattcs','tmiatths','tmiattcc','tmiattlo','tmiattmi','tmiattpl','tmiattvs','tmiattvc','tmiatthi','tmiattls','tmiattge','tmiattlt','tmiattgt','tmiattle', + 'tmovmskbeq','tmovmskbne','tmovmskbcs','tmovmskbhs','tmovmskbcc','tmovmskblo','tmovmskbmi','tmovmskbpl','tmovmskbvs','tmovmskbvc','tmovmskbhi','tmovmskbls','tmovmskbge','tmovmskblt','tmovmskbgt','tmovmskble', + 'tmovmskheq','tmovmskhne','tmovmskhcs','tmovmskhhs','tmovmskhcc','tmovmskhlo','tmovmskhmi','tmovmskhpl','tmovmskhvs','tmovmskhvc','tmovmskhhi','tmovmskhls','tmovmskhge','tmovmskhlt','tmovmskhgt','tmovmskhle', + 'tmovmskweq','tmovmskwne','tmovmskwcs','tmovmskwhs','tmovmskwcc','tmovmskwlo','tmovmskwmi','tmovmskwpl','tmovmskwvs','tmovmskwvc','tmovmskwhi','tmovmskwls','tmovmskwge','tmovmskwlt','tmovmskwgt','tmovmskwle', + 'tmrceq','tmrcne','tmrccs','tmrchs','tmrccc','tmrclo','tmrcmi','tmrcpl','tmrcvs','tmrcvc','tmrchi','tmrcls','tmrcge','tmrclt','tmrcgt','tmrcle', + 'tmrrceq','tmrrcne','tmrrccs','tmrrchs','tmrrccc','tmrrclo','tmrrcmi','tmrrcpl','tmrrcvs','tmrrcvc','tmrrchi','tmrrcls','tmrrcge','tmrrclt','tmrrcgt','tmrrcle', + 'torcbeq','torcbne','torcbcs','torcbhs','torcbcc','torcblo','torcbmi','torcbpl','torcbvs','torcbvc','torcbhi','torcbls','torcbge','torcblt','torcbgt','torcble', + 'torcheq','torchne','torchcs','torchhs','torchcc','torchlo','torchmi','torchpl','torchvs','torchvc','torchhi','torchls','torchge','torchlt','torchgt','torchle', + 'torcweq','torcwne','torcwcs','torcwhs','torcwcc','torcwlo','torcwmi','torcwpl','torcwvs','torcwvc','torcwhi','torcwls','torcwge','torcwlt','torcwgt','torcwle', + 'torvscbeq','torvscbne','torvscbcs','torvscbhs','torvscbcc','torvscblo','torvscbmi','torvscbpl','torvscbvs','torvscbvc','torvscbhi','torvscbls','torvscbge','torvscblt','torvscbgt','torvscble', + 'torvscheq','torvschne','torvschcs','torvschhs','torvschcc','torvschlo','torvschmi','torvschpl','torvschvs','torvschvc','torvschhi','torvschls','torvschge','torvschlt','torvschgt','torvschle', + 'torvscweq','torvscwne','torvscwcs','torvscwhs','torvscwcc','torvscwlo','torvscwmi','torvscwpl','torvscwvs','torvscwvc','torvscwhi','torvscwls','torvscwge','torvscwlt','torvscwgt','torvscwle', + 'wabsbeq','wabsbne','wabsbcs','wabsbhs','wabsbcc','wabsblo','wabsbmi','wabsbpl','wabsbvs','wabsbvc','wabsbhi','wabsbls','wabsbge','wabsblt','wabsbgt','wabsble', + 'wabsheq','wabshne','wabshcs','wabshhs','wabshcc','wabshlo','wabshmi','wabshpl','wabshvs','wabshvc','wabshhi','wabshls','wabshge','wabshlt','wabshgt','wabshle', + 'wabsweq','wabswne','wabswcs','wabswhs','wabswcc','wabswlo','wabswmi','wabswpl','wabswvs','wabswvc','wabswhi','wabswls','wabswge','wabswlt','wabswgt','wabswle', + 'wabsdiffbeq','wabsdiffbne','wabsdiffbcs','wabsdiffbhs','wabsdiffbcc','wabsdiffblo','wabsdiffbmi','wabsdiffbpl','wabsdiffbvs','wabsdiffbvc','wabsdiffbhi','wabsdiffbls','wabsdiffbge','wabsdiffblt','wabsdiffbgt','wabsdiffble', + 'wabsdiffheq','wabsdiffhne','wabsdiffhcs','wabsdiffhhs','wabsdiffhcc','wabsdiffhlo','wabsdiffhmi','wabsdiffhpl','wabsdiffhvs','wabsdiffhvc','wabsdiffhhi','wabsdiffhls','wabsdiffhge','wabsdiffhlt','wabsdiffhgt','wabsdiffhle', + 'wabsdiffweq','wabsdiffwne','wabsdiffwcs','wabsdiffwhs','wabsdiffwcc','wabsdiffwlo','wabsdiffwmi','wabsdiffwpl','wabsdiffwvs','wabsdiffwvc','wabsdiffwhi','wabsdiffwls','wabsdiffwge','wabsdiffwlt','wabsdiffwgt','wabsdiffwle', + 'waccbeq','waccbne','waccbcs','waccbhs','waccbcc','waccblo','waccbmi','waccbpl','waccbvs','waccbvc','waccbhi','waccbls','waccbge','waccblt','waccbgt','waccble', + 'waccheq','wacchne','wacchcs','wacchhs','wacchcc','wacchlo','wacchmi','wacchpl','wacchvs','wacchvc','wacchhi','wacchls','wacchge','wacchlt','wacchgt','wacchle', + 'waccweq','waccwne','waccwcs','waccwhs','waccwcc','waccwlo','waccwmi','waccwpl','waccwvs','waccwvc','waccwhi','waccwls','waccwge','waccwlt','waccwgt','waccwle', + 'waddbeq','waddbne','waddbcs','waddbhs','waddbcc','waddblo','waddbmi','waddbpl','waddbvs','waddbvc','waddbhi','waddbls','waddbge','waddblt','waddbgt','waddble', + 'waddheq','waddhne','waddhcs','waddhhs','waddhcc','waddhlo','waddhmi','waddhpl','waddhvs','waddhvc','waddhhi','waddhls','waddhge','waddhlt','waddhgt','waddhle', + 'waddweq','waddwne','waddwcs','waddwhs','waddwcc','waddwlo','waddwmi','waddwpl','waddwvs','waddwvc','waddwhi','waddwls','waddwge','waddwlt','waddwgt','waddwle', + 'waddbceq','waddbcne','waddbccs','waddbchs','waddbccc','waddbclo','waddbcmi','waddbcpl','waddbcvs','waddbcvc','waddbchi','waddbcls','waddbcge','waddbclt','waddbcgt','waddbcle', + 'waddhceq','waddhcne','waddhccs','waddhchs','waddhccc','waddhclo','waddhcmi','waddhcpl','waddhcvs','waddhcvc','waddhchi','waddhcls','waddhcge','waddhclt','waddhcgt','waddhcle', + 'waddwceq','waddwcne','waddwccs','waddwchs','waddwccc','waddwclo','waddwcmi','waddwcpl','waddwcvs','waddwcvc','waddwchi','waddwcls','waddwcge','waddwclt','waddwcgt','waddwcle', + 'waddbsseq','waddbssne','waddbsscs','waddbsshs','waddbsscc','waddbsslo','waddbssmi','waddbsspl','waddbssvs','waddbssvc','waddbsshi','waddbssls','waddbssge','waddbsslt','waddbssgt','waddbssle', + 'waddhsseq','waddhssne','waddhsscs','waddhsshs','waddhsscc','waddhsslo','waddhssmi','waddhsspl','waddhssvs','waddhssvc','waddhsshi','waddhssls','waddhssge','waddhsslt','waddhssgt','waddhssle', + 'waddwsseq','waddwssne','waddwsscs','waddwsshs','waddwsscc','waddwsslo','waddwssmi','waddwsspl','waddwssvs','waddwssvc','waddwsshi','waddwssls','waddwssge','waddwsslt','waddwssgt','waddwssle', + 'waddbuseq','waddbusne','waddbuscs','waddbushs','waddbuscc','waddbuslo','waddbusmi','waddbuspl','waddbusvs','waddbusvc','waddbushi','waddbusls','waddbusge','waddbuslt','waddbusgt','waddbusle', + 'waddhuseq','waddhusne','waddhuscs','waddhushs','waddhuscc','waddhuslo','waddhusmi','waddhuspl','waddhusvs','waddhusvc','waddhushi','waddhusls','waddhusge','waddhuslt','waddhusgt','waddhusle', + 'waddwuseq','waddwusne','waddwuscs','waddwushs','waddwuscc','waddwuslo','waddwusmi','waddwuspl','waddwusvs','waddwusvc','waddwushi','waddwusls','waddwusge','waddwuslt','waddwusgt','waddwusle', + 'waddsubhxeq','waddsubhxne','waddsubhxcs','waddsubhxhs','waddsubhxcc','waddsubhxlo','waddsubhxmi','waddsubhxpl','waddsubhxvs','waddsubhxvc','waddsubhxhi','waddsubhxls','waddsubhxge','waddsubhxlt','waddsubhxgt','waddsubhxle', + 'walignieq','walignine','walignics','walignihs','walignicc','walignilo','walignimi','walignipl','walignivs','walignivc','walignihi','walignils','walignige','walignilt','walignigt','walignile', + 'walignr0eq','walignr0ne','walignr0cs','walignr0hs','walignr0cc','walignr0lo','walignr0mi','walignr0pl','walignr0vs','walignr0vc','walignr0hi','walignr0ls','walignr0ge','walignr0lt','walignr0gt','walignr0le', + 'walignr1eq','walignr1ne','walignr1cs','walignr1hs','walignr1cc','walignr1lo','walignr1mi','walignr1pl','walignr1vs','walignr1vc','walignr1hi','walignr1ls','walignr1ge','walignr1lt','walignr1gt','walignr1le', + 'walignr2eq','walignr2ne','walignr2cs','walignr2hs','walignr2cc','walignr2lo','walignr2mi','walignr2pl','walignr2vs','walignr2vc','walignr2hi','walignr2ls','walignr2ge','walignr2lt','walignr2gt','walignr2le', + 'walignr3eq','walignr3ne','walignr3cs','walignr3hs','walignr3cc','walignr3lo','walignr3mi','walignr3pl','walignr3vs','walignr3vc','walignr3hi','walignr3ls','walignr3ge','walignr3lt','walignr3gt','walignr3le', + 'wandeq','wandne','wandcs','wandhs','wandcc','wandlo','wandmi','wandpl','wandvs','wandvc','wandhi','wandls','wandge','wandlt','wandgt','wandle', + 'wandneq','wandnne','wandncs','wandnhs','wandncc','wandnlo','wandnmi','wandnpl','wandnvs','wandnvc','wandnhi','wandnls','wandnge','wandnlt','wandngt','wandnle', + 'wavg2beq','wavg2bne','wavg2bcs','wavg2bhs','wavg2bcc','wavg2blo','wavg2bmi','wavg2bpl','wavg2bvs','wavg2bvc','wavg2bhi','wavg2bls','wavg2bge','wavg2blt','wavg2bgt','wavg2ble', + 'wavg2heq','wavg2hne','wavg2hcs','wavg2hhs','wavg2hcc','wavg2hlo','wavg2hmi','wavg2hpl','wavg2hvs','wavg2hvc','wavg2hhi','wavg2hls','wavg2hge','wavg2hlt','wavg2hgt','wavg2hle', + 'wavg2breq','wavg2brne','wavg2brcs','wavg2brhs','wavg2brcc','wavg2brlo','wavg2brmi','wavg2brpl','wavg2brvs','wavg2brvc','wavg2brhi','wavg2brls','wavg2brge','wavg2brlt','wavg2brgt','wavg2brle', + 'wavg2hreq','wavg2hrne','wavg2hrcs','wavg2hrhs','wavg2hrcc','wavg2hrlo','wavg2hrmi','wavg2hrpl','wavg2hrvs','wavg2hrvc','wavg2hrhi','wavg2hrls','wavg2hrge','wavg2hrlt','wavg2hrgt','wavg2hrle', + 'wavg4eq','wavg4ne','wavg4cs','wavg4hs','wavg4cc','wavg4lo','wavg4mi','wavg4pl','wavg4vs','wavg4vc','wavg4hi','wavg4ls','wavg4ge','wavg4lt','wavg4gt','wavg4le', + 'wavg4req','wavg4rne','wavg4rcs','wavg4rhs','wavg4rcc','wavg4rlo','wavg4rmi','wavg4rpl','wavg4rvs','wavg4rvc','wavg4rhi','wavg4rls','wavg4rge','wavg4rlt','wavg4rgt','wavg4rle', + 'wcmpeqbeq','wcmpeqbne','wcmpeqbcs','wcmpeqbhs','wcmpeqbcc','wcmpeqblo','wcmpeqbmi','wcmpeqbpl','wcmpeqbvs','wcmpeqbvc','wcmpeqbhi','wcmpeqbls','wcmpeqbge','wcmpeqblt','wcmpeqbgt','wcmpeqble', + 'wcmpeqheq','wcmpeqhne','wcmpeqhcs','wcmpeqhhs','wcmpeqhcc','wcmpeqhlo','wcmpeqhmi','wcmpeqhpl','wcmpeqhvs','wcmpeqhvc','wcmpeqhhi','wcmpeqhls','wcmpeqhge','wcmpeqhlt','wcmpeqhgt','wcmpeqhle', + 'wcmpeqweq','wcmpeqwne','wcmpeqwcs','wcmpeqwhs','wcmpeqwcc','wcmpeqwlo','wcmpeqwmi','wcmpeqwpl','wcmpeqwvs','wcmpeqwvc','wcmpeqwhi','wcmpeqwls','wcmpeqwge','wcmpeqwlt','wcmpeqwgt','wcmpeqwle', + 'wcmpgtsbeq','wcmpgtsbne','wcmpgtsbcs','wcmpgtsbhs','wcmpgtsbcc','wcmpgtsblo','wcmpgtsbmi','wcmpgtsbpl','wcmpgtsbvs','wcmpgtsbvc','wcmpgtsbhi','wcmpgtsbls','wcmpgtsbge','wcmpgtsblt','wcmpgtsbgt','wcmpgtsble', + 'wcmpgtsheq','wcmpgtshne','wcmpgtshcs','wcmpgtshhs','wcmpgtshcc','wcmpgtshlo','wcmpgtshmi','wcmpgtshpl','wcmpgtshvs','wcmpgtshvc','wcmpgtshhi','wcmpgtshls','wcmpgtshge','wcmpgtshlt','wcmpgtshgt','wcmpgtshle', + 'wcmpgtsweq','wcmpgtswne','wcmpgtswcs','wcmpgtswhs','wcmpgtswcc','wcmpgtswlo','wcmpgtswmi','wcmpgtswpl','wcmpgtswvs','wcmpgtswvc','wcmpgtswhi','wcmpgtswls','wcmpgtswge','wcmpgtswlt','wcmpgtswgt','wcmpgtswle', + 'wcmpgtubeq','wcmpgtubne','wcmpgtubcs','wcmpgtubhs','wcmpgtubcc','wcmpgtublo','wcmpgtubmi','wcmpgtubpl','wcmpgtubvs','wcmpgtubvc','wcmpgtubhi','wcmpgtubls','wcmpgtubge','wcmpgtublt','wcmpgtubgt','wcmpgtuble', + 'wcmpgtuheq','wcmpgtuhne','wcmpgtuhcs','wcmpgtuhhs','wcmpgtuhcc','wcmpgtuhlo','wcmpgtuhmi','wcmpgtuhpl','wcmpgtuhvs','wcmpgtuhvc','wcmpgtuhhi','wcmpgtuhls','wcmpgtuhge','wcmpgtuhlt','wcmpgtuhgt','wcmpgtuhle', + 'wcmpgtuweq','wcmpgtuwne','wcmpgtuwcs','wcmpgtuwhs','wcmpgtuwcc','wcmpgtuwlo','wcmpgtuwmi','wcmpgtuwpl','wcmpgtuwvs','wcmpgtuwvc','wcmpgtuwhi','wcmpgtuwls','wcmpgtuwge','wcmpgtuwlt','wcmpgtuwgt','wcmpgtuwle', + 'wldrbeq','wldrbne','wldrbcs','wldrbhs','wldrbcc','wldrblo','wldrbmi','wldrbpl','wldrbvs','wldrbvc','wldrbhi','wldrbls','wldrbge','wldrblt','wldrbgt','wldrble', + 'wldrheq','wldrhne','wldrhcs','wldrhhs','wldrhcc','wldrhlo','wldrhmi','wldrhpl','wldrhvs','wldrhvc','wldrhhi','wldrhls','wldrhge','wldrhlt','wldrhgt','wldrhle', + 'wldrweq','wldrwne','wldrwcs','wldrwhs','wldrwcc','wldrwlo','wldrwmi','wldrwpl','wldrwvs','wldrwvc','wldrwhi','wldrwls','wldrwge','wldrwlt','wldrwgt','wldrwle', + 'wldrdeq','wldrdne','wldrdcs','wldrdhs','wldrdcc','wldrdlo','wldrdmi','wldrdpl','wldrdvs','wldrdvc','wldrdhi','wldrdls','wldrdge','wldrdlt','wldrdgt','wldrdle', + 'wmacseq','wmacsne','wmacscs','wmacshs','wmacscc','wmacslo','wmacsmi','wmacspl','wmacsvs','wmacsvc','wmacshi','wmacsls','wmacsge','wmacslt','wmacsgt','wmacsle', + 'wmacueq','wmacune','wmacucs','wmacuhs','wmacucc','wmaculo','wmacumi','wmacupl','wmacuvs','wmacuvc','wmacuhi','wmaculs','wmacuge','wmacult','wmacugt','wmacule', + 'wmacszeq','wmacszne','wmacszcs','wmacszhs','wmacszcc','wmacszlo','wmacszmi','wmacszpl','wmacszvs','wmacszvc','wmacszhi','wmacszls','wmacszge','wmacszlt','wmacszgt','wmacszle', + 'wmacuzeq','wmacuzne','wmacuzcs','wmacuzhs','wmacuzcc','wmacuzlo','wmacuzmi','wmacuzpl','wmacuzvs','wmacuzvc','wmacuzhi','wmacuzls','wmacuzge','wmacuzlt','wmacuzgt','wmacuzle', + 'wmaddseq','wmaddsne','wmaddscs','wmaddshs','wmaddscc','wmaddslo','wmaddsmi','wmaddspl','wmaddsvs','wmaddsvc','wmaddshi','wmaddsls','wmaddsge','wmaddslt','wmaddsgt','wmaddsle', + 'wmaddueq','wmaddune','wmadducs','wmadduhs','wmadducc','wmaddulo','wmaddumi','wmaddupl','wmadduvs','wmadduvc','wmadduhi','wmadduls','wmadduge','wmaddult','wmaddugt','wmaddule', + 'wmaddsxeq','wmaddsxne','wmaddsxcs','wmaddsxhs','wmaddsxcc','wmaddsxlo','wmaddsxmi','wmaddsxpl','wmaddsxvs','wmaddsxvc','wmaddsxhi','wmaddsxls','wmaddsxge','wmaddsxlt','wmaddsxgt','wmaddsxle', + 'wmadduxeq','wmadduxne','wmadduxcs','wmadduxhs','wmadduxcc','wmadduxlo','wmadduxmi','wmadduxpl','wmadduxvs','wmadduxvc','wmadduxhi','wmadduxls','wmadduxge','wmadduxlt','wmadduxgt','wmadduxle', + 'wmaddsneq','wmaddsnne','wmaddsncs','wmaddsnhs','wmaddsncc','wmaddsnlo','wmaddsnmi','wmaddsnpl','wmaddsnvs','wmaddsnvc','wmaddsnhi','wmaddsnls','wmaddsnge','wmaddsnlt','wmaddsngt','wmaddsnle', + 'wmadduneq','wmaddunne','wmadduncs','wmaddunhs','wmadduncc','wmaddunlo','wmaddunmi','wmaddunpl','wmaddunvs','wmaddunvc','wmaddunhi','wmaddunls','wmaddunge','wmaddunlt','wmaddungt','wmaddunle', + 'wmaxsbeq','wmaxsbne','wmaxsbcs','wmaxsbhs','wmaxsbcc','wmaxsblo','wmaxsbmi','wmaxsbpl','wmaxsbvs','wmaxsbvc','wmaxsbhi','wmaxsbls','wmaxsbge','wmaxsblt','wmaxsbgt','wmaxsble', + 'wmaxsheq','wmaxshne','wmaxshcs','wmaxshhs','wmaxshcc','wmaxshlo','wmaxshmi','wmaxshpl','wmaxshvs','wmaxshvc','wmaxshhi','wmaxshls','wmaxshge','wmaxshlt','wmaxshgt','wmaxshle', + 'wmaxsweq','wmaxswne','wmaxswcs','wmaxswhs','wmaxswcc','wmaxswlo','wmaxswmi','wmaxswpl','wmaxswvs','wmaxswvc','wmaxswhi','wmaxswls','wmaxswge','wmaxswlt','wmaxswgt','wmaxswle', + 'wmaxubeq','wmaxubne','wmaxubcs','wmaxubhs','wmaxubcc','wmaxublo','wmaxubmi','wmaxubpl','wmaxubvs','wmaxubvc','wmaxubhi','wmaxubls','wmaxubge','wmaxublt','wmaxubgt','wmaxuble', + 'wmaxuheq','wmaxuhne','wmaxuhcs','wmaxuhhs','wmaxuhcc','wmaxuhlo','wmaxuhmi','wmaxuhpl','wmaxuhvs','wmaxuhvc','wmaxuhhi','wmaxuhls','wmaxuhge','wmaxuhlt','wmaxuhgt','wmaxuhle', + 'wmaxuweq','wmaxuwne','wmaxuwcs','wmaxuwhs','wmaxuwcc','wmaxuwlo','wmaxuwmi','wmaxuwpl','wmaxuwvs','wmaxuwvc','wmaxuwhi','wmaxuwls','wmaxuwge','wmaxuwlt','wmaxuwgt','wmaxuwle', + 'wmergeeq','wmergene','wmergecs','wmergehs','wmergecc','wmergelo','wmergemi','wmergepl','wmergevs','wmergevc','wmergehi','wmergels','wmergege','wmergelt','wmergegt','wmergele', + 'wmiabbeq','wmiabbne','wmiabbcs','wmiabbhs','wmiabbcc','wmiabblo','wmiabbmi','wmiabbpl','wmiabbvs','wmiabbvc','wmiabbhi','wmiabbls','wmiabbge','wmiabblt','wmiabbgt','wmiabble', + 'wmiabteq','wmiabtne','wmiabtcs','wmiabths','wmiabtcc','wmiabtlo','wmiabtmi','wmiabtpl','wmiabtvs','wmiabtvc','wmiabthi','wmiabtls','wmiabtge','wmiabtlt','wmiabtgt','wmiabtle', + 'wmiatbeq','wmiatbne','wmiatbcs','wmiatbhs','wmiatbcc','wmiatblo','wmiatbmi','wmiatbpl','wmiatbvs','wmiatbvc','wmiatbhi','wmiatbls','wmiatbge','wmiatblt','wmiatbgt','wmiatble', + 'wmiatteq','wmiattne','wmiattcs','wmiatths','wmiattcc','wmiattlo','wmiattmi','wmiattpl','wmiattvs','wmiattvc','wmiatthi','wmiattls','wmiattge','wmiattlt','wmiattgt','wmiattle', + 'wmiabbneq','wmiabbnne','wmiabbncs','wmiabbnhs','wmiabbncc','wmiabbnlo','wmiabbnmi','wmiabbnpl','wmiabbnvs','wmiabbnvc','wmiabbnhi','wmiabbnls','wmiabbnge','wmiabbnlt','wmiabbngt','wmiabbnle', + 'wmiabtneq','wmiabtnne','wmiabtncs','wmiabtnhs','wmiabtncc','wmiabtnlo','wmiabtnmi','wmiabtnpl','wmiabtnvs','wmiabtnvc','wmiabtnhi','wmiabtnls','wmiabtnge','wmiabtnlt','wmiabtngt','wmiabtnle', + 'wmiatbneq','wmiatbnne','wmiatbncs','wmiatbnhs','wmiatbncc','wmiatbnlo','wmiatbnmi','wmiatbnpl','wmiatbnvs','wmiatbnvc','wmiatbnhi','wmiatbnls','wmiatbnge','wmiatbnlt','wmiatbngt','wmiatbnle', + 'wmiattneq','wmiattnne','wmiattncs','wmiattnhs','wmiattncc','wmiattnlo','wmiattnmi','wmiattnpl','wmiattnvs','wmiattnvc','wmiattnhi','wmiattnls','wmiattnge','wmiattnlt','wmiattngt','wmiattnle', + 'wmiawbbeq','wmiawbbne','wmiawbbcs','wmiawbbhs','wmiawbbcc','wmiawbblo','wmiawbbmi','wmiawbbpl','wmiawbbvs','wmiawbbvc','wmiawbbhi','wmiawbbls','wmiawbbge','wmiawbblt','wmiawbbgt','wmiawbble', + 'wmiawbteq','wmiawbtne','wmiawbtcs','wmiawbths','wmiawbtcc','wmiawbtlo','wmiawbtmi','wmiawbtpl','wmiawbtvs','wmiawbtvc','wmiawbthi','wmiawbtls','wmiawbtge','wmiawbtlt','wmiawbtgt','wmiawbtle', + 'wmiawtbeq','wmiawtbne','wmiawtbcs','wmiawtbhs','wmiawtbcc','wmiawtblo','wmiawtbmi','wmiawtbpl','wmiawtbvs','wmiawtbvc','wmiawtbhi','wmiawtbls','wmiawtbge','wmiawtblt','wmiawtbgt','wmiawtble', + 'wmiawtteq','wmiawttne','wmiawttcs','wmiawtths','wmiawttcc','wmiawttlo','wmiawttmi','wmiawttpl','wmiawttvs','wmiawttvc','wmiawtthi','wmiawttls','wmiawttge','wmiawttlt','wmiawttgt','wmiawttle', + 'wmiawbbneq','wmiawbbnne','wmiawbbncs','wmiawbbnhs','wmiawbbncc','wmiawbbnlo','wmiawbbnmi','wmiawbbnpl','wmiawbbnvs','wmiawbbnvc','wmiawbbnhi','wmiawbbnls','wmiawbbnge','wmiawbbnlt','wmiawbbngt','wmiawbbnle', + 'wmiawbtneq','wmiawbtnne','wmiawbtncs','wmiawbtnhs','wmiawbtncc','wmiawbtnlo','wmiawbtnmi','wmiawbtnpl','wmiawbtnvs','wmiawbtnvc','wmiawbtnhi','wmiawbtnls','wmiawbtnge','wmiawbtnlt','wmiawbtngt','wmiawbtnle', + 'wmiawtbneq','wmiawtbnne','wmiawtbncs','wmiawtbnhs','wmiawtbncc','wmiawtbnlo','wmiawtbnmi','wmiawtbnpl','wmiawtbnvs','wmiawtbnvc','wmiawtbnhi','wmiawtbnls','wmiawtbnge','wmiawtbnlt','wmiawtbngt','wmiawtbnle', + 'wmiawttneq','wmiawttnne','wmiawttncs','wmiawttnhs','wmiawttncc','wmiawttnlo','wmiawttnmi','wmiawttnpl','wmiawttnvs','wmiawttnvc','wmiawttnhi','wmiawttnls','wmiawttnge','wmiawttnlt','wmiawttngt','wmiawttnle', + 'wminsbeq','wminsbne','wminsbcs','wminsbhs','wminsbcc','wminsblo','wminsbmi','wminsbpl','wminsbvs','wminsbvc','wminsbhi','wminsbls','wminsbge','wminsblt','wminsbgt','wminsble', + 'wminsheq','wminshne','wminshcs','wminshhs','wminshcc','wminshlo','wminshmi','wminshpl','wminshvs','wminshvc','wminshhi','wminshls','wminshge','wminshlt','wminshgt','wminshle', + 'wminsweq','wminswne','wminswcs','wminswhs','wminswcc','wminswlo','wminswmi','wminswpl','wminswvs','wminswvc','wminswhi','wminswls','wminswge','wminswlt','wminswgt','wminswle', + 'wminubeq','wminubne','wminubcs','wminubhs','wminubcc','wminublo','wminubmi','wminubpl','wminubvs','wminubvc','wminubhi','wminubls','wminubge','wminublt','wminubgt','wminuble', + 'wminuheq','wminuhne','wminuhcs','wminuhhs','wminuhcc','wminuhlo','wminuhmi','wminuhpl','wminuhvs','wminuhvc','wminuhhi','wminuhls','wminuhge','wminuhlt','wminuhgt','wminuhle', + 'wminuweq','wminuwne','wminuwcs','wminuwhs','wminuwcc','wminuwlo','wminuwmi','wminuwpl','wminuwvs','wminuwvc','wminuwhi','wminuwls','wminuwge','wminuwlt','wminuwgt','wminuwle', + 'wmoveq','wmovne','wmovcs','wmovhs','wmovcc','wmovlo','wmovmi','wmovpl','wmovvs','wmovvc','wmovhi','wmovls','wmovge','wmovlt','wmovgt','wmovle', + 'wmulsmeq','wmulsmne','wmulsmcs','wmulsmhs','wmulsmcc','wmulsmlo','wmulsmmi','wmulsmpl','wmulsmvs','wmulsmvc','wmulsmhi','wmulsmls','wmulsmge','wmulsmlt','wmulsmgt','wmulsmle', + 'wmulsleq','wmulslne','wmulslcs','wmulslhs','wmulslcc','wmulsllo','wmulslmi','wmulslpl','wmulslvs','wmulslvc','wmulslhi','wmulslls','wmulslge','wmulsllt','wmulslgt','wmulslle', + 'wmulumeq','wmulumne','wmulumcs','wmulumhs','wmulumcc','wmulumlo','wmulummi','wmulumpl','wmulumvs','wmulumvc','wmulumhi','wmulumls','wmulumge','wmulumlt','wmulumgt','wmulumle', + 'wmululeq','wmululne','wmululcs','wmululhs','wmululcc','wmulullo','wmululmi','wmululpl','wmululvs','wmululvc','wmululhi','wmululls','wmululge','wmulullt','wmululgt','wmululle', + 'wmulsmreq','wmulsmrne','wmulsmrcs','wmulsmrhs','wmulsmrcc','wmulsmrlo','wmulsmrmi','wmulsmrpl','wmulsmrvs','wmulsmrvc','wmulsmrhi','wmulsmrls','wmulsmrge','wmulsmrlt','wmulsmrgt','wmulsmrle', + 'wmulslreq','wmulslrne','wmulslrcs','wmulslrhs','wmulslrcc','wmulslrlo','wmulslrmi','wmulslrpl','wmulslrvs','wmulslrvc','wmulslrhi','wmulslrls','wmulslrge','wmulslrlt','wmulslrgt','wmulslrle', + 'wmulumreq','wmulumrne','wmulumrcs','wmulumrhs','wmulumrcc','wmulumrlo','wmulumrmi','wmulumrpl','wmulumrvs','wmulumrvc','wmulumrhi','wmulumrls','wmulumrge','wmulumrlt','wmulumrgt','wmulumrle', + 'wmululreq','wmululrne','wmululrcs','wmululrhs','wmululrcc','wmululrlo','wmululrmi','wmululrpl','wmululrvs','wmululrvc','wmululrhi','wmululrls','wmululrge','wmululrlt','wmululrgt','wmululrle', + 'wmulwumeq','wmulwumne','wmulwumcs','wmulwumhs','wmulwumcc','wmulwumlo','wmulwummi','wmulwumpl','wmulwumvs','wmulwumvc','wmulwumhi','wmulwumls','wmulwumge','wmulwumlt','wmulwumgt','wmulwumle', + 'wmulwsmeq','wmulwsmne','wmulwsmcs','wmulwsmhs','wmulwsmcc','wmulwsmlo','wmulwsmmi','wmulwsmpl','wmulwsmvs','wmulwsmvc','wmulwsmhi','wmulwsmls','wmulwsmge','wmulwsmlt','wmulwsmgt','wmulwsmle', + 'wmulwleq','wmulwlne','wmulwlcs','wmulwlhs','wmulwlcc','wmulwllo','wmulwlmi','wmulwlpl','wmulwlvs','wmulwlvc','wmulwlhi','wmulwlls','wmulwlge','wmulwllt','wmulwlgt','wmulwlle', + 'wmulwumreq','wmulwumrne','wmulwumrcs','wmulwumrhs','wmulwumrcc','wmulwumrlo','wmulwumrmi','wmulwumrpl','wmulwumrvs','wmulwumrvc','wmulwumrhi','wmulwumrls','wmulwumrge','wmulwumrlt','wmulwumrgt','wmulwumrle', + 'wmulwsmreq','wmulwsmrne','wmulwsmrcs','wmulwsmrhs','wmulwsmrcc','wmulwsmrlo','wmulwsmrmi','wmulwsmrpl','wmulwsmrvs','wmulwsmrvc','wmulwsmrhi','wmulwsmrls','wmulwsmrge','wmulwsmrlt','wmulwsmrgt','wmulwsmrle', + 'woreq','worne','worcs','worhs','worcc','worlo','wormi','worpl','worvs','worvc','worhi','worls','worge','worlt','worgt','worle', + 'wpackhsseq','wpackhssne','wpackhsscs','wpackhsshs','wpackhsscc','wpackhsslo','wpackhssmi','wpackhsspl','wpackhssvs','wpackhssvc','wpackhsshi','wpackhssls','wpackhssge','wpackhsslt','wpackhssgt','wpackhssle', + 'wpackwsseq','wpackwssne','wpackwsscs','wpackwsshs','wpackwsscc','wpackwsslo','wpackwssmi','wpackwsspl','wpackwssvs','wpackwssvc','wpackwsshi','wpackwssls','wpackwssge','wpackwsslt','wpackwssgt','wpackwssle', + 'wpackdsseq','wpackdssne','wpackdsscs','wpackdsshs','wpackdsscc','wpackdsslo','wpackdssmi','wpackdsspl','wpackdssvs','wpackdssvc','wpackdsshi','wpackdssls','wpackdssge','wpackdsslt','wpackdssgt','wpackdssle', + 'wpackhuseq','wpackhusne','wpackhuscs','wpackhushs','wpackhuscc','wpackhuslo','wpackhusmi','wpackhuspl','wpackhusvs','wpackhusvc','wpackhushi','wpackhusls','wpackhusge','wpackhuslt','wpackhusgt','wpackhusle', + 'wpackwuseq','wpackwusne','wpackwuscs','wpackwushs','wpackwuscc','wpackwuslo','wpackwusmi','wpackwuspl','wpackwusvs','wpackwusvc','wpackwushi','wpackwusls','wpackwusge','wpackwuslt','wpackwusgt','wpackwusle', + 'wpackduseq','wpackdusne','wpackduscs','wpackdushs','wpackduscc','wpackduslo','wpackdusmi','wpackduspl','wpackdusvs','wpackdusvc','wpackdushi','wpackdusls','wpackdusge','wpackduslt','wpackdusgt','wpackdusle', + 'wqmiabbeq','wqmiabbne','wqmiabbcs','wqmiabbhs','wqmiabbcc','wqmiabblo','wqmiabbmi','wqmiabbpl','wqmiabbvs','wqmiabbvc','wqmiabbhi','wqmiabbls','wqmiabbge','wqmiabblt','wqmiabbgt','wqmiabble', + 'wqmiabteq','wqmiabtne','wqmiabtcs','wqmiabths','wqmiabtcc','wqmiabtlo','wqmiabtmi','wqmiabtpl','wqmiabtvs','wqmiabtvc','wqmiabthi','wqmiabtls','wqmiabtge','wqmiabtlt','wqmiabtgt','wqmiabtle', + 'wqmiatbeq','wqmiatbne','wqmiatbcs','wqmiatbhs','wqmiatbcc','wqmiatblo','wqmiatbmi','wqmiatbpl','wqmiatbvs','wqmiatbvc','wqmiatbhi','wqmiatbls','wqmiatbge','wqmiatblt','wqmiatbgt','wqmiatble', + 'wqmiatteq','wqmiattne','wqmiattcs','wqmiatths','wqmiattcc','wqmiattlo','wqmiattmi','wqmiattpl','wqmiattvs','wqmiattvc','wqmiatthi','wqmiattls','wqmiattge','wqmiattlt','wqmiattgt','wqmiattle', + 'wqmiabbneq','wqmiabbnne','wqmiabbncs','wqmiabbnhs','wqmiabbncc','wqmiabbnlo','wqmiabbnmi','wqmiabbnpl','wqmiabbnvs','wqmiabbnvc','wqmiabbnhi','wqmiabbnls','wqmiabbnge','wqmiabbnlt','wqmiabbngt','wqmiabbnle', + 'wqmiabtneq','wqmiabtnne','wqmiabtncs','wqmiabtnhs','wqmiabtncc','wqmiabtnlo','wqmiabtnmi','wqmiabtnpl','wqmiabtnvs','wqmiabtnvc','wqmiabtnhi','wqmiabtnls','wqmiabtnge','wqmiabtnlt','wqmiabtngt','wqmiabtnle', + 'wqmiatbneq','wqmiatbnne','wqmiatbncs','wqmiatbnhs','wqmiatbncc','wqmiatbnlo','wqmiatbnmi','wqmiatbnpl','wqmiatbnvs','wqmiatbnvc','wqmiatbnhi','wqmiatbnls','wqmiatbnge','wqmiatbnlt','wqmiatbngt','wqmiatbnle', + 'wqmiattneq','wqmiattnne','wqmiattncs','wqmiattnhs','wqmiattncc','wqmiattnlo','wqmiattnmi','wqmiattnpl','wqmiattnvs','wqmiattnvc','wqmiattnhi','wqmiattnls','wqmiattnge','wqmiattnlt','wqmiattngt','wqmiattnle', + 'wqmulmeq','wqmulmne','wqmulmcs','wqmulmhs','wqmulmcc','wqmulmlo','wqmulmmi','wqmulmpl','wqmulmvs','wqmulmvc','wqmulmhi','wqmulmls','wqmulmge','wqmulmlt','wqmulmgt','wqmulmle', + 'wqmulmreq','wqmulmrne','wqmulmrcs','wqmulmrhs','wqmulmrcc','wqmulmrlo','wqmulmrmi','wqmulmrpl','wqmulmrvs','wqmulmrvc','wqmulmrhi','wqmulmrls','wqmulmrge','wqmulmrlt','wqmulmrgt','wqmulmrle', + 'wqmulwmeq','wqmulwmne','wqmulwmcs','wqmulwmhs','wqmulwmcc','wqmulwmlo','wqmulwmmi','wqmulwmpl','wqmulwmvs','wqmulwmvc','wqmulwmhi','wqmulwmls','wqmulwmge','wqmulwmlt','wqmulwmgt','wqmulwmle', + 'wqmulwmreq','wqmulwmrne','wqmulwmrcs','wqmulwmrhs','wqmulwmrcc','wqmulwmrlo','wqmulwmrmi','wqmulwmrpl','wqmulwmrvs','wqmulwmrvc','wqmulwmrhi','wqmulwmrls','wqmulwmrge','wqmulwmrlt','wqmulwmrgt','wqmulwmrle', + 'wrorheq','wrorhne','wrorhcs','wrorhhs','wrorhcc','wrorhlo','wrorhmi','wrorhpl','wrorhvs','wrorhvc','wrorhhi','wrorhls','wrorhge','wrorhlt','wrorhgt','wrorhle', + 'wrorweq','wrorwne','wrorwcs','wrorwhs','wrorwcc','wrorwlo','wrorwmi','wrorwpl','wrorwvs','wrorwvc','wrorwhi','wrorwls','wrorwge','wrorwlt','wrorwgt','wrorwle', + 'wrordeq','wrordne','wrordcs','wrordhs','wrordcc','wrordlo','wrordmi','wrordpl','wrordvs','wrordvc','wrordhi','wrordls','wrordge','wrordlt','wrordgt','wrordle', + 'wrorhgeq','wrorhgne','wrorhgcs','wrorhghs','wrorhgcc','wrorhglo','wrorhgmi','wrorhgpl','wrorhgvs','wrorhgvc','wrorhghi','wrorhgls','wrorhgge','wrorhglt','wrorhggt','wrorhgle', + 'wrorwgeq','wrorwgne','wrorwgcs','wrorwghs','wrorwgcc','wrorwglo','wrorwgmi','wrorwgpl','wrorwgvs','wrorwgvc','wrorwghi','wrorwgls','wrorwgge','wrorwglt','wrorwggt','wrorwgle', + 'wrordgeq','wrordgne','wrordgcs','wrordghs','wrordgcc','wrordglo','wrordgmi','wrordgpl','wrordgvs','wrordgvc','wrordghi','wrordgls','wrordgge','wrordglt','wrordggt','wrordgle', + 'wsadbeq','wsadbne','wsadbcs','wsadbhs','wsadbcc','wsadblo','wsadbmi','wsadbpl','wsadbvs','wsadbvc','wsadbhi','wsadbls','wsadbge','wsadblt','wsadbgt','wsadble', + 'wsadheq','wsadhne','wsadhcs','wsadhhs','wsadhcc','wsadhlo','wsadhmi','wsadhpl','wsadhvs','wsadhvc','wsadhhi','wsadhls','wsadhge','wsadhlt','wsadhgt','wsadhle', + 'wsadbzeq','wsadbzne','wsadbzcs','wsadbzhs','wsadbzcc','wsadbzlo','wsadbzmi','wsadbzpl','wsadbzvs','wsadbzvc','wsadbzhi','wsadbzls','wsadbzge','wsadbzlt','wsadbzgt','wsadbzle', + 'wsadhzeq','wsadhzne','wsadhzcs','wsadhzhs','wsadhzcc','wsadhzlo','wsadhzmi','wsadhzpl','wsadhzvs','wsadhzvc','wsadhzhi','wsadhzls','wsadhzge','wsadhzlt','wsadhzgt','wsadhzle', + 'wshufheq','wshufhne','wshufhcs','wshufhhs','wshufhcc','wshufhlo','wshufhmi','wshufhpl','wshufhvs','wshufhvc','wshufhhi','wshufhls','wshufhge','wshufhlt','wshufhgt','wshufhle', + 'wsllheq','wsllhne','wsllhcs','wsllhhs','wsllhcc','wsllhlo','wsllhmi','wsllhpl','wsllhvs','wsllhvc','wsllhhi','wsllhls','wsllhge','wsllhlt','wsllhgt','wsllhle', + 'wsllweq','wsllwne','wsllwcs','wsllwhs','wsllwcc','wsllwlo','wsllwmi','wsllwpl','wsllwvs','wsllwvc','wsllwhi','wsllwls','wsllwge','wsllwlt','wsllwgt','wsllwle', + 'wslldeq','wslldne','wslldcs','wslldhs','wslldcc','wslldlo','wslldmi','wslldpl','wslldvs','wslldvc','wslldhi','wslldls','wslldge','wslldlt','wslldgt','wslldle', + 'wsllhgeq','wsllhgne','wsllhgcs','wsllhghs','wsllhgcc','wsllhglo','wsllhgmi','wsllhgpl','wsllhgvs','wsllhgvc','wsllhghi','wsllhgls','wsllhgge','wsllhglt','wsllhggt','wsllhgle', + 'wsllwgeq','wsllwgne','wsllwgcs','wsllwghs','wsllwgcc','wsllwglo','wsllwgmi','wsllwgpl','wsllwgvs','wsllwgvc','wsllwghi','wsllwgls','wsllwgge','wsllwglt','wsllwggt','wsllwgle', + 'wslldgeq','wslldgne','wslldgcs','wslldghs','wslldgcc','wslldglo','wslldgmi','wslldgpl','wslldgvs','wslldgvc','wslldghi','wslldgls','wslldgge','wslldglt','wslldggt','wslldgle', + 'wsraheq','wsrahne','wsrahcs','wsrahhs','wsrahcc','wsrahlo','wsrahmi','wsrahpl','wsrahvs','wsrahvc','wsrahhi','wsrahls','wsrahge','wsrahlt','wsrahgt','wsrahle', + 'wsraweq','wsrawne','wsrawcs','wsrawhs','wsrawcc','wsrawlo','wsrawmi','wsrawpl','wsrawvs','wsrawvc','wsrawhi','wsrawls','wsrawge','wsrawlt','wsrawgt','wsrawle', + 'wsradeq','wsradne','wsradcs','wsradhs','wsradcc','wsradlo','wsradmi','wsradpl','wsradvs','wsradvc','wsradhi','wsradls','wsradge','wsradlt','wsradgt','wsradle', + 'wsrahgeq','wsrahgne','wsrahgcs','wsrahghs','wsrahgcc','wsrahglo','wsrahgmi','wsrahgpl','wsrahgvs','wsrahgvc','wsrahghi','wsrahgls','wsrahgge','wsrahglt','wsrahggt','wsrahgle', + 'wsrawgeq','wsrawgne','wsrawgcs','wsrawghs','wsrawgcc','wsrawglo','wsrawgmi','wsrawgpl','wsrawgvs','wsrawgvc','wsrawghi','wsrawgls','wsrawgge','wsrawglt','wsrawggt','wsrawgle', + 'wsradgeq','wsradgne','wsradgcs','wsradghs','wsradgcc','wsradglo','wsradgmi','wsradgpl','wsradgvs','wsradgvc','wsradghi','wsradgls','wsradgge','wsradglt','wsradggt','wsradgle', + 'wsrlheq','wsrlhne','wsrlhcs','wsrlhhs','wsrlhcc','wsrlhlo','wsrlhmi','wsrlhpl','wsrlhvs','wsrlhvc','wsrlhhi','wsrlhls','wsrlhge','wsrlhlt','wsrlhgt','wsrlhle', + 'wsrlweq','wsrlwne','wsrlwcs','wsrlwhs','wsrlwcc','wsrlwlo','wsrlwmi','wsrlwpl','wsrlwvs','wsrlwvc','wsrlwhi','wsrlwls','wsrlwge','wsrlwlt','wsrlwgt','wsrlwle', + 'wsrldeq','wsrldne','wsrldcs','wsrldhs','wsrldcc','wsrldlo','wsrldmi','wsrldpl','wsrldvs','wsrldvc','wsrldhi','wsrldls','wsrldge','wsrldlt','wsrldgt','wsrldle', + 'wsrlhgeq','wsrlhgne','wsrlhgcs','wsrlhghs','wsrlhgcc','wsrlhglo','wsrlhgmi','wsrlhgpl','wsrlhgvs','wsrlhgvc','wsrlhghi','wsrlhgls','wsrlhgge','wsrlhglt','wsrlhggt','wsrlhgle', + 'wsrlwgeq','wsrlwgne','wsrlwgcs','wsrlwghs','wsrlwgcc','wsrlwglo','wsrlwgmi','wsrlwgpl','wsrlwgvs','wsrlwgvc','wsrlwghi','wsrlwgls','wsrlwgge','wsrlwglt','wsrlwggt','wsrlwgle', + 'wsrldgeq','wsrldgne','wsrldgcs','wsrldghs','wsrldgcc','wsrldglo','wsrldgmi','wsrldgpl','wsrldgvs','wsrldgvc','wsrldghi','wsrldgls','wsrldgge','wsrldglt','wsrldggt','wsrldgle', + 'wstrbeq','wstrbne','wstrbcs','wstrbhs','wstrbcc','wstrblo','wstrbmi','wstrbpl','wstrbvs','wstrbvc','wstrbhi','wstrbls','wstrbge','wstrblt','wstrbgt','wstrble', + 'wstrheq','wstrhne','wstrhcs','wstrhhs','wstrhcc','wstrhlo','wstrhmi','wstrhpl','wstrhvs','wstrhvc','wstrhhi','wstrhls','wstrhge','wstrhlt','wstrhgt','wstrhle', + 'wstrweq','wstrwne','wstrwcs','wstrwhs','wstrwcc','wstrwlo','wstrwmi','wstrwpl','wstrwvs','wstrwvc','wstrwhi','wstrwls','wstrwge','wstrwlt','wstrwgt','wstrwle', + 'wstrdeq','wstrdne','wstrdcs','wstrdhs','wstrdcc','wstrdlo','wstrdmi','wstrdpl','wstrdvs','wstrdvc','wstrdhi','wstrdls','wstrdge','wstrdlt','wstrdgt','wstrdle', + 'wsubbeq','wsubbne','wsubbcs','wsubbhs','wsubbcc','wsubblo','wsubbmi','wsubbpl','wsubbvs','wsubbvc','wsubbhi','wsubbls','wsubbge','wsubblt','wsubbgt','wsubble', + 'wsubheq','wsubhne','wsubhcs','wsubhhs','wsubhcc','wsubhlo','wsubhmi','wsubhpl','wsubhvs','wsubhvc','wsubhhi','wsubhls','wsubhge','wsubhlt','wsubhgt','wsubhle', + 'wsubweq','wsubwne','wsubwcs','wsubwhs','wsubwcc','wsubwlo','wsubwmi','wsubwpl','wsubwvs','wsubwvc','wsubwhi','wsubwls','wsubwge','wsubwlt','wsubwgt','wsubwle', + 'wsubbsseq','wsubbssne','wsubbsscs','wsubbsshs','wsubbsscc','wsubbsslo','wsubbssmi','wsubbsspl','wsubbssvs','wsubbssvc','wsubbsshi','wsubbssls','wsubbssge','wsubbsslt','wsubbssgt','wsubbssle', + 'wsubhsseq','wsubhssne','wsubhsscs','wsubhsshs','wsubhsscc','wsubhsslo','wsubhssmi','wsubhsspl','wsubhssvs','wsubhssvc','wsubhsshi','wsubhssls','wsubhssge','wsubhsslt','wsubhssgt','wsubhssle', + 'wsubwsseq','wsubwssne','wsubwsscs','wsubwsshs','wsubwsscc','wsubwsslo','wsubwssmi','wsubwsspl','wsubwssvs','wsubwssvc','wsubwsshi','wsubwssls','wsubwssge','wsubwsslt','wsubwssgt','wsubwssle', + 'wsubbuseq','wsubbusne','wsubbuscs','wsubbushs','wsubbuscc','wsubbuslo','wsubbusmi','wsubbuspl','wsubbusvs','wsubbusvc','wsubbushi','wsubbusls','wsubbusge','wsubbuslt','wsubbusgt','wsubbusle', + 'wsubhuseq','wsubhusne','wsubhuscs','wsubhushs','wsubhuscc','wsubhuslo','wsubhusmi','wsubhuspl','wsubhusvs','wsubhusvc','wsubhushi','wsubhusls','wsubhusge','wsubhuslt','wsubhusgt','wsubhusle', + 'wsubwuseq','wsubwusne','wsubwuscs','wsubwushs','wsubwuscc','wsubwuslo','wsubwusmi','wsubwuspl','wsubwusvs','wsubwusvc','wsubwushi','wsubwusls','wsubwusge','wsubwuslt','wsubwusgt','wsubwusle', + 'wsubaddhxeq','wsubaddhxne','wsubaddhxcs','wsubaddhxhs','wsubaddhxcc','wsubaddhxlo','wsubaddhxmi','wsubaddhxpl','wsubaddhxvs','wsubaddhxvc','wsubaddhxhi','wsubaddhxls','wsubaddhxge','wsubaddhxlt','wsubaddhxgt','wsubaddhxle', + 'wunpckehsbeq','wunpckehsbne','wunpckehsbcs','wunpckehsbhs','wunpckehsbcc','wunpckehsblo','wunpckehsbmi','wunpckehsbpl','wunpckehsbvs','wunpckehsbvc','wunpckehsbhi','wunpckehsbls','wunpckehsbge','wunpckehsblt','wunpckehsbgt','wunpckehsble', + 'wunpckehsheq','wunpckehshne','wunpckehshcs','wunpckehshhs','wunpckehshcc','wunpckehshlo','wunpckehshmi','wunpckehshpl','wunpckehshvs','wunpckehshvc','wunpckehshhi','wunpckehshls','wunpckehshge','wunpckehshlt','wunpckehshgt','wunpckehshle', + 'wunpckehsweq','wunpckehswne','wunpckehswcs','wunpckehswhs','wunpckehswcc','wunpckehswlo','wunpckehswmi','wunpckehswpl','wunpckehswvs','wunpckehswvc','wunpckehswhi','wunpckehswls','wunpckehswge','wunpckehswlt','wunpckehswgt','wunpckehswle', + 'wunpckehubeq','wunpckehubne','wunpckehubcs','wunpckehubhs','wunpckehubcc','wunpckehublo','wunpckehubmi','wunpckehubpl','wunpckehubvs','wunpckehubvc','wunpckehubhi','wunpckehubls','wunpckehubge','wunpckehublt','wunpckehubgt','wunpckehuble', + 'wunpckehuheq','wunpckehuhne','wunpckehuhcs','wunpckehuhhs','wunpckehuhcc','wunpckehuhlo','wunpckehuhmi','wunpckehuhpl','wunpckehuhvs','wunpckehuhvc','wunpckehuhhi','wunpckehuhls','wunpckehuhge','wunpckehuhlt','wunpckehuhgt','wunpckehuhle', + 'wunpckehuweq','wunpckehuwne','wunpckehuwcs','wunpckehuwhs','wunpckehuwcc','wunpckehuwlo','wunpckehuwmi','wunpckehuwpl','wunpckehuwvs','wunpckehuwvc','wunpckehuwhi','wunpckehuwls','wunpckehuwge','wunpckehuwlt','wunpckehuwgt','wunpckehuwle', + 'wunpckihbeq','wunpckihbne','wunpckihbcs','wunpckihbhs','wunpckihbcc','wunpckihblo','wunpckihbmi','wunpckihbpl','wunpckihbvs','wunpckihbvc','wunpckihbhi','wunpckihbls','wunpckihbge','wunpckihblt','wunpckihbgt','wunpckihble', + 'wunpckihheq','wunpckihhne','wunpckihhcs','wunpckihhhs','wunpckihhcc','wunpckihhlo','wunpckihhmi','wunpckihhpl','wunpckihhvs','wunpckihhvc','wunpckihhhi','wunpckihhls','wunpckihhge','wunpckihhlt','wunpckihhgt','wunpckihhle', + 'wunpckihweq','wunpckihwne','wunpckihwcs','wunpckihwhs','wunpckihwcc','wunpckihwlo','wunpckihwmi','wunpckihwpl','wunpckihwvs','wunpckihwvc','wunpckihwhi','wunpckihwls','wunpckihwge','wunpckihwlt','wunpckihwgt','wunpckihwle', + 'wunpckelsbeq','wunpckelsbne','wunpckelsbcs','wunpckelsbhs','wunpckelsbcc','wunpckelsblo','wunpckelsbmi','wunpckelsbpl','wunpckelsbvs','wunpckelsbvc','wunpckelsbhi','wunpckelsbls','wunpckelsbge','wunpckelsblt','wunpckelsbgt','wunpckelsble', + 'wunpckelsheq','wunpckelshne','wunpckelshcs','wunpckelshhs','wunpckelshcc','wunpckelshlo','wunpckelshmi','wunpckelshpl','wunpckelshvs','wunpckelshvc','wunpckelshhi','wunpckelshls','wunpckelshge','wunpckelshlt','wunpckelshgt','wunpckelshle', + 'wunpckelsweq','wunpckelswne','wunpckelswcs','wunpckelswhs','wunpckelswcc','wunpckelswlo','wunpckelswmi','wunpckelswpl','wunpckelswvs','wunpckelswvc','wunpckelswhi','wunpckelswls','wunpckelswge','wunpckelswlt','wunpckelswgt','wunpckelswle', + 'wunpckelubeq','wunpckelubne','wunpckelubcs','wunpckelubhs','wunpckelubcc','wunpckelublo','wunpckelubmi','wunpckelubpl','wunpckelubvs','wunpckelubvc','wunpckelubhi','wunpckelubls','wunpckelubge','wunpckelublt','wunpckelubgt','wunpckeluble', + 'wunpckeluheq','wunpckeluhne','wunpckeluhcs','wunpckeluhhs','wunpckeluhcc','wunpckeluhlo','wunpckeluhmi','wunpckeluhpl','wunpckeluhvs','wunpckeluhvc','wunpckeluhhi','wunpckeluhls','wunpckeluhge','wunpckeluhlt','wunpckeluhgt','wunpckeluhle', + 'wunpckeluweq','wunpckeluwne','wunpckeluwcs','wunpckeluwhs','wunpckeluwcc','wunpckeluwlo','wunpckeluwmi','wunpckeluwpl','wunpckeluwvs','wunpckeluwvc','wunpckeluwhi','wunpckeluwls','wunpckeluwge','wunpckeluwlt','wunpckeluwgt','wunpckeluwle', + 'wunpckilbeq','wunpckilbne','wunpckilbcs','wunpckilbhs','wunpckilbcc','wunpckilblo','wunpckilbmi','wunpckilbpl','wunpckilbvs','wunpckilbvc','wunpckilbhi','wunpckilbls','wunpckilbge','wunpckilblt','wunpckilbgt','wunpckilble', + 'wunpckilheq','wunpckilhne','wunpckilhcs','wunpckilhhs','wunpckilhcc','wunpckilhlo','wunpckilhmi','wunpckilhpl','wunpckilhvs','wunpckilhvc','wunpckilhhi','wunpckilhls','wunpckilhge','wunpckilhlt','wunpckilhgt','wunpckilhle', + 'wunpckilweq','wunpckilwne','wunpckilwcs','wunpckilwhs','wunpckilwcc','wunpckilwlo','wunpckilwmi','wunpckilwpl','wunpckilwvs','wunpckilwvc','wunpckilwhi','wunpckilwls','wunpckilwge','wunpckilwlt','wunpckilwgt','wunpckilwle', + 'wxoreq','wxorne','wxorcs','wxorhs','wxorcc','wxorlo','wxormi','wxorpl','wxorvs','wxorvc','wxorhi','wxorls','wxorge','wxorlt','wxorgt','wxorle', + 'wzeroeq','wzerone','wzerocs','wzerohs','wzerocc','wzerolo','wzeromi','wzeropl','wzerovs','wzerovc','wzerohi','wzerols','wzeroge','wzerolt','wzerogt','wzerole' + ), + /* Unconditional VFPv3 & NEON SIMD Memory Access Instructions */ + 19 => array( + /* Unconditional VFPv3 & NEON SIMD Memory Access: Loads */ + 'vld.8','vldal.8', + 'vld.16','vldal.16', + 'vld.32','vldal.32', + 'vld.64','vldal.64', + + 'vld1.8','vld1al.8', + 'vld1.16','vld1al.16', + 'vld1.32','vld1al.32', + + 'vld2.8','vld2al.8', + 'vld2.16','vld2al.16', + 'vld2.32','vld2al.32', + + 'vld3.8','vld3al.8', + 'vld3.16','vld3al.16', + 'vld3.32','vld3al.32', + + 'vld4.8','vld4al.8', + 'vld4.16','vld4al.16', + 'vld4.32','vld4al.32', + + 'vldm','vldmal', + 'vldm.32','vldmal.32', + 'vldm.64','vldmal.64', + + 'vldmia','vldmiaal', + 'vldmia.32','vldmiaal.32', + 'vldmia.64','vldmiaal.64', + + 'vldmdb','vldmdbal', + 'vldmdb.32','vldmdbal.32', + 'vldmdb.64','vldmdbal.64', + + 'vldr','vldral', + 'vldr.32','vldral.32', + 'vldr.64','vldral.64', + + 'vpop','vpopal', + 'vpop.32','vpopal.32', + 'vpop.64','vpopal.64', + + /* Unconditional VFPv3 & NEON SIMD Memory Access: Stores */ + 'vst1.8','vst1al.8', + 'vst1.16','vst1al.16', + 'vst1.32','vst1al.32', + 'vst1.64','vst1al.64', + + 'vst2.8','vst2al.8', + 'vst2.16','vst2al.16', + 'vst2.32','vst2al.32', + + 'vst3.8','vst3al.8', + 'vst3.16','vst3al.16', + 'vst3.32','vst3al.32', + + 'vst4.8','vst4al.8', + 'vst4.16','vst4al.16', + 'vst4.32','vst4al.32', + + 'vstm','vstmal', + 'vstm.32','vstmal.32', + 'vstm.64','vstmal.64', + + 'vstmia','vstmiaal', + 'vstmia.32','vstmiaal.32', + 'vstmia.64','vstmiaal.64', + + 'vstmdb','vstmdbal', + 'vstmdb.32','vstmdbal.32', + 'vstmdb.64','vstmdbal.64', + + 'vstr','vstral', + 'vstr.32','vstral.32', + 'vstr.64','vstral.64', + + 'vpush','vpushal', + 'vpush.32','vpushal.32', + 'vpush.64','vpushal.64' + ), + /* Unconditional NEON SIMD Logical Instructions */ + 20 => array( + 'vand','vandal', + 'vand.i8','vandal.i8', + 'vand.i16','vandal.i16', + 'vand.i32','vandal.i32', + 'vand.i64','vandal.i64', + 'vand.s8','vandal.s8', + 'vand.s16','vandal.s16', + 'vand.s32','vandal.s32', + 'vand.s64','vandal.s64', + 'vand.u8','vandal.u8', + 'vand.u16','vandal.u16', + 'vand.u32','vandal.u32', + 'vand.u64','vandal.u64', + 'vand.f32','vandal.f32', + 'vand.f64','vandal.f64', + + 'vbic','vbical', + 'vbic.i8','vbical.i8', + 'vbic.i16','vbical.i16', + 'vbic.i32','vbical.i32', + 'vbic.i64','vbical.i64', + 'vbic.s8','vbical.s8', + 'vbic.s16','vbical.s16', + 'vbic.s32','vbical.s32', + 'vbic.s64','vbical.s64', + 'vbic.u8','vbical.u8', + 'vbic.u16','vbical.u16', + 'vbic.u32','vbical.u32', + 'vbic.u64','vbical.u64', + 'vbic.f32','vbical.f32', + 'vbic.f64','vbical.f64', + + 'vbif','vbifal', + 'vbif.i8','vbifal.i8', + 'vbif.i16','vbifal.i16', + 'vbif.i32','vbifal.i32', + 'vbif.i64','vbifal.i64', + 'vbif.s8','vbifal.s8', + 'vbif.s16','vbifal.s16', + 'vbif.s32','vbifal.s32', + 'vbif.s64','vbifal.s64', + 'vbif.u8','vbifal.u8', + 'vbif.u16','vbifal.u16', + 'vbif.u32','vbifal.u32', + 'vbif.u64','vbifal.u64', + 'vbif.f32','vbifal.f32', + 'vbif.f64','vbifal.f64', + + 'vbit','vbital', + 'vbit.i8','vbital.i8', + 'vbit.i16','vbital.i16', + 'vbit.i32','vbital.i32', + 'vbit.i64','vbital.i64', + 'vbit.s8','vbital.s8', + 'vbit.s16','vbital.s16', + 'vbit.s32','vbital.s32', + 'vbit.s64','vbital.s64', + 'vbit.u8','vbital.u8', + 'vbit.u16','vbital.u16', + 'vbit.u32','vbital.u32', + 'vbit.u64','vbital.u64', + 'vbit.f32','vbital.f32', + 'vbit.f64','vbital.f64', + + 'vbsl','vbslal', + 'vbsl.i8','vbslal.i8', + 'vbsl.i16','vbslal.i16', + 'vbsl.i32','vbslal.i32', + 'vbsl.i64','vbslal.i64', + 'vbsl.s8','vbslal.s8', + 'vbsl.s16','vbslal.s16', + 'vbsl.s32','vbslal.s32', + 'vbsl.s64','vbslal.s64', + 'vbsl.u8','vbslal.u8', + 'vbsl.u16','vbslal.u16', + 'vbsl.u32','vbslal.u32', + 'vbsl.u64','vbslal.u64', + 'vbsl.f32','vbslal.f32', + 'vbsl.f64','vbslal.f64', + + 'veor','veoral', + 'veor.i8','veoral.i8', + 'veor.i16','veoral.i16', + 'veor.i32','veoral.i32', + 'veor.i64','veoral.i64', + 'veor.s8','veoral.s8', + 'veor.s16','veoral.s16', + 'veor.s32','veoral.s32', + 'veor.s64','veoral.s64', + 'veor.u8','veoral.u8', + 'veor.u16','veoral.u16', + 'veor.u32','veoral.u32', + 'veor.u64','veoral.u64', + 'veor.f32','veoral.f32', + 'veor.f64','veoral.f64', + + 'vmov','vmoval', + 'vmov.8','vmoval.8', + 'vmov.16','vmoval.16', + 'vmov.32','vmoval.32', + 'vmov.i8','vmoval.i8', + 'vmov.i16','vmoval.i16', + 'vmov.i32','vmoval.i32', + 'vmov.i64','vmoval.i64', + 'vmov.f32','vmoval.f32', + 'vmov.f64','vmoval.f64', + + 'vmvn','vmvnal', + 'vmvn.s8','vmvnal.s8', + 'vmvn.s16','vmvnal.s16', + 'vmvn.s32','vmvnal.s32', + 'vmvn.s64','vmvnal.s64', + 'vmvn.u8','vmvnal.u8', + 'vmvn.u16','vmvnal.u16', + 'vmvn.u32','vmvnal.u32', + 'vmvn.u64','vmvnal.u64', + 'vmvn.i8','vmvnal.i8', + 'vmvn.i16','vmvnal.i16', + 'vmvn.i32','vmvnal.i32', + 'vmvn.i64','vmvnal.i64', + 'vmvn.f32','vmvnal.f32', + 'vmvn.f64','vmvnal.f64', + + 'vorn','vornal', + 'vorn.s8','vornal.s8', + 'vorn.s16','vornal.s16', + 'vorn.s32','vornal.s32', + 'vorn.s64','vornal.s64', + 'vorn.u8','vornal.u8', + 'vorn.u16','vornal.u16', + 'vorn.u32','vornal.u32', + 'vorn.u64','vornal.u64', + 'vorn.i8','vornal.i8', + 'vorn.i16','vornal.i16', + 'vorn.i32','vornal.i32', + 'vorn.i64','vornal.i64', + 'vorn.f32','vornal.f32', + 'vorn.f64','vornal.f64', + + 'vorr','vorral', + 'vorr.s8','vorral.s8', + 'vorr.s16','vorral.s16', + 'vorr.s32','vorral.s32', + 'vorr.s64','vorral.s64', + 'vorr.u8','vorral.u8', + 'vorr.u16','vorral.u16', + 'vorr.u32','vorral.u32', + 'vorr.u64','vorral.u64', + 'vorr.i8','vorral.i8', + 'vorr.i16','vorral.i16', + 'vorr.i32','vorral.i32', + 'vorr.i64','vorral.i64', + 'vorr.f32','vorral.f32', + 'vorr.f64','vorral.f64', + + 'vswp','vswpal', + 'vswp.s8','vswpal.s8', + 'vswp.s16','vswpal.s16', + 'vswp.s32','vswpal.s32', + 'vswp.s64','vswpal.s64', + 'vswp.u8','vswpal.u8', + 'vswp.u16','vswpal.u16', + 'vswp.u32','vswpal.u32', + 'vswp.u64','vswpal.u64', + 'vswp.i8','vswpal.i8', + 'vswp.i16','vswpal.i16', + 'vswp.i32','vswpal.i32', + 'vswp.i64','vswpal.i64', + 'vswp.f32','vswpal.f32', + 'vswp.f64','vswpal.f64' + ), + /* Unconditional NEON SIMD ARM Registers Interop Instructions */ + 21 => array( + 'vmrs','vmrsal', + 'vmsr','vmsral' + ), + /* Unconditional NEON SIMD Bit/Byte-Level Instructions */ + 22 => array( + 'vcnt.8','vcntal.8', + 'vdup.8','vdupal.8', + + 'vdup.16','vdupal.16', + 'vdup.32','vdupal.32', + + 'vext.8','vextal.8', + 'vext.16','vextal.16', + + 'vext.32','vextal.32', + 'vext.64','vextal.64', + + 'vrev16.8','vrev16al.8', + 'vrev32.8','vrev32al.8', + 'vrev32.16','vrev32al.16', + 'vrev64.8','vrev64al.8', + 'vrev64.16','vrev64al.16', + 'vrev64.32','vrev64al.32', + + 'vsli.8','vslial.8', + 'vsli.16','vslial.16', + 'vsli.32','vslial.32', + 'vsli.64','vslial.64', + + 'vsri.8','vsrial.8', + 'vsri.16','vsrial.16', + 'vsri.32','vsrial.32', + 'vsri.64','vsrial.64', + + 'vtbl.8','vtblal.8', + + 'vtbx','vtbxal', + + 'vtrn.8','vtrnal.8', + 'vtrn.16','vtrnal.16', + 'vtrn.32','vtrnal.32', + + 'vtst.8','vtstal.8', + 'vtst.16','vtstal.16', + 'vtst.32','vtstal.32', + + 'vuzp.8','vuzpal.8', + 'vuzp.16','vuzpal.16', + 'vuzp.32','vuzpal.32', + + 'vzip.8','vzipal.8', + 'vzip.16','vzipal.16', + 'vzip.32','vzipal.32', + + 'vmull.p8','vmullal.p8' + ), + /* Unconditional NEON SIMD Universal Integer Instructions */ + 23 => array( + 'vadd.i8','vaddal.i8', + 'vadd.i16','vaddal.i16', + 'vadd.i32','vaddal.i32', + 'vadd.i64','vaddal.i64', + + 'vsub.i8','vsubal.i8', + 'vsub.i16','vsubal.i16', + 'vsub.i32','vsubal.i32', + 'vsub.i64','vsubal.i64', + + 'vaddhn.i16','vaddhnal.i16', + 'vaddhn.i32','vaddhnal.i32', + 'vaddhn.i64','vaddhnal.i64', + + 'vsubhn.i16','vsubhnal.i16', + 'vsubhn.i32','vsubhnal.i32', + 'vsubhn.i64','vsubhnal.i64', + + 'vraddhn.i16','vraddhnal.i16', + 'vraddhn.i32','vraddhnal.i32', + 'vraddhn.i64','vraddhnal.i64', + + 'vrsubhn.i16','vrsubhnal.i16', + 'vrsubhn.i32','vrsubhnal.i32', + 'vrsubhn.i64','vrsubhnal.i64', + + 'vpadd.i8','vpaddal.i8', + 'vpadd.i16','vpaddal.i16', + 'vpadd.i32','vpaddal.i32', + + 'vceq.i8','vceqal.i8', + 'vceq.i16','vceqal.i16', + 'vceq.i32','vceqal.i32', + + 'vclz.i8','vclzal.i8', + 'vclz.i16','vclzal.i16', + 'vclz.i32','vclzal.i32', + + 'vmovn.i16','vmovnal.i16', + 'vmovn.i32','vmovnal.i32', + 'vmovn.i64','vmovnal.i64', + + 'vmla.s8','vmlaal.s8', + 'vmla.s16','vmlaal.s16', + 'vmla.s32','vmlaal.s32', + 'vmla.u8','vmlaal.u8', + 'vmla.u16','vmlaal.u16', + 'vmla.u32','vmlaal.u32', + 'vmla.i8','vmlaal.i8', + 'vmla.i16','vmlaal.i16', + 'vmla.i32','vmlaal.i32', + + 'vmls.s8','vmlsal.s8', + 'vmls.s16','vmlsal.s16', + 'vmls.s32','vmlsal.s32', + 'vmls.u8','vmlsal.u8', + 'vmls.u16','vmlsal.u16', + 'vmls.u32','vmlsal.u32', + 'vmls.i8','vmlsal.i8', + 'vmls.i16','vmlsal.i16', + 'vmls.i32','vmlsal.i32', + + 'vmul.s8','vmulal.s8', + 'vmul.s16','vmulal.s16', + 'vmul.s32','vmulal.s32', + 'vmul.u8','vmulal.u8', + 'vmul.u16','vmulal.u16', + 'vmul.u32','vmulal.u32', + 'vmul.i8','vmulal.i8', + 'vmul.i16','vmulal.i16', + 'vmul.i32','vmulal.i32', + 'vmul.p8','vmulal.p8', + + 'vrshrn.i16','vrshrnal.i16', + 'vrshrn.i32','vrshrnal.i32', + 'vrshrn.i64','vrshrnal.i64', + + 'vshrn.i16','vshrnal.i16', + 'vshrn.i32','vshrnal.i32', + 'vshrn.i64','vshrnal.i64', + + 'vshl.i8','vshlal.i8', + 'vshl.i16','vshlal.i16', + 'vshl.i32','vshlal.i32', + 'vshl.i64','vshlal.i64', + + 'vshll.i8','vshllal.i8', + 'vshll.i16','vshllal.i16', + 'vshll.i32','vshllal.i32' + ), + /* Unconditional NEON SIMD Signed Integer Instructions */ + 24 => array( + 'vaba.s8','vabaal.s8', + 'vaba.s16','vabaal.s16', + 'vaba.s32','vabaal.s32', + + 'vabal.s8','vabalal.s8', + 'vabal.s16','vabalal.s16', + 'vabal.s32','vabalal.s32', + + 'vabd.s8','vabdal.s8', + 'vabd.s16','vabdal.s16', + 'vabd.s32','vabdal.s32', + + 'vabs.s8','vabsal.s8', + 'vabs.s16','vabsal.s16', + 'vabs.s32','vabsal.s32', + + 'vaddl.s8','vaddlal.s8', + 'vaddl.s16','vaddlal.s16', + 'vaddl.s32','vaddlal.s32', + + 'vcge.s8','vcgeal.s8', + 'vcge.s16','vcgeal.s16', + 'vcge.s32','vcgeal.s32', + + 'vcle.s8','vcleal.s8', + 'vcle.s16','vcleal.s16', + 'vcle.s32','vcleal.s32', + + 'vcgt.s8','vcgtal.s8', + 'vcgt.s16','vcgtal.s16', + 'vcgt.s32','vcgtal.s32', + + 'vclt.s8','vcltal.s8', + 'vclt.s16','vcltal.s16', + 'vclt.s32','vcltal.s32', + + 'vcls.s8','vclsal.s8', + 'vcls.s16','vclsal.s16', + 'vcls.s32','vclsal.s32', + + 'vaddw.s8','vaddwal.s8', + 'vaddw.s16','vaddwal.s16', + 'vaddw.s32','vaddwal.s32', + + 'vhadd.s8','vhaddal.s8', + 'vhadd.s16','vhaddal.s16', + 'vhadd.s32','vhaddal.s32', + + 'vhsub.s8','vhsubal.s8', + 'vhsub.s16','vhsubal.s16', + 'vhsub.s32','vhsubal.s32', + + 'vmax.s8','vmaxal.s8', + 'vmax.s16','vmaxal.s16', + 'vmax.s32','vmaxal.s32', + + 'vmin.s8','vminal.s8', + 'vmin.s16','vminal.s16', + 'vmin.s32','vminal.s32', + + 'vmlal.s8','vmlalal.s8', + 'vmlal.s16','vmlalal.s16', + 'vmlal.s32','vmlalal.s32', + + 'vmlsl.s8','vmlslal.s8', + 'vmlsl.s16','vmlslal.s16', + 'vmlsl.s32','vmlslal.s32', + + 'vneg.s8','vnegal.s8', + 'vneg.s16','vnegal.s16', + 'vneg.s32','vnegal.s32', + + 'vpadal.s8','vpadalal.s8', + 'vpadal.s16','vpadalal.s16', + 'vpadal.s32','vpadalal.s32', + + 'vmovl.s8','vmovlal.s8', + 'vmovl.s16','vmovlal.s16', + 'vmovl.s32','vmovlal.s32', + + 'vmull.s8','vmullal.s8', + 'vmull.s16','vmullal.s16', + 'vmull.s32','vmullal.s32', + + 'vpaddl.s8','vpaddlal.s8', + 'vpaddl.s16','vpaddlal.s16', + 'vpaddl.s32','vpaddlal.s32', + + 'vpmax.s8','vpmaxal.s8', + 'vpmax.s16','vpmaxal.s16', + 'vpmax.s32','vpmaxal.s32', + + 'vpmin.s8','vpminal.s8', + 'vpmin.s16','vpminal.s16', + 'vpmin.s32','vpminal.s32', + + 'vqabs.s8','vqabsal.s8', + 'vqabs.s16','vqabsal.s16', + 'vqabs.s32','vqabsal.s32', + + 'vqadd.s8','vqaddal.s8', + 'vqadd.s16','vqaddal.s16', + 'vqadd.s32','vqaddal.s32', + 'vqadd.s64','vqaddal.s64', + + 'vqdmlal.s16','vqdmlalal.s16', + 'vqdmlal.s32','vqdmlalal.s32', + + 'vqdmlsl.s16','vqdmlslal.s16', + 'vqdmlsl.s32','vqdmlslal.s32', + + 'vqdmulh.s16','vqdmulhal.s16', + 'vqdmulh.s32','vqdmulhal.s32', + + 'vqdmull.s16','vqdmullal.s16', + 'vqdmull.s32','vqdmullal.s32', + + 'vqmovn.s16','vqmovnal.s16', + 'vqmovn.s32','vqmovnal.s32', + 'vqmovn.s64','vqmovnal.s64', + + 'vqmovun.s16','vqmovunal.s16', + 'vqmovun.s32','vqmovunal.s32', + 'vqmovun.s64','vqmovunal.s64', + + 'vqneg.s8','vqnegal.s8', + 'vqneg.s16','vqnegal.s16', + 'vqneg.s32','vqnegal.s32', + + 'vqrdmulh.s16','vqrdmulhal.s16', + 'vqrdmulh.s32','vqrdmulhal.s32', + + 'vqrshl.s8','vqrshlal.s8', + 'vqrshl.s16','vqrshlal.s16', + 'vqrshl.s32','vqrshlal.s32', + 'vqrshl.s64','vqrshlal.s64', + + 'vqrshrn.s16','vqrshrnal.s16', + 'vqrshrn.s32','vqrshrnal.s32', + 'vqrshrn.s64','vqrshrnal.s64', + + 'vqrshrun.s16','vqrshrunal.s16', + 'vqrshrun.s32','vqrshrunal.s32', + 'vqrshrun.s64','vqrshrunal.s64', + + 'vqshl.s8','vqshlal.s8', + 'vqshl.s16','vqshlal.s16', + 'vqshl.s32','vqshlal.s32', + 'vqshl.s64','vqshlal.s64', + + 'vqshlu.s8','vqshlual.s8', + 'vqshlu.s16','vqshlual.s16', + 'vqshlu.s32','vqshlual.s32', + 'vqshlu.s64','vqshlual.s64', + + 'vqshrn.s16','vqshrnal.s16', + 'vqshrn.s32','vqshrnal.s32', + 'vqshrn.s64','vqshrnal.s64', + + 'vqshrun.s16','vqshrunal.s16', + 'vqshrun.s32','vqshrunal.s32', + 'vqshrun.s64','vqshrunal.s64', + + 'vqsub.s8','vqsubal.s8', + 'vqsub.s16','vqsubal.s16', + 'vqsub.s32','vqsubal.s32', + 'vqsub.s64','vqsubal.s64', + + 'vrhadd.s8','vrhaddal.s8', + 'vrhadd.s16','vrhaddal.s16', + 'vrhadd.s32','vrhaddal.s32', + + 'vrshl.s8','vrshlal.s8', + 'vrshl.s16','vrshlal.s16', + 'vrshl.s32','vrshlal.s32', + 'vrshl.s64','vrshlal.s64', + + 'vrshr.s8','vrshral.s8', + 'vrshr.s16','vrshral.s16', + 'vrshr.s32','vrshral.s32', + 'vrshr.s64','vrshral.s64', + + 'vrsra.s8','vrsraal.s8', + 'vrsra.s16','vrsraal.s16', + 'vrsra.s32','vrsraal.s32', + 'vrsra.s64','vrsraal.s64', + + 'vshl.s8','vshlal.s8', + 'vshl.s16','vshlal.s16', + 'vshl.s32','vshlal.s32', + 'vshl.s64','vshlal.s64', + + 'vshll.s8','vshllal.s8', + 'vshll.s16','vshllal.s16', + 'vshll.s32','vshllal.s32', + + 'vshr.s8','vshral.s8', + 'vshr.s16','vshral.s16', + 'vshr.s32','vshral.s32', + 'vshr.s64','vshral.s64', + + 'vsra.s8','vsraal.s8', + 'vsra.s16','vsraal.s16', + 'vsra.s32','vsraal.s32', + 'vsra.s64','vsraal.s64', + + 'vsubl.s8','vsublal.s8', + 'vsubl.s16','vsublal.s16', + 'vsubl.s32','vsublal.s32', + + 'vsubh.s8','vsubhal.s8', + 'vsubh.s16','vsubhal.s16', + 'vsubh.s32','vsubhal.s32' + ), + /* Unconditional NEON SIMD Unsigned Integer Instructions */ + 25 => array( + 'vaba.u8','vabaal.u8', + 'vaba.u16','vabaal.u16', + 'vaba.u32','vabaal.u32', + + 'vabal.u8','vabalal.u8', + 'vabal.u16','vabalal.u16', + 'vabal.u32','vabalal.u32', + + 'vabd.u8','vabdal.u8', + 'vabd.u16','vabdal.u16', + 'vabd.u32','vabdal.u32', + + 'vaddl.u8','vaddlal.u8', + 'vaddl.u16','vaddlal.u16', + 'vaddl.u32','vaddlal.u32', + + 'vsubl.u8','vsublal.u8', + 'vsubl.u16','vsublal.u16', + 'vsubl.u32','vsublal.u32', + + 'vaddw.u8','vaddwal.u8', + 'vaddw.u16','vaddwal.u16', + 'vaddw.u32','vaddwal.u32', + + 'vsubh.u8','vsubhal.u8', + 'vsubh.u16','vsubhal.u16', + 'vsubh.u32','vsubhal.u32', + + 'vhadd.u8','vhaddal.u8', + 'vhadd.u16','vhaddal.u16', + 'vhadd.u32','vhaddal.u32', + + 'vhsub.u8','vhsubal.u8', + 'vhsub.u16','vhsubal.u16', + 'vhsub.u32','vhsubal.u32', + + 'vpadal.u8','vpadalal.u8', + 'vpadal.u16','vpadalal.u16', + 'vpadal.u32','vpadalal.u32', + + 'vpaddl.u8','vpaddlal.u8', + 'vpaddl.u16','vpaddlal.u16', + 'vpaddl.u32','vpaddlal.u32', + + 'vcge.u8','vcgeal.u8', + 'vcge.u16','vcgeal.u16', + 'vcge.u32','vcgeal.u32', + + 'vcle.u8','vcleal.u8', + 'vcle.u16','vcleal.u16', + 'vcle.u32','vcleal.u32', + + 'vcgt.u8','vcgtal.u8', + 'vcgt.u16','vcgtal.u16', + 'vcgt.u32','vcgtal.u32', + + 'vclt.u8','vcltal.u8', + 'vclt.u16','vcltal.u16', + 'vclt.u32','vcltal.u32', + + 'vmax.u8','vmaxal.u8', + 'vmax.u16','vmaxal.u16', + 'vmax.u32','vmaxal.u32', + + 'vmin.u8','vminal.u8', + 'vmin.u16','vminal.u16', + 'vmin.u32','vminal.u32', + + 'vmlal.u8','vmlalal.u8', + 'vmlal.u16','vmlalal.u16', + 'vmlal.u32','vmlalal.u32', + + 'vmlsl.u8','vmlslal.u8', + 'vmlsl.u16','vmlslal.u16', + 'vmlsl.u32','vmlslal.u32', + + 'vmull.u8','vmullal.u8', + 'vmull.u16','vmullal.u16', + 'vmull.u32','vmullal.u32', + + 'vmovl.u8','vmovlal.u8', + 'vmovl.u16','vmovlal.u16', + 'vmovl.u32','vmovlal.u32', + + 'vshl.u8','vshlal.u8', + 'vshl.u16','vshlal.u16', + 'vshl.u32','vshlal.u32', + 'vshl.u64','vshlal.u64', + + 'vshll.u8','vshllal.u8', + 'vshll.u16','vshllal.u16', + 'vshll.u32','vshllal.u32', + + 'vshr.u8','vshral.u8', + 'vshr.u16','vshral.u16', + 'vshr.u32','vshral.u32', + 'vshr.u64','vshral.u64', + + 'vsra.u8','vsraal.u8', + 'vsra.u16','vsraal.u16', + 'vsra.u32','vsraal.u32', + 'vsra.u64','vsraal.u64', + + 'vpmax.u8','vpmaxal.u8', + 'vpmax.u16','vpmaxal.u16', + 'vpmax.u32','vpmaxal.u32', + + 'vpmin.u8','vpminal.u8', + 'vpmin.u16','vpminal.u16', + 'vpmin.u32','vpminal.u32', + + 'vqadd.u8','vqaddal.u8', + 'vqadd.u16','vqaddal.u16', + 'vqadd.u32','vqaddal.u32', + 'vqadd.u64','vqaddal.u64', + + 'vqsub.u8','vqsubal.u8', + 'vqsub.u16','vqsubal.u16', + 'vqsub.u32','vqsubal.u32', + 'vqsub.u64','vqsubal.u64', + + 'vqmovn.u16','vqmovnal.u16', + 'vqmovn.u32','vqmovnal.u32', + 'vqmovn.u64','vqmovnal.u64', + + 'vqshl.u8','vqshlal.u8', + 'vqshl.u16','vqshlal.u16', + 'vqshl.u32','vqshlal.u32', + 'vqshl.u64','vqshlal.u64', + + 'vqshrn.u16','vqshrnal.u16', + 'vqshrn.u32','vqshrnal.u32', + 'vqshrn.u64','vqshrnal.u64', + + 'vqrshl.u8','vqrshlal.u8', + 'vqrshl.u16','vqrshlal.u16', + 'vqrshl.u32','vqrshlal.u32', + 'vqrshl.u64','vqrshlal.u64', + + 'vqrshrn.u16','vqrshrnal.u16', + 'vqrshrn.u32','vqrshrnal.u32', + 'vqrshrn.u64','vqrshrnal.u64', + + 'vrhadd.u8','vrhaddal.u8', + 'vrhadd.u16','vrhaddal.u16', + 'vrhadd.u32','vrhaddal.u32', + + 'vrshl.u8','vrshlal.u8', + 'vrshl.u16','vrshlal.u16', + 'vrshl.u32','vrshlal.u32', + 'vrshl.u64','vrshlal.u64', + + 'vrshr.u8','vrshral.u8', + 'vrshr.u16','vrshral.u16', + 'vrshr.u32','vrshral.u32', + 'vrshr.u64','vrshral.u64', + + 'vrsra.u8','vrsraal.u8', + 'vrsra.u16','vrsraal.u16', + 'vrsra.u32','vrsraal.u32', + 'vrsra.u64','vrsraal.u64' + ), + /* Unconditional VFPv3 & NEON SIMD Floating-Point Instructions */ + 26 => array( + 'vabd.f32','vabdal.f32', + + 'vabs.f32','vabsal.f32', + 'vabs.f64','vabsal.f64', + + 'vacge.f32','vacgeal.f32', + 'vacgt.f32','vacgtal.f32', + 'vacle.f32','vacleal.f32', + 'vaclt.f32','vacltal.f32', + + 'vadd.f32','vaddal.f32', + 'vadd.f64','vaddal.f64', + + 'vceq.f32','vceqal.f32', + 'vcge.f32','vcgeal.f32', + 'vcle.f32','vcleal.f32', + 'vcgt.f32','vcgtal.f32', + 'vclt.f32','vcltal.f32', + + 'vcmp.f32','vcmpal.f32', + 'vcmp.f64','vcmpal.f64', + + 'vcmpe.f32','vcmpeal.f32', + 'vcmpe.f64','vcmpeal.f64', + + 'vcvt.s16.f32','vcvtal.s16.f32', + 'vcvt.s16.f64','vcvtal.s16.f64', + 'vcvt.s32.f32','vcvtal.s32.f32', + 'vcvt.s32.f64','vcvtal.s32.f64', + 'vcvt.u16.f32','vcvtal.u16.f32', + 'vcvt.u16.f64','vcvtal.u16.f64', + 'vcvt.u32.f32','vcvtal.u32.f32', + 'vcvt.u32.f64','vcvtal.u32.f64', + 'vcvt.f16.f32','vcvtal.f16.f32', + 'vcvt.f32.s32','vcvtal.f32.s32', + 'vcvt.f32.u32','vcvtal.f32.u32', + 'vcvt.f32.f16','vcvtal.f32.f16', + 'vcvt.f32.f64','vcvtal.f32.f64', + 'vcvt.f64.s32','vcvtal.f64.s32', + 'vcvt.f64.u32','vcvtal.f64.u32', + 'vcvt.f64.f32','vcvtal.f64.f32', + + 'vcvtr.s32.f32','vcvtral.s32.f32', + 'vcvtr.s32.f64','vcvtral.s32.f64', + 'vcvtr.u32.f32','vcvtral.u32.f32', + 'vcvtr.u32.f64','vcvtral.u32.f64', + + 'vcvtb.f16.f32','vcvtbal.f16.f32', + 'vcvtb.f32.f16','vcvtbal.f32.f16', + + 'vcvtt.f16.f32','vcvttal.f16.f32', + 'vcvtt.f32.f16','vcvttal.f32.f16', + + 'vdiv.f32','vdival.f32', + 'vdiv.f64','vdival.f64', + + 'vmax.f32','vmaxal.f32', + 'vmin.f32','vminal.f32', + + 'vmla.f32','vmlaal.f32', + 'vmla.f64','vmlaal.f64', + + 'vmls.f32','vmlsal.f32', + 'vmls.f64','vmlsal.f64', + + 'vmul.f32','vmulal.f32', + 'vmul.f64','vmulal.f64', + + 'vneg.f32','vnegal.f32', + 'vneg.f64','vnegal.f64', + + 'vnmla.f32','vnmlaal.f32', + 'vnmla.f64','vnmlaal.f64', + + 'vnmls.f32','vnmlsal.f32', + 'vnmls.f64','vnmlsal.f64', + + 'vnmul.f64','vnmulal.f64', + 'vnmul.f32','vnmulal.f32', + + 'vpadd.f32','vpaddal.f32', + + 'vpmax.f32','vpmaxal.f32', + 'vpmin.f32','vpminal.f32', + + 'vrecpe.u32','vrecpeal.u32', + 'vrecpe.f32','vrecpeal.f32', + 'vrecps.f32','vrecpsal.f32', + + 'vrsqrte.u32','vrsqrteal.u32', + 'vrsqrte.f32','vrsqrteal.f32', + 'vrsqrts.f32','vrsqrtsal.f32', + + 'vsqrt.f32','vsqrtal.f32', + 'vsqrt.f64','vsqrtal.f64', + + 'vsub.f32','vsubal.f32', + 'vsub.f64','vsubal.f64' + ), + /* Conditional VFPv3 & NEON SIMD Memory Access Instructions */ + 27 => array( + /* Conditional VFPv3 & NEON SIMD Memory Access: Loads */ + 'vldeq.8','vldne.8','vldcs.8','vldhs.8','vldcc.8','vldlo.8','vldmi.8','vldpl.8','vldvs.8','vldvc.8','vldhi.8','vldls.8','vldge.8','vldlt.8','vldgt.8','vldle.8', + 'vldeq.16','vldne.16','vldcs.16','vldhs.16','vldcc.16','vldlo.16','vldmi.16','vldpl.16','vldvs.16','vldvc.16','vldhi.16','vldls.16','vldge.16','vldlt.16','vldgt.16','vldle.16', + 'vldeq.32','vldne.32','vldcs.32','vldhs.32','vldcc.32','vldlo.32','vldmi.32','vldpl.32','vldvs.32','vldvc.32','vldhi.32','vldls.32','vldge.32','vldlt.32','vldgt.32','vldle.32', + 'vldeq.64','vldne.64','vldcs.64','vldhs.64','vldcc.64','vldlo.64','vldmi.64','vldpl.64','vldvs.64','vldvc.64','vldhi.64','vldls.64','vldge.64','vldlt.64','vldgt.64','vldle.64', + + 'vld1eq.8','vld1ne.8','vld1cs.8','vld1hs.8','vld1cc.8','vld1lo.8','vld1mi.8','vld1pl.8','vld1vs.8','vld1vc.8','vld1hi.8','vld1ls.8','vld1ge.8','vld1lt.8','vld1gt.8','vld1le.8', + 'vld1eq.16','vld1ne.16','vld1cs.16','vld1hs.16','vld1cc.16','vld1lo.16','vld1mi.16','vld1pl.16','vld1vs.16','vld1vc.16','vld1hi.16','vld1ls.16','vld1ge.16','vld1lt.16','vld1gt.16','vld1le.16', + 'vld1eq.32','vld1ne.32','vld1cs.32','vld1hs.32','vld1cc.32','vld1lo.32','vld1mi.32','vld1pl.32','vld1vs.32','vld1vc.32','vld1hi.32','vld1ls.32','vld1ge.32','vld1lt.32','vld1gt.32','vld1le.32', + + 'vld2eq.8','vld2ne.8','vld2cs.8','vld2hs.8','vld2cc.8','vld2lo.8','vld2mi.8','vld2pl.8','vld2vs.8','vld2vc.8','vld2hi.8','vld2ls.8','vld2ge.8','vld2lt.8','vld2gt.8','vld2le.8', + 'vld2eq.16','vld2ne.16','vld2cs.16','vld2hs.16','vld2cc.16','vld2lo.16','vld2mi.16','vld2pl.16','vld2vs.16','vld2vc.16','vld2hi.16','vld2ls.16','vld2ge.16','vld2lt.16','vld2gt.16','vld2le.16', + 'vld2eq.32','vld2ne.32','vld2cs.32','vld2hs.32','vld2cc.32','vld2lo.32','vld2mi.32','vld2pl.32','vld2vs.32','vld2vc.32','vld2hi.32','vld2ls.32','vld2ge.32','vld2lt.32','vld2gt.32','vld2le.32', + + 'vld3eq.8','vld3ne.8','vld3cs.8','vld3hs.8','vld3cc.8','vld3lo.8','vld3mi.8','vld3pl.8','vld3vs.8','vld3vc.8','vld3hi.8','vld3ls.8','vld3ge.8','vld3lt.8','vld3gt.8','vld3le.8', + 'vld3eq.16','vld3ne.16','vld3cs.16','vld3hs.16','vld3cc.16','vld3lo.16','vld3mi.16','vld3pl.16','vld3vs.16','vld3vc.16','vld3hi.16','vld3ls.16','vld3ge.16','vld3lt.16','vld3gt.16','vld3le.16', + 'vld3eq.32','vld3ne.32','vld3cs.32','vld3hs.32','vld3cc.32','vld3lo.32','vld3mi.32','vld3pl.32','vld3vs.32','vld3vc.32','vld3hi.32','vld3ls.32','vld3ge.32','vld3lt.32','vld3gt.32','vld3le.32', + + 'vld4eq.8','vld4ne.8','vld4cs.8','vld4hs.8','vld4cc.8','vld4lo.8','vld4mi.8','vld4pl.8','vld4vs.8','vld4vc.8','vld4hi.8','vld4ls.8','vld4ge.8','vld4lt.8','vld4gt.8','vld4le.8', + 'vld4eq.16','vld4ne.16','vld4cs.16','vld4hs.16','vld4cc.16','vld4lo.16','vld4mi.16','vld4pl.16','vld4vs.16','vld4vc.16','vld4hi.16','vld4ls.16','vld4ge.16','vld4lt.16','vld4gt.16','vld4le.16', + 'vld4eq.32','vld4ne.32','vld4cs.32','vld4hs.32','vld4cc.32','vld4lo.32','vld4mi.32','vld4pl.32','vld4vs.32','vld4vc.32','vld4hi.32','vld4ls.32','vld4ge.32','vld4lt.32','vld4gt.32','vld4le.32', + + 'vldmeq','vldmne','vldmcs','vldmhs','vldmcc','vldmlo','vldmmi','vldmpl','vldmvs','vldmvc','vldmhi','vldmls','vldmge','vldmlt','vldmgt','vldmle', + 'vldmeq.32','vldmne.32','vldmcs.32','vldmhs.32','vldmcc.32','vldmlo.32','vldmmi.32','vldmpl.32','vldmvs.32','vldmvc.32','vldmhi.32','vldmls.32','vldmge.32','vldmlt.32','vldmgt.32','vldmle.32', + 'vldmeq.64','vldmne.64','vldmcs.64','vldmhs.64','vldmcc.64','vldmlo.64','vldmmi.64','vldmpl.64','vldmvs.64','vldmvc.64','vldmhi.64','vldmls.64','vldmge.64','vldmlt.64','vldmgt.64','vldmle.64', + + 'vldmiaeq','vldmiane','vldmiacs','vldmiahs','vldmiacc','vldmialo','vldmiami','vldmiapl','vldmiavs','vldmiavc','vldmiahi','vldmials','vldmiage','vldmialt','vldmiagt','vldmiale', + 'vldmiaeq.32','vldmiane.32','vldmiacs.32','vldmiahs.32','vldmiacc.32','vldmialo.32','vldmiami.32','vldmiapl.32','vldmiavs.32','vldmiavc.32','vldmiahi.32','vldmials.32','vldmiage.32','vldmialt.32','vldmiagt.32','vldmiale.32', + 'vldmiaeq.64','vldmiane.64','vldmiacs.64','vldmiahs.64','vldmiacc.64','vldmialo.64','vldmiami.64','vldmiapl.64','vldmiavs.64','vldmiavc.64','vldmiahi.64','vldmials.64','vldmiage.64','vldmialt.64','vldmiagt.64','vldmiale.64', + + 'vldmdbeq','vldmdbne','vldmdbcs','vldmdbhs','vldmdbcc','vldmdblo','vldmdbmi','vldmdbpl','vldmdbvs','vldmdbvc','vldmdbhi','vldmdbls','vldmdbge','vldmdblt','vldmdbgt','vldmdble', + 'vldmdbeq.32','vldmdbne.32','vldmdbcs.32','vldmdbhs.32','vldmdbcc.32','vldmdblo.32','vldmdbmi.32','vldmdbpl.32','vldmdbvs.32','vldmdbvc.32','vldmdbhi.32','vldmdbls.32','vldmdbge.32','vldmdblt.32','vldmdbgt.32','vldmdble.32', + 'vldmdbeq.64','vldmdbne.64','vldmdbcs.64','vldmdbhs.64','vldmdbcc.64','vldmdblo.64','vldmdbmi.64','vldmdbpl.64','vldmdbvs.64','vldmdbvc.64','vldmdbhi.64','vldmdbls.64','vldmdbge.64','vldmdblt.64','vldmdbgt.64','vldmdble.64', + + 'vldreq','vldrne','vldrcs','vldrhs','vldrcc','vldrlo','vldrmi','vldrpl','vldrvs','vldrvc','vldrhi','vldrls','vldrge','vldrlt','vldrgt','vldrle', + 'vldreq.32','vldrne.32','vldrcs.32','vldrhs.32','vldrcc.32','vldrlo.32','vldrmi.32','vldrpl.32','vldrvs.32','vldrvc.32','vldrhi.32','vldrls.32','vldrge.32','vldrlt.32','vldrgt.32','vldrle.32', + 'vldreq.64','vldrne.64','vldrcs.64','vldrhs.64','vldrcc.64','vldrlo.64','vldrmi.64','vldrpl.64','vldrvs.64','vldrvc.64','vldrhi.64','vldrls.64','vldrge.64','vldrlt.64','vldrgt.64','vldrle.64', + + 'vpopeq','vpopne','vpopcs','vpophs','vpopcc','vpoplo','vpopmi','vpoppl','vpopvs','vpopvc','vpophi','vpopls','vpopge','vpoplt','vpopgt','vpople', + 'vpopeq.32','vpopne.32','vpopcs.32','vpophs.32','vpopcc.32','vpoplo.32','vpopmi.32','vpoppl.32','vpopvs.32','vpopvc.32','vpophi.32','vpopls.32','vpopge.32','vpoplt.32','vpopgt.32','vpople.32', + 'vpopeq.64','vpopne.64','vpopcs.64','vpophs.64','vpopcc.64','vpoplo.64','vpopmi.64','vpoppl.64','vpopvs.64','vpopvc.64','vpophi.64','vpopls.64','vpopge.64','vpoplt.64','vpopgt.64','vpople.64', + + /* Conditional VFPv3 & NEON SIMD Memory Access: Stores */ + 'vst1eq.8','vst1ne.8','vst1cs.8','vst1hs.8','vst1cc.8','vst1lo.8','vst1mi.8','vst1pl.8','vst1vs.8','vst1vc.8','vst1hi.8','vst1ls.8','vst1ge.8','vst1lt.8','vst1gt.8','vst1le.8', + 'vst1eq.16','vst1ne.16','vst1cs.16','vst1hs.16','vst1cc.16','vst1lo.16','vst1mi.16','vst1pl.16','vst1vs.16','vst1vc.16','vst1hi.16','vst1ls.16','vst1ge.16','vst1lt.16','vst1gt.16','vst1le.16', + 'vst1eq.32','vst1ne.32','vst1cs.32','vst1hs.32','vst1cc.32','vst1lo.32','vst1mi.32','vst1pl.32','vst1vs.32','vst1vc.32','vst1hi.32','vst1ls.32','vst1ge.32','vst1lt.32','vst1gt.32','vst1le.32', + 'vst1eq.64','vst1ne.64','vst1cs.64','vst1hs.64','vst1cc.64','vst1lo.64','vst1mi.64','vst1pl.64','vst1vs.64','vst1vc.64','vst1hi.64','vst1ls.64','vst1ge.64','vst1lt.64','vst1gt.64','vst1le.64', + + 'vst2eq.8','vst2ne.8','vst2cs.8','vst2hs.8','vst2cc.8','vst2lo.8','vst2mi.8','vst2pl.8','vst2vs.8','vst2vc.8','vst2hi.8','vst2ls.8','vst2ge.8','vst2lt.8','vst2gt.8','vst2le.8', + 'vst2eq.16','vst2ne.16','vst2cs.16','vst2hs.16','vst2cc.16','vst2lo.16','vst2mi.16','vst2pl.16','vst2vs.16','vst2vc.16','vst2hi.16','vst2ls.16','vst2ge.16','vst2lt.16','vst2gt.16','vst2le.16', + 'vst2eq.32','vst2ne.32','vst2cs.32','vst2hs.32','vst2cc.32','vst2lo.32','vst2mi.32','vst2pl.32','vst2vs.32','vst2vc.32','vst2hi.32','vst2ls.32','vst2ge.32','vst2lt.32','vst2gt.32','vst2le.32', + + 'vst3eq.8','vst3ne.8','vst3cs.8','vst3hs.8','vst3cc.8','vst3lo.8','vst3mi.8','vst3pl.8','vst3vs.8','vst3vc.8','vst3hi.8','vst3ls.8','vst3ge.8','vst3lt.8','vst3gt.8','vst3le.8', + 'vst3eq.16','vst3ne.16','vst3cs.16','vst3hs.16','vst3cc.16','vst3lo.16','vst3mi.16','vst3pl.16','vst3vs.16','vst3vc.16','vst3hi.16','vst3ls.16','vst3ge.16','vst3lt.16','vst3gt.16','vst3le.16', + 'vst3eq.32','vst3ne.32','vst3cs.32','vst3hs.32','vst3cc.32','vst3lo.32','vst3mi.32','vst3pl.32','vst3vs.32','vst3vc.32','vst3hi.32','vst3ls.32','vst3ge.32','vst3lt.32','vst3gt.32','vst3le.32', + + 'vst4eq.8','vst4ne.8','vst4cs.8','vst4hs.8','vst4cc.8','vst4lo.8','vst4mi.8','vst4pl.8','vst4vs.8','vst4vc.8','vst4hi.8','vst4ls.8','vst4ge.8','vst4lt.8','vst4gt.8','vst4le.8', + 'vst4eq.16','vst4ne.16','vst4cs.16','vst4hs.16','vst4cc.16','vst4lo.16','vst4mi.16','vst4pl.16','vst4vs.16','vst4vc.16','vst4hi.16','vst4ls.16','vst4ge.16','vst4lt.16','vst4gt.16','vst4le.16', + 'vst4eq.32','vst4ne.32','vst4cs.32','vst4hs.32','vst4cc.32','vst4lo.32','vst4mi.32','vst4pl.32','vst4vs.32','vst4vc.32','vst4hi.32','vst4ls.32','vst4ge.32','vst4lt.32','vst4gt.32','vst4le.32', + + 'vstmeq','vstmne','vstmcs','vstmhs','vstmcc','vstmlo','vstmmi','vstmpl','vstmvs','vstmvc','vstmhi','vstmls','vstmge','vstmlt','vstmgt','vstmle', + 'vstmeq.32','vstmne.32','vstmcs.32','vstmhs.32','vstmcc.32','vstmlo.32','vstmmi.32','vstmpl.32','vstmvs.32','vstmvc.32','vstmhi.32','vstmls.32','vstmge.32','vstmlt.32','vstmgt.32','vstmle.32', + 'vstmeq.64','vstmne.64','vstmcs.64','vstmhs.64','vstmcc.64','vstmlo.64','vstmmi.64','vstmpl.64','vstmvs.64','vstmvc.64','vstmhi.64','vstmls.64','vstmge.64','vstmlt.64','vstmgt.64','vstmle.64', + + 'vstmiaeq','vstmiane','vstmiacs','vstmiahs','vstmiacc','vstmialo','vstmiami','vstmiapl','vstmiavs','vstmiavc','vstmiahi','vstmials','vstmiage','vstmialt','vstmiagt','vstmiale', + 'vstmiaeq.32','vstmiane.32','vstmiacs.32','vstmiahs.32','vstmiacc.32','vstmialo.32','vstmiami.32','vstmiapl.32','vstmiavs.32','vstmiavc.32','vstmiahi.32','vstmials.32','vstmiage.32','vstmialt.32','vstmiagt.32','vstmiale.32', + 'vstmiaeq.64','vstmiane.64','vstmiacs.64','vstmiahs.64','vstmiacc.64','vstmialo.64','vstmiami.64','vstmiapl.64','vstmiavs.64','vstmiavc.64','vstmiahi.64','vstmials.64','vstmiage.64','vstmialt.64','vstmiagt.64','vstmiale.64', + + 'vstmdbeq','vstmdbne','vstmdbcs','vstmdbhs','vstmdbcc','vstmdblo','vstmdbmi','vstmdbpl','vstmdbvs','vstmdbvc','vstmdbhi','vstmdbls','vstmdbge','vstmdblt','vstmdbgt','vstmdble', + 'vstmdbeq.32','vstmdbne.32','vstmdbcs.32','vstmdbhs.32','vstmdbcc.32','vstmdblo.32','vstmdbmi.32','vstmdbpl.32','vstmdbvs.32','vstmdbvc.32','vstmdbhi.32','vstmdbls.32','vstmdbge.32','vstmdblt.32','vstmdbgt.32','vstmdble.32', + 'vstmdbeq.64','vstmdbne.64','vstmdbcs.64','vstmdbhs.64','vstmdbcc.64','vstmdblo.64','vstmdbmi.64','vstmdbpl.64','vstmdbvs.64','vstmdbvc.64','vstmdbhi.64','vstmdbls.64','vstmdbge.64','vstmdblt.64','vstmdbgt.64','vstmdble.64', + + 'vstreq','vstrne','vstrcs','vstrhs','vstrcc','vstrlo','vstrmi','vstrpl','vstrvs','vstrvc','vstrhi','vstrls','vstrge','vstrlt','vstrgt','vstrle', + 'vstreq.32','vstrne.32','vstrcs.32','vstrhs.32','vstrcc.32','vstrlo.32','vstrmi.32','vstrpl.32','vstrvs.32','vstrvc.32','vstrhi.32','vstrls.32','vstrge.32','vstrlt.32','vstrgt.32','vstrle.32', + 'vstreq.64','vstrne.64','vstrcs.64','vstrhs.64','vstrcc.64','vstrlo.64','vstrmi.64','vstrpl.64','vstrvs.64','vstrvc.64','vstrhi.64','vstrls.64','vstrge.64','vstrlt.64','vstrgt.64','vstrle.64', + + 'vpusheq','vpushne','vpushcs','vpushhs','vpushcc','vpushlo','vpushmi','vpushpl','vpushvs','vpushvc','vpushhi','vpushls','vpushge','vpushlt','vpushgt','vpushle', + 'vpusheq.32','vpushne.32','vpushcs.32','vpushhs.32','vpushcc.32','vpushlo.32','vpushmi.32','vpushpl.32','vpushvs.32','vpushvc.32','vpushhi.32','vpushls.32','vpushge.32','vpushlt.32','vpushgt.32','vpushle.32', + 'vpusheq.64','vpushne.64','vpushcs.64','vpushhs.64','vpushcc.64','vpushlo.64','vpushmi.64','vpushpl.64','vpushvs.64','vpushvc.64','vpushhi.64','vpushls.64','vpushge.64','vpushlt.64','vpushgt.64','vpushle.64' + ), + /* Conditional NEON SIMD Logical Instructions */ + 28 => array( + 'vandeq','vandne','vandcs','vandhs','vandcc','vandlo','vandmi','vandpl','vandvs','vandvc','vandhi','vandls','vandge','vandlt','vandgt','vandle', + 'vandeq.i8','vandne.i8','vandcs.i8','vandhs.i8','vandcc.i8','vandlo.i8','vandmi.i8','vandpl.i8','vandvs.i8','vandvc.i8','vandhi.i8','vandls.i8','vandge.i8','vandlt.i8','vandgt.i8','vandle.i8', + 'vandeq.i16','vandne.i16','vandcs.i16','vandhs.i16','vandcc.i16','vandlo.i16','vandmi.i16','vandpl.i16','vandvs.i16','vandvc.i16','vandhi.i16','vandls.i16','vandge.i16','vandlt.i16','vandgt.i16','vandle.i16', + 'vandeq.i32','vandne.i32','vandcs.i32','vandhs.i32','vandcc.i32','vandlo.i32','vandmi.i32','vandpl.i32','vandvs.i32','vandvc.i32','vandhi.i32','vandls.i32','vandge.i32','vandlt.i32','vandgt.i32','vandle.i32', + 'vandeq.i64','vandne.i64','vandcs.i64','vandhs.i64','vandcc.i64','vandlo.i64','vandmi.i64','vandpl.i64','vandvs.i64','vandvc.i64','vandhi.i64','vandls.i64','vandge.i64','vandlt.i64','vandgt.i64','vandle.i64', + 'vandeq.s8','vandne.s8','vandcs.s8','vandhs.s8','vandcc.s8','vandlo.s8','vandmi.s8','vandpl.s8','vandvs.s8','vandvc.s8','vandhi.s8','vandls.s8','vandge.s8','vandlt.s8','vandgt.s8','vandle.s8', + 'vandeq.s16','vandne.s16','vandcs.s16','vandhs.s16','vandcc.s16','vandlo.s16','vandmi.s16','vandpl.s16','vandvs.s16','vandvc.s16','vandhi.s16','vandls.s16','vandge.s16','vandlt.s16','vandgt.s16','vandle.s16', + 'vandeq.s32','vandne.s32','vandcs.s32','vandhs.s32','vandcc.s32','vandlo.s32','vandmi.s32','vandpl.s32','vandvs.s32','vandvc.s32','vandhi.s32','vandls.s32','vandge.s32','vandlt.s32','vandgt.s32','vandle.s32', + 'vandeq.s64','vandne.s64','vandcs.s64','vandhs.s64','vandcc.s64','vandlo.s64','vandmi.s64','vandpl.s64','vandvs.s64','vandvc.s64','vandhi.s64','vandls.s64','vandge.s64','vandlt.s64','vandgt.s64','vandle.s64', + 'vandeq.u8','vandne.u8','vandcs.u8','vandhs.u8','vandcc.u8','vandlo.u8','vandmi.u8','vandpl.u8','vandvs.u8','vandvc.u8','vandhi.u8','vandls.u8','vandge.u8','vandlt.u8','vandgt.u8','vandle.u8', + 'vandeq.u16','vandne.u16','vandcs.u16','vandhs.u16','vandcc.u16','vandlo.u16','vandmi.u16','vandpl.u16','vandvs.u16','vandvc.u16','vandhi.u16','vandls.u16','vandge.u16','vandlt.u16','vandgt.u16','vandle.u16', + 'vandeq.u32','vandne.u32','vandcs.u32','vandhs.u32','vandcc.u32','vandlo.u32','vandmi.u32','vandpl.u32','vandvs.u32','vandvc.u32','vandhi.u32','vandls.u32','vandge.u32','vandlt.u32','vandgt.u32','vandle.u32', + 'vandeq.u64','vandne.u64','vandcs.u64','vandhs.u64','vandcc.u64','vandlo.u64','vandmi.u64','vandpl.u64','vandvs.u64','vandvc.u64','vandhi.u64','vandls.u64','vandge.u64','vandlt.u64','vandgt.u64','vandle.u64', + 'vandeq.f32','vandne.f32','vandcs.f32','vandhs.f32','vandcc.f32','vandlo.f32','vandmi.f32','vandpl.f32','vandvs.f32','vandvc.f32','vandhi.f32','vandls.f32','vandge.f32','vandlt.f32','vandgt.f32','vandle.f32', + 'vandeq.f64','vandne.f64','vandcs.f64','vandhs.f64','vandcc.f64','vandlo.f64','vandmi.f64','vandpl.f64','vandvs.f64','vandvc.f64','vandhi.f64','vandls.f64','vandge.f64','vandlt.f64','vandgt.f64','vandle.f64', + + 'vbiceq','vbicne','vbiccs','vbichs','vbiccc','vbiclo','vbicmi','vbicpl','vbicvs','vbicvc','vbichi','vbicls','vbicge','vbiclt','vbicgt','vbicle', + 'vbiceq.i8','vbicne.i8','vbiccs.i8','vbichs.i8','vbiccc.i8','vbiclo.i8','vbicmi.i8','vbicpl.i8','vbicvs.i8','vbicvc.i8','vbichi.i8','vbicls.i8','vbicge.i8','vbiclt.i8','vbicgt.i8','vbicle.i8', + 'vbiceq.i16','vbicne.i16','vbiccs.i16','vbichs.i16','vbiccc.i16','vbiclo.i16','vbicmi.i16','vbicpl.i16','vbicvs.i16','vbicvc.i16','vbichi.i16','vbicls.i16','vbicge.i16','vbiclt.i16','vbicgt.i16','vbicle.i16', + 'vbiceq.i32','vbicne.i32','vbiccs.i32','vbichs.i32','vbiccc.i32','vbiclo.i32','vbicmi.i32','vbicpl.i32','vbicvs.i32','vbicvc.i32','vbichi.i32','vbicls.i32','vbicge.i32','vbiclt.i32','vbicgt.i32','vbicle.i32', + 'vbiceq.i64','vbicne.i64','vbiccs.i64','vbichs.i64','vbiccc.i64','vbiclo.i64','vbicmi.i64','vbicpl.i64','vbicvs.i64','vbicvc.i64','vbichi.i64','vbicls.i64','vbicge.i64','vbiclt.i64','vbicgt.i64','vbicle.i64', + 'vbiceq.s8','vbicne.s8','vbiccs.s8','vbichs.s8','vbiccc.s8','vbiclo.s8','vbicmi.s8','vbicpl.s8','vbicvs.s8','vbicvc.s8','vbichi.s8','vbicls.s8','vbicge.s8','vbiclt.s8','vbicgt.s8','vbicle.s8', + 'vbiceq.s16','vbicne.s16','vbiccs.s16','vbichs.s16','vbiccc.s16','vbiclo.s16','vbicmi.s16','vbicpl.s16','vbicvs.s16','vbicvc.s16','vbichi.s16','vbicls.s16','vbicge.s16','vbiclt.s16','vbicgt.s16','vbicle.s16', + 'vbiceq.s32','vbicne.s32','vbiccs.s32','vbichs.s32','vbiccc.s32','vbiclo.s32','vbicmi.s32','vbicpl.s32','vbicvs.s32','vbicvc.s32','vbichi.s32','vbicls.s32','vbicge.s32','vbiclt.s32','vbicgt.s32','vbicle.s32', + 'vbiceq.s64','vbicne.s64','vbiccs.s64','vbichs.s64','vbiccc.s64','vbiclo.s64','vbicmi.s64','vbicpl.s64','vbicvs.s64','vbicvc.s64','vbichi.s64','vbicls.s64','vbicge.s64','vbiclt.s64','vbicgt.s64','vbicle.s64', + 'vbiceq.u8','vbicne.u8','vbiccs.u8','vbichs.u8','vbiccc.u8','vbiclo.u8','vbicmi.u8','vbicpl.u8','vbicvs.u8','vbicvc.u8','vbichi.u8','vbicls.u8','vbicge.u8','vbiclt.u8','vbicgt.u8','vbicle.u8', + 'vbiceq.u16','vbicne.u16','vbiccs.u16','vbichs.u16','vbiccc.u16','vbiclo.u16','vbicmi.u16','vbicpl.u16','vbicvs.u16','vbicvc.u16','vbichi.u16','vbicls.u16','vbicge.u16','vbiclt.u16','vbicgt.u16','vbicle.u16', + 'vbiceq.u32','vbicne.u32','vbiccs.u32','vbichs.u32','vbiccc.u32','vbiclo.u32','vbicmi.u32','vbicpl.u32','vbicvs.u32','vbicvc.u32','vbichi.u32','vbicls.u32','vbicge.u32','vbiclt.u32','vbicgt.u32','vbicle.u32', + 'vbiceq.u64','vbicne.u64','vbiccs.u64','vbichs.u64','vbiccc.u64','vbiclo.u64','vbicmi.u64','vbicpl.u64','vbicvs.u64','vbicvc.u64','vbichi.u64','vbicls.u64','vbicge.u64','vbiclt.u64','vbicgt.u64','vbicle.u64', + 'vbiceq.f32','vbicne.f32','vbiccs.f32','vbichs.f32','vbiccc.f32','vbiclo.f32','vbicmi.f32','vbicpl.f32','vbicvs.f32','vbicvc.f32','vbichi.f32','vbicls.f32','vbicge.f32','vbiclt.f32','vbicgt.f32','vbicle.f32', + 'vbiceq.f64','vbicne.f64','vbiccs.f64','vbichs.f64','vbiccc.f64','vbiclo.f64','vbicmi.f64','vbicpl.f64','vbicvs.f64','vbicvc.f64','vbichi.f64','vbicls.f64','vbicge.f64','vbiclt.f64','vbicgt.f64','vbicle.f64', + + 'vbifeq','vbifne','vbifcs','vbifhs','vbifcc','vbiflo','vbifmi','vbifpl','vbifvs','vbifvc','vbifhi','vbifls','vbifge','vbiflt','vbifgt','vbifle', + 'vbifeq.i8','vbifne.i8','vbifcs.i8','vbifhs.i8','vbifcc.i8','vbiflo.i8','vbifmi.i8','vbifpl.i8','vbifvs.i8','vbifvc.i8','vbifhi.i8','vbifls.i8','vbifge.i8','vbiflt.i8','vbifgt.i8','vbifle.i8', + 'vbifeq.i16','vbifne.i16','vbifcs.i16','vbifhs.i16','vbifcc.i16','vbiflo.i16','vbifmi.i16','vbifpl.i16','vbifvs.i16','vbifvc.i16','vbifhi.i16','vbifls.i16','vbifge.i16','vbiflt.i16','vbifgt.i16','vbifle.i16', + 'vbifeq.i32','vbifne.i32','vbifcs.i32','vbifhs.i32','vbifcc.i32','vbiflo.i32','vbifmi.i32','vbifpl.i32','vbifvs.i32','vbifvc.i32','vbifhi.i32','vbifls.i32','vbifge.i32','vbiflt.i32','vbifgt.i32','vbifle.i32', + 'vbifeq.i64','vbifne.i64','vbifcs.i64','vbifhs.i64','vbifcc.i64','vbiflo.i64','vbifmi.i64','vbifpl.i64','vbifvs.i64','vbifvc.i64','vbifhi.i64','vbifls.i64','vbifge.i64','vbiflt.i64','vbifgt.i64','vbifle.i64', + 'vbifeq.s8','vbifne.s8','vbifcs.s8','vbifhs.s8','vbifcc.s8','vbiflo.s8','vbifmi.s8','vbifpl.s8','vbifvs.s8','vbifvc.s8','vbifhi.s8','vbifls.s8','vbifge.s8','vbiflt.s8','vbifgt.s8','vbifle.s8', + 'vbifeq.s16','vbifne.s16','vbifcs.s16','vbifhs.s16','vbifcc.s16','vbiflo.s16','vbifmi.s16','vbifpl.s16','vbifvs.s16','vbifvc.s16','vbifhi.s16','vbifls.s16','vbifge.s16','vbiflt.s16','vbifgt.s16','vbifle.s16', + 'vbifeq.s32','vbifne.s32','vbifcs.s32','vbifhs.s32','vbifcc.s32','vbiflo.s32','vbifmi.s32','vbifpl.s32','vbifvs.s32','vbifvc.s32','vbifhi.s32','vbifls.s32','vbifge.s32','vbiflt.s32','vbifgt.s32','vbifle.s32', + 'vbifeq.s64','vbifne.s64','vbifcs.s64','vbifhs.s64','vbifcc.s64','vbiflo.s64','vbifmi.s64','vbifpl.s64','vbifvs.s64','vbifvc.s64','vbifhi.s64','vbifls.s64','vbifge.s64','vbiflt.s64','vbifgt.s64','vbifle.s64', + 'vbifeq.u8','vbifne.u8','vbifcs.u8','vbifhs.u8','vbifcc.u8','vbiflo.u8','vbifmi.u8','vbifpl.u8','vbifvs.u8','vbifvc.u8','vbifhi.u8','vbifls.u8','vbifge.u8','vbiflt.u8','vbifgt.u8','vbifle.u8', + 'vbifeq.u16','vbifne.u16','vbifcs.u16','vbifhs.u16','vbifcc.u16','vbiflo.u16','vbifmi.u16','vbifpl.u16','vbifvs.u16','vbifvc.u16','vbifhi.u16','vbifls.u16','vbifge.u16','vbiflt.u16','vbifgt.u16','vbifle.u16', + 'vbifeq.u32','vbifne.u32','vbifcs.u32','vbifhs.u32','vbifcc.u32','vbiflo.u32','vbifmi.u32','vbifpl.u32','vbifvs.u32','vbifvc.u32','vbifhi.u32','vbifls.u32','vbifge.u32','vbiflt.u32','vbifgt.u32','vbifle.u32', + 'vbifeq.u64','vbifne.u64','vbifcs.u64','vbifhs.u64','vbifcc.u64','vbiflo.u64','vbifmi.u64','vbifpl.u64','vbifvs.u64','vbifvc.u64','vbifhi.u64','vbifls.u64','vbifge.u64','vbiflt.u64','vbifgt.u64','vbifle.u64', + 'vbifeq.f32','vbifne.f32','vbifcs.f32','vbifhs.f32','vbifcc.f32','vbiflo.f32','vbifmi.f32','vbifpl.f32','vbifvs.f32','vbifvc.f32','vbifhi.f32','vbifls.f32','vbifge.f32','vbiflt.f32','vbifgt.f32','vbifle.f32', + 'vbifeq.f64','vbifne.f64','vbifcs.f64','vbifhs.f64','vbifcc.f64','vbiflo.f64','vbifmi.f64','vbifpl.f64','vbifvs.f64','vbifvc.f64','vbifhi.f64','vbifls.f64','vbifge.f64','vbiflt.f64','vbifgt.f64','vbifle.f64', + + 'vbiteq','vbitne','vbitcs','vbiths','vbitcc','vbitlo','vbitmi','vbitpl','vbitvs','vbitvc','vbithi','vbitls','vbitge','vbitlt','vbitgt','vbitle', + 'vbiteq.i8','vbitne.i8','vbitcs.i8','vbiths.i8','vbitcc.i8','vbitlo.i8','vbitmi.i8','vbitpl.i8','vbitvs.i8','vbitvc.i8','vbithi.i8','vbitls.i8','vbitge.i8','vbitlt.i8','vbitgt.i8','vbitle.i8', + 'vbiteq.i16','vbitne.i16','vbitcs.i16','vbiths.i16','vbitcc.i16','vbitlo.i16','vbitmi.i16','vbitpl.i16','vbitvs.i16','vbitvc.i16','vbithi.i16','vbitls.i16','vbitge.i16','vbitlt.i16','vbitgt.i16','vbitle.i16', + 'vbiteq.i32','vbitne.i32','vbitcs.i32','vbiths.i32','vbitcc.i32','vbitlo.i32','vbitmi.i32','vbitpl.i32','vbitvs.i32','vbitvc.i32','vbithi.i32','vbitls.i32','vbitge.i32','vbitlt.i32','vbitgt.i32','vbitle.i32', + 'vbiteq.i64','vbitne.i64','vbitcs.i64','vbiths.i64','vbitcc.i64','vbitlo.i64','vbitmi.i64','vbitpl.i64','vbitvs.i64','vbitvc.i64','vbithi.i64','vbitls.i64','vbitge.i64','vbitlt.i64','vbitgt.i64','vbitle.i64', + 'vbiteq.s8','vbitne.s8','vbitcs.s8','vbiths.s8','vbitcc.s8','vbitlo.s8','vbitmi.s8','vbitpl.s8','vbitvs.s8','vbitvc.s8','vbithi.s8','vbitls.s8','vbitge.s8','vbitlt.s8','vbitgt.s8','vbitle.s8', + 'vbiteq.s16','vbitne.s16','vbitcs.s16','vbiths.s16','vbitcc.s16','vbitlo.s16','vbitmi.s16','vbitpl.s16','vbitvs.s16','vbitvc.s16','vbithi.s16','vbitls.s16','vbitge.s16','vbitlt.s16','vbitgt.s16','vbitle.s16', + 'vbiteq.s32','vbitne.s32','vbitcs.s32','vbiths.s32','vbitcc.s32','vbitlo.s32','vbitmi.s32','vbitpl.s32','vbitvs.s32','vbitvc.s32','vbithi.s32','vbitls.s32','vbitge.s32','vbitlt.s32','vbitgt.s32','vbitle.s32', + 'vbiteq.s64','vbitne.s64','vbitcs.s64','vbiths.s64','vbitcc.s64','vbitlo.s64','vbitmi.s64','vbitpl.s64','vbitvs.s64','vbitvc.s64','vbithi.s64','vbitls.s64','vbitge.s64','vbitlt.s64','vbitgt.s64','vbitle.s64', + 'vbiteq.u8','vbitne.u8','vbitcs.u8','vbiths.u8','vbitcc.u8','vbitlo.u8','vbitmi.u8','vbitpl.u8','vbitvs.u8','vbitvc.u8','vbithi.u8','vbitls.u8','vbitge.u8','vbitlt.u8','vbitgt.u8','vbitle.u8', + 'vbiteq.u16','vbitne.u16','vbitcs.u16','vbiths.u16','vbitcc.u16','vbitlo.u16','vbitmi.u16','vbitpl.u16','vbitvs.u16','vbitvc.u16','vbithi.u16','vbitls.u16','vbitge.u16','vbitlt.u16','vbitgt.u16','vbitle.u16', + 'vbiteq.u32','vbitne.u32','vbitcs.u32','vbiths.u32','vbitcc.u32','vbitlo.u32','vbitmi.u32','vbitpl.u32','vbitvs.u32','vbitvc.u32','vbithi.u32','vbitls.u32','vbitge.u32','vbitlt.u32','vbitgt.u32','vbitle.u32', + 'vbiteq.u64','vbitne.u64','vbitcs.u64','vbiths.u64','vbitcc.u64','vbitlo.u64','vbitmi.u64','vbitpl.u64','vbitvs.u64','vbitvc.u64','vbithi.u64','vbitls.u64','vbitge.u64','vbitlt.u64','vbitgt.u64','vbitle.u64', + 'vbiteq.f32','vbitne.f32','vbitcs.f32','vbiths.f32','vbitcc.f32','vbitlo.f32','vbitmi.f32','vbitpl.f32','vbitvs.f32','vbitvc.f32','vbithi.f32','vbitls.f32','vbitge.f32','vbitlt.f32','vbitgt.f32','vbitle.f32', + 'vbiteq.f64','vbitne.f64','vbitcs.f64','vbiths.f64','vbitcc.f64','vbitlo.f64','vbitmi.f64','vbitpl.f64','vbitvs.f64','vbitvc.f64','vbithi.f64','vbitls.f64','vbitge.f64','vbitlt.f64','vbitgt.f64','vbitle.f64', + + 'vbsleq','vbslne','vbslcs','vbslhs','vbslcc','vbsllo','vbslmi','vbslpl','vbslvs','vbslvc','vbslhi','vbslls','vbslge','vbsllt','vbslgt','vbslle', + 'vbsleq.i8','vbslne.i8','vbslcs.i8','vbslhs.i8','vbslcc.i8','vbsllo.i8','vbslmi.i8','vbslpl.i8','vbslvs.i8','vbslvc.i8','vbslhi.i8','vbslls.i8','vbslge.i8','vbsllt.i8','vbslgt.i8','vbslle.i8', + 'vbsleq.i16','vbslne.i16','vbslcs.i16','vbslhs.i16','vbslcc.i16','vbsllo.i16','vbslmi.i16','vbslpl.i16','vbslvs.i16','vbslvc.i16','vbslhi.i16','vbslls.i16','vbslge.i16','vbsllt.i16','vbslgt.i16','vbslle.i16', + 'vbsleq.i32','vbslne.i32','vbslcs.i32','vbslhs.i32','vbslcc.i32','vbsllo.i32','vbslmi.i32','vbslpl.i32','vbslvs.i32','vbslvc.i32','vbslhi.i32','vbslls.i32','vbslge.i32','vbsllt.i32','vbslgt.i32','vbslle.i32', + 'vbsleq.i64','vbslne.i64','vbslcs.i64','vbslhs.i64','vbslcc.i64','vbsllo.i64','vbslmi.i64','vbslpl.i64','vbslvs.i64','vbslvc.i64','vbslhi.i64','vbslls.i64','vbslge.i64','vbsllt.i64','vbslgt.i64','vbslle.i64', + 'vbsleq.s8','vbslne.s8','vbslcs.s8','vbslhs.s8','vbslcc.s8','vbsllo.s8','vbslmi.s8','vbslpl.s8','vbslvs.s8','vbslvc.s8','vbslhi.s8','vbslls.s8','vbslge.s8','vbsllt.s8','vbslgt.s8','vbslle.s8', + 'vbsleq.s16','vbslne.s16','vbslcs.s16','vbslhs.s16','vbslcc.s16','vbsllo.s16','vbslmi.s16','vbslpl.s16','vbslvs.s16','vbslvc.s16','vbslhi.s16','vbslls.s16','vbslge.s16','vbsllt.s16','vbslgt.s16','vbslle.s16', + 'vbsleq.s32','vbslne.s32','vbslcs.s32','vbslhs.s32','vbslcc.s32','vbsllo.s32','vbslmi.s32','vbslpl.s32','vbslvs.s32','vbslvc.s32','vbslhi.s32','vbslls.s32','vbslge.s32','vbsllt.s32','vbslgt.s32','vbslle.s32', + 'vbsleq.s64','vbslne.s64','vbslcs.s64','vbslhs.s64','vbslcc.s64','vbsllo.s64','vbslmi.s64','vbslpl.s64','vbslvs.s64','vbslvc.s64','vbslhi.s64','vbslls.s64','vbslge.s64','vbsllt.s64','vbslgt.s64','vbslle.s64', + 'vbsleq.u8','vbslne.u8','vbslcs.u8','vbslhs.u8','vbslcc.u8','vbsllo.u8','vbslmi.u8','vbslpl.u8','vbslvs.u8','vbslvc.u8','vbslhi.u8','vbslls.u8','vbslge.u8','vbsllt.u8','vbslgt.u8','vbslle.u8', + 'vbsleq.u16','vbslne.u16','vbslcs.u16','vbslhs.u16','vbslcc.u16','vbsllo.u16','vbslmi.u16','vbslpl.u16','vbslvs.u16','vbslvc.u16','vbslhi.u16','vbslls.u16','vbslge.u16','vbsllt.u16','vbslgt.u16','vbslle.u16', + 'vbsleq.u32','vbslne.u32','vbslcs.u32','vbslhs.u32','vbslcc.u32','vbsllo.u32','vbslmi.u32','vbslpl.u32','vbslvs.u32','vbslvc.u32','vbslhi.u32','vbslls.u32','vbslge.u32','vbsllt.u32','vbslgt.u32','vbslle.u32', + 'vbsleq.u64','vbslne.u64','vbslcs.u64','vbslhs.u64','vbslcc.u64','vbsllo.u64','vbslmi.u64','vbslpl.u64','vbslvs.u64','vbslvc.u64','vbslhi.u64','vbslls.u64','vbslge.u64','vbsllt.u64','vbslgt.u64','vbslle.u64', + 'vbsleq.f32','vbslne.f32','vbslcs.f32','vbslhs.f32','vbslcc.f32','vbsllo.f32','vbslmi.f32','vbslpl.f32','vbslvs.f32','vbslvc.f32','vbslhi.f32','vbslls.f32','vbslge.f32','vbsllt.f32','vbslgt.f32','vbslle.f32', + 'vbsleq.f64','vbslne.f64','vbslcs.f64','vbslhs.f64','vbslcc.f64','vbsllo.f64','vbslmi.f64','vbslpl.f64','vbslvs.f64','vbslvc.f64','vbslhi.f64','vbslls.f64','vbslge.f64','vbsllt.f64','vbslgt.f64','vbslle.f64', + + 'veoreq','veorne','veorcs','veorhs','veorcc','veorlo','veormi','veorpl','veorvs','veorvc','veorhi','veorls','veorge','veorlt','veorgt','veorle', + 'veoreq.i8','veorne.i8','veorcs.i8','veorhs.i8','veorcc.i8','veorlo.i8','veormi.i8','veorpl.i8','veorvs.i8','veorvc.i8','veorhi.i8','veorls.i8','veorge.i8','veorlt.i8','veorgt.i8','veorle.i8', + 'veoreq.i16','veorne.i16','veorcs.i16','veorhs.i16','veorcc.i16','veorlo.i16','veormi.i16','veorpl.i16','veorvs.i16','veorvc.i16','veorhi.i16','veorls.i16','veorge.i16','veorlt.i16','veorgt.i16','veorle.i16', + 'veoreq.i32','veorne.i32','veorcs.i32','veorhs.i32','veorcc.i32','veorlo.i32','veormi.i32','veorpl.i32','veorvs.i32','veorvc.i32','veorhi.i32','veorls.i32','veorge.i32','veorlt.i32','veorgt.i32','veorle.i32', + 'veoreq.i64','veorne.i64','veorcs.i64','veorhs.i64','veorcc.i64','veorlo.i64','veormi.i64','veorpl.i64','veorvs.i64','veorvc.i64','veorhi.i64','veorls.i64','veorge.i64','veorlt.i64','veorgt.i64','veorle.i64', + 'veoreq.s8','veorne.s8','veorcs.s8','veorhs.s8','veorcc.s8','veorlo.s8','veormi.s8','veorpl.s8','veorvs.s8','veorvc.s8','veorhi.s8','veorls.s8','veorge.s8','veorlt.s8','veorgt.s8','veorle.s8', + 'veoreq.s16','veorne.s16','veorcs.s16','veorhs.s16','veorcc.s16','veorlo.s16','veormi.s16','veorpl.s16','veorvs.s16','veorvc.s16','veorhi.s16','veorls.s16','veorge.s16','veorlt.s16','veorgt.s16','veorle.s16', + 'veoreq.s32','veorne.s32','veorcs.s32','veorhs.s32','veorcc.s32','veorlo.s32','veormi.s32','veorpl.s32','veorvs.s32','veorvc.s32','veorhi.s32','veorls.s32','veorge.s32','veorlt.s32','veorgt.s32','veorle.s32', + 'veoreq.s64','veorne.s64','veorcs.s64','veorhs.s64','veorcc.s64','veorlo.s64','veormi.s64','veorpl.s64','veorvs.s64','veorvc.s64','veorhi.s64','veorls.s64','veorge.s64','veorlt.s64','veorgt.s64','veorle.s64', + 'veoreq.u8','veorne.u8','veorcs.u8','veorhs.u8','veorcc.u8','veorlo.u8','veormi.u8','veorpl.u8','veorvs.u8','veorvc.u8','veorhi.u8','veorls.u8','veorge.u8','veorlt.u8','veorgt.u8','veorle.u8', + 'veoreq.u16','veorne.u16','veorcs.u16','veorhs.u16','veorcc.u16','veorlo.u16','veormi.u16','veorpl.u16','veorvs.u16','veorvc.u16','veorhi.u16','veorls.u16','veorge.u16','veorlt.u16','veorgt.u16','veorle.u16', + 'veoreq.u32','veorne.u32','veorcs.u32','veorhs.u32','veorcc.u32','veorlo.u32','veormi.u32','veorpl.u32','veorvs.u32','veorvc.u32','veorhi.u32','veorls.u32','veorge.u32','veorlt.u32','veorgt.u32','veorle.u32', + 'veoreq.u64','veorne.u64','veorcs.u64','veorhs.u64','veorcc.u64','veorlo.u64','veormi.u64','veorpl.u64','veorvs.u64','veorvc.u64','veorhi.u64','veorls.u64','veorge.u64','veorlt.u64','veorgt.u64','veorle.u64', + 'veoreq.f32','veorne.f32','veorcs.f32','veorhs.f32','veorcc.f32','veorlo.f32','veormi.f32','veorpl.f32','veorvs.f32','veorvc.f32','veorhi.f32','veorls.f32','veorge.f32','veorlt.f32','veorgt.f32','veorle.f32', + 'veoreq.f64','veorne.f64','veorcs.f64','veorhs.f64','veorcc.f64','veorlo.f64','veormi.f64','veorpl.f64','veorvs.f64','veorvc.f64','veorhi.f64','veorls.f64','veorge.f64','veorlt.f64','veorgt.f64','veorle.f64', + + 'vmoveq','vmovne','vmovcs','vmovhs','vmovcc','vmovlo','vmovmi','vmovpl','vmovvs','vmovvc','vmovhi','vmovls','vmovge','vmovlt','vmovgt','vmovle', + 'vmoveq.8','vmovne.8','vmovcs.8','vmovhs.8','vmovcc.8','vmovlo.8','vmovmi.8','vmovpl.8','vmovvs.8','vmovvc.8','vmovhi.8','vmovls.8','vmovge.8','vmovlt.8','vmovgt.8','vmovle.8', + 'vmoveq.16','vmovne.16','vmovcs.16','vmovhs.16','vmovcc.16','vmovlo.16','vmovmi.16','vmovpl.16','vmovvs.16','vmovvc.16','vmovhi.16','vmovls.16','vmovge.16','vmovlt.16','vmovgt.16','vmovle.16', + 'vmoveq.32','vmovne.32','vmovcs.32','vmovhs.32','vmovcc.32','vmovlo.32','vmovmi.32','vmovpl.32','vmovvs.32','vmovvc.32','vmovhi.32','vmovls.32','vmovge.32','vmovlt.32','vmovgt.32','vmovle.32', + 'vmoveq.i8','vmovne.i8','vmovcs.i8','vmovhs.i8','vmovcc.i8','vmovlo.i8','vmovmi.i8','vmovpl.i8','vmovvs.i8','vmovvc.i8','vmovhi.i8','vmovls.i8','vmovge.i8','vmovlt.i8','vmovgt.i8','vmovle.i8', + 'vmoveq.i16','vmovne.i16','vmovcs.i16','vmovhs.i16','vmovcc.i16','vmovlo.i16','vmovmi.i16','vmovpl.i16','vmovvs.i16','vmovvc.i16','vmovhi.i16','vmovls.i16','vmovge.i16','vmovlt.i16','vmovgt.i16','vmovle.i16', + 'vmoveq.i32','vmovne.i32','vmovcs.i32','vmovhs.i32','vmovcc.i32','vmovlo.i32','vmovmi.i32','vmovpl.i32','vmovvs.i32','vmovvc.i32','vmovhi.i32','vmovls.i32','vmovge.i32','vmovlt.i32','vmovgt.i32','vmovle.i32', + 'vmoveq.i64','vmovne.i64','vmovcs.i64','vmovhs.i64','vmovcc.i64','vmovlo.i64','vmovmi.i64','vmovpl.i64','vmovvs.i64','vmovvc.i64','vmovhi.i64','vmovls.i64','vmovge.i64','vmovlt.i64','vmovgt.i64','vmovle.i64', + 'vmoveq.f32','vmovne.f32','vmovcs.f32','vmovhs.f32','vmovcc.f32','vmovlo.f32','vmovmi.f32','vmovpl.f32','vmovvs.f32','vmovvc.f32','vmovhi.f32','vmovls.f32','vmovge.f32','vmovlt.f32','vmovgt.f32','vmovle.f32', + 'vmoveq.f64','vmovne.f64','vmovcs.f64','vmovhs.f64','vmovcc.f64','vmovlo.f64','vmovmi.f64','vmovpl.f64','vmovvs.f64','vmovvc.f64','vmovhi.f64','vmovls.f64','vmovge.f64','vmovlt.f64','vmovgt.f64','vmovle.f64', + + 'vmvneq','vmvnne','vmvncs','vmvnhs','vmvncc','vmvnlo','vmvnmi','vmvnpl','vmvnvs','vmvnvc','vmvnhi','vmvnls','vmvnge','vmvnlt','vmvngt','vmvnle', + 'vmvneq.s8','vmvnne.s8','vmvncs.s8','vmvnhs.s8','vmvncc.s8','vmvnlo.s8','vmvnmi.s8','vmvnpl.s8','vmvnvs.s8','vmvnvc.s8','vmvnhi.s8','vmvnls.s8','vmvnge.s8','vmvnlt.s8','vmvngt.s8','vmvnle.s8', + 'vmvneq.s16','vmvnne.s16','vmvncs.s16','vmvnhs.s16','vmvncc.s16','vmvnlo.s16','vmvnmi.s16','vmvnpl.s16','vmvnvs.s16','vmvnvc.s16','vmvnhi.s16','vmvnls.s16','vmvnge.s16','vmvnlt.s16','vmvngt.s16','vmvnle.s16', + 'vmvneq.s32','vmvnne.s32','vmvncs.s32','vmvnhs.s32','vmvncc.s32','vmvnlo.s32','vmvnmi.s32','vmvnpl.s32','vmvnvs.s32','vmvnvc.s32','vmvnhi.s32','vmvnls.s32','vmvnge.s32','vmvnlt.s32','vmvngt.s32','vmvnle.s32', + 'vmvneq.s64','vmvnne.s64','vmvncs.s64','vmvnhs.s64','vmvncc.s64','vmvnlo.s64','vmvnmi.s64','vmvnpl.s64','vmvnvs.s64','vmvnvc.s64','vmvnhi.s64','vmvnls.s64','vmvnge.s64','vmvnlt.s64','vmvngt.s64','vmvnle.s64', + 'vmvneq.u8','vmvnne.u8','vmvncs.u8','vmvnhs.u8','vmvncc.u8','vmvnlo.u8','vmvnmi.u8','vmvnpl.u8','vmvnvs.u8','vmvnvc.u8','vmvnhi.u8','vmvnls.u8','vmvnge.u8','vmvnlt.u8','vmvngt.u8','vmvnle.u8', + 'vmvneq.u16','vmvnne.u16','vmvncs.u16','vmvnhs.u16','vmvncc.u16','vmvnlo.u16','vmvnmi.u16','vmvnpl.u16','vmvnvs.u16','vmvnvc.u16','vmvnhi.u16','vmvnls.u16','vmvnge.u16','vmvnlt.u16','vmvngt.u16','vmvnle.u16', + 'vmvneq.u32','vmvnne.u32','vmvncs.u32','vmvnhs.u32','vmvncc.u32','vmvnlo.u32','vmvnmi.u32','vmvnpl.u32','vmvnvs.u32','vmvnvc.u32','vmvnhi.u32','vmvnls.u32','vmvnge.u32','vmvnlt.u32','vmvngt.u32','vmvnle.u32', + 'vmvneq.u64','vmvnne.u64','vmvncs.u64','vmvnhs.u64','vmvncc.u64','vmvnlo.u64','vmvnmi.u64','vmvnpl.u64','vmvnvs.u64','vmvnvc.u64','vmvnhi.u64','vmvnls.u64','vmvnge.u64','vmvnlt.u64','vmvngt.u64','vmvnle.u64', + 'vmvneq.i8','vmvnne.i8','vmvncs.i8','vmvnhs.i8','vmvncc.i8','vmvnlo.i8','vmvnmi.i8','vmvnpl.i8','vmvnvs.i8','vmvnvc.i8','vmvnhi.i8','vmvnls.i8','vmvnge.i8','vmvnlt.i8','vmvngt.i8','vmvnle.i8', + 'vmvneq.i16','vmvnne.i16','vmvncs.i16','vmvnhs.i16','vmvncc.i16','vmvnlo.i16','vmvnmi.i16','vmvnpl.i16','vmvnvs.i16','vmvnvc.i16','vmvnhi.i16','vmvnls.i16','vmvnge.i16','vmvnlt.i16','vmvngt.i16','vmvnle.i16', + 'vmvneq.i32','vmvnne.i32','vmvncs.i32','vmvnhs.i32','vmvncc.i32','vmvnlo.i32','vmvnmi.i32','vmvnpl.i32','vmvnvs.i32','vmvnvc.i32','vmvnhi.i32','vmvnls.i32','vmvnge.i32','vmvnlt.i32','vmvngt.i32','vmvnle.i32', + 'vmvneq.i64','vmvnne.i64','vmvncs.i64','vmvnhs.i64','vmvncc.i64','vmvnlo.i64','vmvnmi.i64','vmvnpl.i64','vmvnvs.i64','vmvnvc.i64','vmvnhi.i64','vmvnls.i64','vmvnge.i64','vmvnlt.i64','vmvngt.i64','vmvnle.i64', + 'vmvneq.f32','vmvnne.f32','vmvncs.f32','vmvnhs.f32','vmvncc.f32','vmvnlo.f32','vmvnmi.f32','vmvnpl.f32','vmvnvs.f32','vmvnvc.f32','vmvnhi.f32','vmvnls.f32','vmvnge.f32','vmvnlt.f32','vmvngt.f32','vmvnle.f32', + 'vmvneq.f64','vmvnne.f64','vmvncs.f64','vmvnhs.f64','vmvncc.f64','vmvnlo.f64','vmvnmi.f64','vmvnpl.f64','vmvnvs.f64','vmvnvc.f64','vmvnhi.f64','vmvnls.f64','vmvnge.f64','vmvnlt.f64','vmvngt.f64','vmvnle.f64', + + 'vorneq','vornne','vorncs','vornhs','vorncc','vornlo','vornmi','vornpl','vornvs','vornvc','vornhi','vornls','vornge','vornlt','vorngt','vornle', + 'vorneq.s8','vornne.s8','vorncs.s8','vornhs.s8','vorncc.s8','vornlo.s8','vornmi.s8','vornpl.s8','vornvs.s8','vornvc.s8','vornhi.s8','vornls.s8','vornge.s8','vornlt.s8','vorngt.s8','vornle.s8', + 'vorneq.s16','vornne.s16','vorncs.s16','vornhs.s16','vorncc.s16','vornlo.s16','vornmi.s16','vornpl.s16','vornvs.s16','vornvc.s16','vornhi.s16','vornls.s16','vornge.s16','vornlt.s16','vorngt.s16','vornle.s16', + 'vorneq.s32','vornne.s32','vorncs.s32','vornhs.s32','vorncc.s32','vornlo.s32','vornmi.s32','vornpl.s32','vornvs.s32','vornvc.s32','vornhi.s32','vornls.s32','vornge.s32','vornlt.s32','vorngt.s32','vornle.s32', + 'vorneq.s64','vornne.s64','vorncs.s64','vornhs.s64','vorncc.s64','vornlo.s64','vornmi.s64','vornpl.s64','vornvs.s64','vornvc.s64','vornhi.s64','vornls.s64','vornge.s64','vornlt.s64','vorngt.s64','vornle.s64', + 'vorneq.u8','vornne.u8','vorncs.u8','vornhs.u8','vorncc.u8','vornlo.u8','vornmi.u8','vornpl.u8','vornvs.u8','vornvc.u8','vornhi.u8','vornls.u8','vornge.u8','vornlt.u8','vorngt.u8','vornle.u8', + 'vorneq.u16','vornne.u16','vorncs.u16','vornhs.u16','vorncc.u16','vornlo.u16','vornmi.u16','vornpl.u16','vornvs.u16','vornvc.u16','vornhi.u16','vornls.u16','vornge.u16','vornlt.u16','vorngt.u16','vornle.u16', + 'vorneq.u32','vornne.u32','vorncs.u32','vornhs.u32','vorncc.u32','vornlo.u32','vornmi.u32','vornpl.u32','vornvs.u32','vornvc.u32','vornhi.u32','vornls.u32','vornge.u32','vornlt.u32','vorngt.u32','vornle.u32', + 'vorneq.u64','vornne.u64','vorncs.u64','vornhs.u64','vorncc.u64','vornlo.u64','vornmi.u64','vornpl.u64','vornvs.u64','vornvc.u64','vornhi.u64','vornls.u64','vornge.u64','vornlt.u64','vorngt.u64','vornle.u64', + 'vorneq.i8','vornne.i8','vorncs.i8','vornhs.i8','vorncc.i8','vornlo.i8','vornmi.i8','vornpl.i8','vornvs.i8','vornvc.i8','vornhi.i8','vornls.i8','vornge.i8','vornlt.i8','vorngt.i8','vornle.i8', + 'vorneq.i16','vornne.i16','vorncs.i16','vornhs.i16','vorncc.i16','vornlo.i16','vornmi.i16','vornpl.i16','vornvs.i16','vornvc.i16','vornhi.i16','vornls.i16','vornge.i16','vornlt.i16','vorngt.i16','vornle.i16', + 'vorneq.i32','vornne.i32','vorncs.i32','vornhs.i32','vorncc.i32','vornlo.i32','vornmi.i32','vornpl.i32','vornvs.i32','vornvc.i32','vornhi.i32','vornls.i32','vornge.i32','vornlt.i32','vorngt.i32','vornle.i32', + 'vorneq.i64','vornne.i64','vorncs.i64','vornhs.i64','vorncc.i64','vornlo.i64','vornmi.i64','vornpl.i64','vornvs.i64','vornvc.i64','vornhi.i64','vornls.i64','vornge.i64','vornlt.i64','vorngt.i64','vornle.i64', + 'vorneq.f32','vornne.f32','vorncs.f32','vornhs.f32','vorncc.f32','vornlo.f32','vornmi.f32','vornpl.f32','vornvs.f32','vornvc.f32','vornhi.f32','vornls.f32','vornge.f32','vornlt.f32','vorngt.f32','vornle.f32', + 'vorneq.f64','vornne.f64','vorncs.f64','vornhs.f64','vorncc.f64','vornlo.f64','vornmi.f64','vornpl.f64','vornvs.f64','vornvc.f64','vornhi.f64','vornls.f64','vornge.f64','vornlt.f64','vorngt.f64','vornle.f64', + + 'vorreq','vorrne','vorrcs','vorrhs','vorrcc','vorrlo','vorrmi','vorrpl','vorrvs','vorrvc','vorrhi','vorrls','vorrge','vorrlt','vorrgt','vorrle', + 'vorreq.s8','vorrne.s8','vorrcs.s8','vorrhs.s8','vorrcc.s8','vorrlo.s8','vorrmi.s8','vorrpl.s8','vorrvs.s8','vorrvc.s8','vorrhi.s8','vorrls.s8','vorrge.s8','vorrlt.s8','vorrgt.s8','vorrle.s8', + 'vorreq.s16','vorrne.s16','vorrcs.s16','vorrhs.s16','vorrcc.s16','vorrlo.s16','vorrmi.s16','vorrpl.s16','vorrvs.s16','vorrvc.s16','vorrhi.s16','vorrls.s16','vorrge.s16','vorrlt.s16','vorrgt.s16','vorrle.s16', + 'vorreq.s32','vorrne.s32','vorrcs.s32','vorrhs.s32','vorrcc.s32','vorrlo.s32','vorrmi.s32','vorrpl.s32','vorrvs.s32','vorrvc.s32','vorrhi.s32','vorrls.s32','vorrge.s32','vorrlt.s32','vorrgt.s32','vorrle.s32', + 'vorreq.s64','vorrne.s64','vorrcs.s64','vorrhs.s64','vorrcc.s64','vorrlo.s64','vorrmi.s64','vorrpl.s64','vorrvs.s64','vorrvc.s64','vorrhi.s64','vorrls.s64','vorrge.s64','vorrlt.s64','vorrgt.s64','vorrle.s64', + 'vorreq.u8','vorrne.u8','vorrcs.u8','vorrhs.u8','vorrcc.u8','vorrlo.u8','vorrmi.u8','vorrpl.u8','vorrvs.u8','vorrvc.u8','vorrhi.u8','vorrls.u8','vorrge.u8','vorrlt.u8','vorrgt.u8','vorrle.u8', + 'vorreq.u16','vorrne.u16','vorrcs.u16','vorrhs.u16','vorrcc.u16','vorrlo.u16','vorrmi.u16','vorrpl.u16','vorrvs.u16','vorrvc.u16','vorrhi.u16','vorrls.u16','vorrge.u16','vorrlt.u16','vorrgt.u16','vorrle.u16', + 'vorreq.u32','vorrne.u32','vorrcs.u32','vorrhs.u32','vorrcc.u32','vorrlo.u32','vorrmi.u32','vorrpl.u32','vorrvs.u32','vorrvc.u32','vorrhi.u32','vorrls.u32','vorrge.u32','vorrlt.u32','vorrgt.u32','vorrle.u32', + 'vorreq.u64','vorrne.u64','vorrcs.u64','vorrhs.u64','vorrcc.u64','vorrlo.u64','vorrmi.u64','vorrpl.u64','vorrvs.u64','vorrvc.u64','vorrhi.u64','vorrls.u64','vorrge.u64','vorrlt.u64','vorrgt.u64','vorrle.u64', + 'vorreq.i8','vorrne.i8','vorrcs.i8','vorrhs.i8','vorrcc.i8','vorrlo.i8','vorrmi.i8','vorrpl.i8','vorrvs.i8','vorrvc.i8','vorrhi.i8','vorrls.i8','vorrge.i8','vorrlt.i8','vorrgt.i8','vorrle.i8', + 'vorreq.i16','vorrne.i16','vorrcs.i16','vorrhs.i16','vorrcc.i16','vorrlo.i16','vorrmi.i16','vorrpl.i16','vorrvs.i16','vorrvc.i16','vorrhi.i16','vorrls.i16','vorrge.i16','vorrlt.i16','vorrgt.i16','vorrle.i16', + 'vorreq.i32','vorrne.i32','vorrcs.i32','vorrhs.i32','vorrcc.i32','vorrlo.i32','vorrmi.i32','vorrpl.i32','vorrvs.i32','vorrvc.i32','vorrhi.i32','vorrls.i32','vorrge.i32','vorrlt.i32','vorrgt.i32','vorrle.i32', + 'vorreq.i64','vorrne.i64','vorrcs.i64','vorrhs.i64','vorrcc.i64','vorrlo.i64','vorrmi.i64','vorrpl.i64','vorrvs.i64','vorrvc.i64','vorrhi.i64','vorrls.i64','vorrge.i64','vorrlt.i64','vorrgt.i64','vorrle.i64', + 'vorreq.f32','vorrne.f32','vorrcs.f32','vorrhs.f32','vorrcc.f32','vorrlo.f32','vorrmi.f32','vorrpl.f32','vorrvs.f32','vorrvc.f32','vorrhi.f32','vorrls.f32','vorrge.f32','vorrlt.f32','vorrgt.f32','vorrle.f32', + 'vorreq.f64','vorrne.f64','vorrcs.f64','vorrhs.f64','vorrcc.f64','vorrlo.f64','vorrmi.f64','vorrpl.f64','vorrvs.f64','vorrvc.f64','vorrhi.f64','vorrls.f64','vorrge.f64','vorrlt.f64','vorrgt.f64','vorrle.f64', + + 'vswpeq','vswpne','vswpcs','vswphs','vswpcc','vswplo','vswpmi','vswppl','vswpvs','vswpvc','vswphi','vswpls','vswpge','vswplt','vswpgt','vswple', + 'vswpeq.s8','vswpne.s8','vswpcs.s8','vswphs.s8','vswpcc.s8','vswplo.s8','vswpmi.s8','vswppl.s8','vswpvs.s8','vswpvc.s8','vswphi.s8','vswpls.s8','vswpge.s8','vswplt.s8','vswpgt.s8','vswple.s8', + 'vswpeq.s16','vswpne.s16','vswpcs.s16','vswphs.s16','vswpcc.s16','vswplo.s16','vswpmi.s16','vswppl.s16','vswpvs.s16','vswpvc.s16','vswphi.s16','vswpls.s16','vswpge.s16','vswplt.s16','vswpgt.s16','vswple.s16', + 'vswpeq.s32','vswpne.s32','vswpcs.s32','vswphs.s32','vswpcc.s32','vswplo.s32','vswpmi.s32','vswppl.s32','vswpvs.s32','vswpvc.s32','vswphi.s32','vswpls.s32','vswpge.s32','vswplt.s32','vswpgt.s32','vswple.s32', + 'vswpeq.s64','vswpne.s64','vswpcs.s64','vswphs.s64','vswpcc.s64','vswplo.s64','vswpmi.s64','vswppl.s64','vswpvs.s64','vswpvc.s64','vswphi.s64','vswpls.s64','vswpge.s64','vswplt.s64','vswpgt.s64','vswple.s64', + 'vswpeq.u8','vswpne.u8','vswpcs.u8','vswphs.u8','vswpcc.u8','vswplo.u8','vswpmi.u8','vswppl.u8','vswpvs.u8','vswpvc.u8','vswphi.u8','vswpls.u8','vswpge.u8','vswplt.u8','vswpgt.u8','vswple.u8', + 'vswpeq.u16','vswpne.u16','vswpcs.u16','vswphs.u16','vswpcc.u16','vswplo.u16','vswpmi.u16','vswppl.u16','vswpvs.u16','vswpvc.u16','vswphi.u16','vswpls.u16','vswpge.u16','vswplt.u16','vswpgt.u16','vswple.u16', + 'vswpeq.u32','vswpne.u32','vswpcs.u32','vswphs.u32','vswpcc.u32','vswplo.u32','vswpmi.u32','vswppl.u32','vswpvs.u32','vswpvc.u32','vswphi.u32','vswpls.u32','vswpge.u32','vswplt.u32','vswpgt.u32','vswple.u32', + 'vswpeq.u64','vswpne.u64','vswpcs.u64','vswphs.u64','vswpcc.u64','vswplo.u64','vswpmi.u64','vswppl.u64','vswpvs.u64','vswpvc.u64','vswphi.u64','vswpls.u64','vswpge.u64','vswplt.u64','vswpgt.u64','vswple.u64', + 'vswpeq.i8','vswpne.i8','vswpcs.i8','vswphs.i8','vswpcc.i8','vswplo.i8','vswpmi.i8','vswppl.i8','vswpvs.i8','vswpvc.i8','vswphi.i8','vswpls.i8','vswpge.i8','vswplt.i8','vswpgt.i8','vswple.i8', + 'vswpeq.i16','vswpne.i16','vswpcs.i16','vswphs.i16','vswpcc.i16','vswplo.i16','vswpmi.i16','vswppl.i16','vswpvs.i16','vswpvc.i16','vswphi.i16','vswpls.i16','vswpge.i16','vswplt.i16','vswpgt.i16','vswple.i16', + 'vswpeq.i32','vswpne.i32','vswpcs.i32','vswphs.i32','vswpcc.i32','vswplo.i32','vswpmi.i32','vswppl.i32','vswpvs.i32','vswpvc.i32','vswphi.i32','vswpls.i32','vswpge.i32','vswplt.i32','vswpgt.i32','vswple.i32', + 'vswpeq.i64','vswpne.i64','vswpcs.i64','vswphs.i64','vswpcc.i64','vswplo.i64','vswpmi.i64','vswppl.i64','vswpvs.i64','vswpvc.i64','vswphi.i64','vswpls.i64','vswpge.i64','vswplt.i64','vswpgt.i64','vswple.i64', + 'vswpeq.f32','vswpne.f32','vswpcs.f32','vswphs.f32','vswpcc.f32','vswplo.f32','vswpmi.f32','vswppl.f32','vswpvs.f32','vswpvc.f32','vswphi.f32','vswpls.f32','vswpge.f32','vswplt.f32','vswpgt.f32','vswple.f32', + 'vswpeq.f64','vswpne.f64','vswpcs.f64','vswphs.f64','vswpcc.f64','vswplo.f64','vswpmi.f64','vswppl.f64','vswpvs.f64','vswpvc.f64','vswphi.f64','vswpls.f64','vswpge.f64','vswplt.f64','vswpgt.f64','vswple.f64' + ), + /* Conditional NEON SIMD ARM Registers Interop Instructions */ + 29 => array( + 'vmrseq','vmrsne','vmrscs','vmrshs','vmrscc','vmrslo','vmrsmi','vmrspl','vmrsvs','vmrsvc','vmrshi','vmrsls','vmrsge','vmrslt','vmrsgt','vmrsle', + 'vmsreq','vmsrne','vmsrcs','vmsrhs','vmsrcc','vmsrlo','vmsrmi','vmsrpl','vmsrvs','vmsrvc','vmsrhi','vmsrls','vmsrge','vmsrlt','vmsrgt','vmsrle' + ), + /* Conditional NEON SIMD Bit/Byte-Level Instructions */ + 30 => array( + 'vcnteq.8','vcntne.8','vcntcs.8','vcnths.8','vcntcc.8','vcntlo.8','vcntmi.8','vcntpl.8','vcntvs.8','vcntvc.8','vcnthi.8','vcntls.8','vcntge.8','vcntlt.8','vcntgt.8','vcntle.8', + 'vdupeq.8','vdupne.8','vdupcs.8','vduphs.8','vdupcc.8','vduplo.8','vdupmi.8','vduppl.8','vdupvs.8','vdupvc.8','vduphi.8','vdupls.8','vdupge.8','vduplt.8','vdupgt.8','vduple.8', + + 'vdupeq.16','vdupne.16','vdupcs.16','vduphs.16','vdupcc.16','vduplo.16','vdupmi.16','vduppl.16','vdupvs.16','vdupvc.16','vduphi.16','vdupls.16','vdupge.16','vduplt.16','vdupgt.16','vduple.16', + 'vdupeq.32','vdupne.32','vdupcs.32','vduphs.32','vdupcc.32','vduplo.32','vdupmi.32','vduppl.32','vdupvs.32','vdupvc.32','vduphi.32','vdupls.32','vdupge.32','vduplt.32','vdupgt.32','vduple.32', + + 'vexteq.8','vextne.8','vextcs.8','vexths.8','vextcc.8','vextlo.8','vextmi.8','vextpl.8','vextvs.8','vextvc.8','vexthi.8','vextls.8','vextge.8','vextlt.8','vextgt.8','vextle.8', + 'vexteq.16','vextne.16','vextcs.16','vexths.16','vextcc.16','vextlo.16','vextmi.16','vextpl.16','vextvs.16','vextvc.16','vexthi.16','vextls.16','vextge.16','vextlt.16','vextgt.16','vextle.16', + + 'vexteq.32','vextne.32','vextcs.32','vexths.32','vextcc.32','vextlo.32','vextmi.32','vextpl.32','vextvs.32','vextvc.32','vexthi.32','vextls.32','vextge.32','vextlt.32','vextgt.32','vextle.32', + 'vexteq.64','vextne.64','vextcs.64','vexths.64','vextcc.64','vextlo.64','vextmi.64','vextpl.64','vextvs.64','vextvc.64','vexthi.64','vextls.64','vextge.64','vextlt.64','vextgt.64','vextle.64', + + 'vrev16eq.8','vrev16ne.8','vrev16cs.8','vrev16hs.8','vrev16cc.8','vrev16lo.8','vrev16mi.8','vrev16pl.8','vrev16vs.8','vrev16vc.8','vrev16hi.8','vrev16ls.8','vrev16ge.8','vrev16lt.8','vrev16gt.8','vrev16le.8', + 'vrev32eq.8','vrev32ne.8','vrev32cs.8','vrev32hs.8','vrev32cc.8','vrev32lo.8','vrev32mi.8','vrev32pl.8','vrev32vs.8','vrev32vc.8','vrev32hi.8','vrev32ls.8','vrev32ge.8','vrev32lt.8','vrev32gt.8','vrev32le.8', + 'vrev32eq.16','vrev32ne.16','vrev32cs.16','vrev32hs.16','vrev32cc.16','vrev32lo.16','vrev32mi.16','vrev32pl.16','vrev32vs.16','vrev32vc.16','vrev32hi.16','vrev32ls.16','vrev32ge.16','vrev32lt.16','vrev32gt.16','vrev32le.16', + 'vrev64eq.8','vrev64ne.8','vrev64cs.8','vrev64hs.8','vrev64cc.8','vrev64lo.8','vrev64mi.8','vrev64pl.8','vrev64vs.8','vrev64vc.8','vrev64hi.8','vrev64ls.8','vrev64ge.8','vrev64lt.8','vrev64gt.8','vrev64le.8', + 'vrev64eq.16','vrev64ne.16','vrev64cs.16','vrev64hs.16','vrev64cc.16','vrev64lo.16','vrev64mi.16','vrev64pl.16','vrev64vs.16','vrev64vc.16','vrev64hi.16','vrev64ls.16','vrev64ge.16','vrev64lt.16','vrev64gt.16','vrev64le.16', + 'vrev64eq.32','vrev64ne.32','vrev64cs.32','vrev64hs.32','vrev64cc.32','vrev64lo.32','vrev64mi.32','vrev64pl.32','vrev64vs.32','vrev64vc.32','vrev64hi.32','vrev64ls.32','vrev64ge.32','vrev64lt.32','vrev64gt.32','vrev64le.32', + + 'vslieq.8','vsline.8','vslics.8','vslihs.8','vslicc.8','vslilo.8','vslimi.8','vslipl.8','vslivs.8','vslivc.8','vslihi.8','vslils.8','vslige.8','vslilt.8','vsligt.8','vslile.8', + 'vslieq.16','vsline.16','vslics.16','vslihs.16','vslicc.16','vslilo.16','vslimi.16','vslipl.16','vslivs.16','vslivc.16','vslihi.16','vslils.16','vslige.16','vslilt.16','vsligt.16','vslile.16', + 'vslieq.32','vsline.32','vslics.32','vslihs.32','vslicc.32','vslilo.32','vslimi.32','vslipl.32','vslivs.32','vslivc.32','vslihi.32','vslils.32','vslige.32','vslilt.32','vsligt.32','vslile.32', + 'vslieq.64','vsline.64','vslics.64','vslihs.64','vslicc.64','vslilo.64','vslimi.64','vslipl.64','vslivs.64','vslivc.64','vslihi.64','vslils.64','vslige.64','vslilt.64','vsligt.64','vslile.64', + + 'vsrieq.8','vsrine.8','vsrics.8','vsrihs.8','vsricc.8','vsrilo.8','vsrimi.8','vsripl.8','vsrivs.8','vsrivc.8','vsrihi.8','vsrils.8','vsrige.8','vsrilt.8','vsrigt.8','vsrile.8', + 'vsrieq.16','vsrine.16','vsrics.16','vsrihs.16','vsricc.16','vsrilo.16','vsrimi.16','vsripl.16','vsrivs.16','vsrivc.16','vsrihi.16','vsrils.16','vsrige.16','vsrilt.16','vsrigt.16','vsrile.16', + 'vsrieq.32','vsrine.32','vsrics.32','vsrihs.32','vsricc.32','vsrilo.32','vsrimi.32','vsripl.32','vsrivs.32','vsrivc.32','vsrihi.32','vsrils.32','vsrige.32','vsrilt.32','vsrigt.32','vsrile.32', + 'vsrieq.64','vsrine.64','vsrics.64','vsrihs.64','vsricc.64','vsrilo.64','vsrimi.64','vsripl.64','vsrivs.64','vsrivc.64','vsrihi.64','vsrils.64','vsrige.64','vsrilt.64','vsrigt.64','vsrile.64', + + 'vtbleq.8','vtblne.8','vtblcs.8','vtblhs.8','vtblcc.8','vtbllo.8','vtblmi.8','vtblpl.8','vtblvs.8','vtblvc.8','vtblhi.8','vtblls.8','vtblge.8','vtbllt.8','vtblgt.8','vtblle.8', + + 'vtbxeq','vtbxne','vtbxcs','vtbxhs','vtbxcc','vtbxlo','vtbxmi','vtbxpl','vtbxvs','vtbxvc','vtbxhi','vtbxls','vtbxge','vtbxlt','vtbxgt','vtbxle', + + 'vtrneq.8','vtrnne.8','vtrncs.8','vtrnhs.8','vtrncc.8','vtrnlo.8','vtrnmi.8','vtrnpl.8','vtrnvs.8','vtrnvc.8','vtrnhi.8','vtrnls.8','vtrnge.8','vtrnlt.8','vtrngt.8','vtrnle.8', + 'vtrneq.16','vtrnne.16','vtrncs.16','vtrnhs.16','vtrncc.16','vtrnlo.16','vtrnmi.16','vtrnpl.16','vtrnvs.16','vtrnvc.16','vtrnhi.16','vtrnls.16','vtrnge.16','vtrnlt.16','vtrngt.16','vtrnle.16', + 'vtrneq.32','vtrnne.32','vtrncs.32','vtrnhs.32','vtrncc.32','vtrnlo.32','vtrnmi.32','vtrnpl.32','vtrnvs.32','vtrnvc.32','vtrnhi.32','vtrnls.32','vtrnge.32','vtrnlt.32','vtrngt.32','vtrnle.32', + + 'vtsteq.8','vtstne.8','vtstcs.8','vtsths.8','vtstcc.8','vtstlo.8','vtstmi.8','vtstpl.8','vtstvs.8','vtstvc.8','vtsthi.8','vtstls.8','vtstge.8','vtstlt.8','vtstgt.8','vtstle.8', + 'vtsteq.16','vtstne.16','vtstcs.16','vtsths.16','vtstcc.16','vtstlo.16','vtstmi.16','vtstpl.16','vtstvs.16','vtstvc.16','vtsthi.16','vtstls.16','vtstge.16','vtstlt.16','vtstgt.16','vtstle.16', + 'vtsteq.32','vtstne.32','vtstcs.32','vtsths.32','vtstcc.32','vtstlo.32','vtstmi.32','vtstpl.32','vtstvs.32','vtstvc.32','vtsthi.32','vtstls.32','vtstge.32','vtstlt.32','vtstgt.32','vtstle.32', + + 'vuzpeq.8','vuzpne.8','vuzpcs.8','vuzphs.8','vuzpcc.8','vuzplo.8','vuzpmi.8','vuzppl.8','vuzpvs.8','vuzpvc.8','vuzphi.8','vuzpls.8','vuzpge.8','vuzplt.8','vuzpgt.8','vuzple.8', + 'vuzpeq.16','vuzpne.16','vuzpcs.16','vuzphs.16','vuzpcc.16','vuzplo.16','vuzpmi.16','vuzppl.16','vuzpvs.16','vuzpvc.16','vuzphi.16','vuzpls.16','vuzpge.16','vuzplt.16','vuzpgt.16','vuzple.16', + 'vuzpeq.32','vuzpne.32','vuzpcs.32','vuzphs.32','vuzpcc.32','vuzplo.32','vuzpmi.32','vuzppl.32','vuzpvs.32','vuzpvc.32','vuzphi.32','vuzpls.32','vuzpge.32','vuzplt.32','vuzpgt.32','vuzple.32', + + 'vzipeq.8','vzipne.8','vzipcs.8','vziphs.8','vzipcc.8','vziplo.8','vzipmi.8','vzippl.8','vzipvs.8','vzipvc.8','vziphi.8','vzipls.8','vzipge.8','vziplt.8','vzipgt.8','vziple.8', + 'vzipeq.16','vzipne.16','vzipcs.16','vziphs.16','vzipcc.16','vziplo.16','vzipmi.16','vzippl.16','vzipvs.16','vzipvc.16','vziphi.16','vzipls.16','vzipge.16','vziplt.16','vzipgt.16','vziple.16', + 'vzipeq.32','vzipne.32','vzipcs.32','vziphs.32','vzipcc.32','vziplo.32','vzipmi.32','vzippl.32','vzipvs.32','vzipvc.32','vziphi.32','vzipls.32','vzipge.32','vziplt.32','vzipgt.32','vziple.32', + + 'vmulleq.p8','vmullne.p8','vmullcs.p8','vmullhs.p8','vmullcc.p8','vmulllo.p8','vmullmi.p8','vmullpl.p8','vmullvs.p8','vmullvc.p8','vmullhi.p8','vmullls.p8','vmullge.p8','vmulllt.p8','vmullgt.p8','vmullle.p8' + ), + /* Conditional NEON SIMD Universal Integer Instructions */ + 31 => array( + 'vaddeq.i8','vaddne.i8','vaddcs.i8','vaddhs.i8','vaddcc.i8','vaddlo.i8','vaddmi.i8','vaddpl.i8','vaddvs.i8','vaddvc.i8','vaddhi.i8','vaddls.i8','vaddge.i8','vaddlt.i8','vaddgt.i8','vaddle.i8', + 'vaddeq.i16','vaddne.i16','vaddcs.i16','vaddhs.i16','vaddcc.i16','vaddlo.i16','vaddmi.i16','vaddpl.i16','vaddvs.i16','vaddvc.i16','vaddhi.i16','vaddls.i16','vaddge.i16','vaddlt.i16','vaddgt.i16','vaddle.i16', + 'vaddeq.i32','vaddne.i32','vaddcs.i32','vaddhs.i32','vaddcc.i32','vaddlo.i32','vaddmi.i32','vaddpl.i32','vaddvs.i32','vaddvc.i32','vaddhi.i32','vaddls.i32','vaddge.i32','vaddlt.i32','vaddgt.i32','vaddle.i32', + 'vaddeq.i64','vaddne.i64','vaddcs.i64','vaddhs.i64','vaddcc.i64','vaddlo.i64','vaddmi.i64','vaddpl.i64','vaddvs.i64','vaddvc.i64','vaddhi.i64','vaddls.i64','vaddge.i64','vaddlt.i64','vaddgt.i64','vaddle.i64', + + 'vsubeq.i8','vsubne.i8','vsubcs.i8','vsubhs.i8','vsubcc.i8','vsublo.i8','vsubmi.i8','vsubpl.i8','vsubvs.i8','vsubvc.i8','vsubhi.i8','vsubls.i8','vsubge.i8','vsublt.i8','vsubgt.i8','vsuble.i8', + 'vsubeq.i16','vsubne.i16','vsubcs.i16','vsubhs.i16','vsubcc.i16','vsublo.i16','vsubmi.i16','vsubpl.i16','vsubvs.i16','vsubvc.i16','vsubhi.i16','vsubls.i16','vsubge.i16','vsublt.i16','vsubgt.i16','vsuble.i16', + 'vsubeq.i32','vsubne.i32','vsubcs.i32','vsubhs.i32','vsubcc.i32','vsublo.i32','vsubmi.i32','vsubpl.i32','vsubvs.i32','vsubvc.i32','vsubhi.i32','vsubls.i32','vsubge.i32','vsublt.i32','vsubgt.i32','vsuble.i32', + 'vsubeq.i64','vsubne.i64','vsubcs.i64','vsubhs.i64','vsubcc.i64','vsublo.i64','vsubmi.i64','vsubpl.i64','vsubvs.i64','vsubvc.i64','vsubhi.i64','vsubls.i64','vsubge.i64','vsublt.i64','vsubgt.i64','vsuble.i64', + + 'vaddhneq.i16','vaddhnne.i16','vaddhncs.i16','vaddhnhs.i16','vaddhncc.i16','vaddhnlo.i16','vaddhnmi.i16','vaddhnpl.i16','vaddhnvs.i16','vaddhnvc.i16','vaddhnhi.i16','vaddhnls.i16','vaddhnge.i16','vaddhnlt.i16','vaddhngt.i16','vaddhnle.i16', + 'vaddhneq.i32','vaddhnne.i32','vaddhncs.i32','vaddhnhs.i32','vaddhncc.i32','vaddhnlo.i32','vaddhnmi.i32','vaddhnpl.i32','vaddhnvs.i32','vaddhnvc.i32','vaddhnhi.i32','vaddhnls.i32','vaddhnge.i32','vaddhnlt.i32','vaddhngt.i32','vaddhnle.i32', + 'vaddhneq.i64','vaddhnne.i64','vaddhncs.i64','vaddhnhs.i64','vaddhncc.i64','vaddhnlo.i64','vaddhnmi.i64','vaddhnpl.i64','vaddhnvs.i64','vaddhnvc.i64','vaddhnhi.i64','vaddhnls.i64','vaddhnge.i64','vaddhnlt.i64','vaddhngt.i64','vaddhnle.i64', + + 'vsubhneq.i16','vsubhnne.i16','vsubhncs.i16','vsubhnhs.i16','vsubhncc.i16','vsubhnlo.i16','vsubhnmi.i16','vsubhnpl.i16','vsubhnvs.i16','vsubhnvc.i16','vsubhnhi.i16','vsubhnls.i16','vsubhnge.i16','vsubhnlt.i16','vsubhngt.i16','vsubhnle.i16', + 'vsubhneq.i32','vsubhnne.i32','vsubhncs.i32','vsubhnhs.i32','vsubhncc.i32','vsubhnlo.i32','vsubhnmi.i32','vsubhnpl.i32','vsubhnvs.i32','vsubhnvc.i32','vsubhnhi.i32','vsubhnls.i32','vsubhnge.i32','vsubhnlt.i32','vsubhngt.i32','vsubhnle.i32', + 'vsubhneq.i64','vsubhnne.i64','vsubhncs.i64','vsubhnhs.i64','vsubhncc.i64','vsubhnlo.i64','vsubhnmi.i64','vsubhnpl.i64','vsubhnvs.i64','vsubhnvc.i64','vsubhnhi.i64','vsubhnls.i64','vsubhnge.i64','vsubhnlt.i64','vsubhngt.i64','vsubhnle.i64', + + 'vraddhneq.i16','vraddhnne.i16','vraddhncs.i16','vraddhnhs.i16','vraddhncc.i16','vraddhnlo.i16','vraddhnmi.i16','vraddhnpl.i16','vraddhnvs.i16','vraddhnvc.i16','vraddhnhi.i16','vraddhnls.i16','vraddhnge.i16','vraddhnlt.i16','vraddhngt.i16','vraddhnle.i16', + 'vraddhneq.i32','vraddhnne.i32','vraddhncs.i32','vraddhnhs.i32','vraddhncc.i32','vraddhnlo.i32','vraddhnmi.i32','vraddhnpl.i32','vraddhnvs.i32','vraddhnvc.i32','vraddhnhi.i32','vraddhnls.i32','vraddhnge.i32','vraddhnlt.i32','vraddhngt.i32','vraddhnle.i32', + 'vraddhneq.i64','vraddhnne.i64','vraddhncs.i64','vraddhnhs.i64','vraddhncc.i64','vraddhnlo.i64','vraddhnmi.i64','vraddhnpl.i64','vraddhnvs.i64','vraddhnvc.i64','vraddhnhi.i64','vraddhnls.i64','vraddhnge.i64','vraddhnlt.i64','vraddhngt.i64','vraddhnle.i64', + + 'vrsubhneq.i16','vrsubhnne.i16','vrsubhncs.i16','vrsubhnhs.i16','vrsubhncc.i16','vrsubhnlo.i16','vrsubhnmi.i16','vrsubhnpl.i16','vrsubhnvs.i16','vrsubhnvc.i16','vrsubhnhi.i16','vrsubhnls.i16','vrsubhnge.i16','vrsubhnlt.i16','vrsubhngt.i16','vrsubhnle.i16', + 'vrsubhneq.i32','vrsubhnne.i32','vrsubhncs.i32','vrsubhnhs.i32','vrsubhncc.i32','vrsubhnlo.i32','vrsubhnmi.i32','vrsubhnpl.i32','vrsubhnvs.i32','vrsubhnvc.i32','vrsubhnhi.i32','vrsubhnls.i32','vrsubhnge.i32','vrsubhnlt.i32','vrsubhngt.i32','vrsubhnle.i32', + 'vrsubhneq.i64','vrsubhnne.i64','vrsubhncs.i64','vrsubhnhs.i64','vrsubhncc.i64','vrsubhnlo.i64','vrsubhnmi.i64','vrsubhnpl.i64','vrsubhnvs.i64','vrsubhnvc.i64','vrsubhnhi.i64','vrsubhnls.i64','vrsubhnge.i64','vrsubhnlt.i64','vrsubhngt.i64','vrsubhnle.i64', + + 'vpaddeq.i8','vpaddne.i8','vpaddcs.i8','vpaddhs.i8','vpaddcc.i8','vpaddlo.i8','vpaddmi.i8','vpaddpl.i8','vpaddvs.i8','vpaddvc.i8','vpaddhi.i8','vpaddls.i8','vpaddge.i8','vpaddlt.i8','vpaddgt.i8','vpaddle.i8', + 'vpaddeq.i16','vpaddne.i16','vpaddcs.i16','vpaddhs.i16','vpaddcc.i16','vpaddlo.i16','vpaddmi.i16','vpaddpl.i16','vpaddvs.i16','vpaddvc.i16','vpaddhi.i16','vpaddls.i16','vpaddge.i16','vpaddlt.i16','vpaddgt.i16','vpaddle.i16', + 'vpaddeq.i32','vpaddne.i32','vpaddcs.i32','vpaddhs.i32','vpaddcc.i32','vpaddlo.i32','vpaddmi.i32','vpaddpl.i32','vpaddvs.i32','vpaddvc.i32','vpaddhi.i32','vpaddls.i32','vpaddge.i32','vpaddlt.i32','vpaddgt.i32','vpaddle.i32', + + 'vceqeq.i8','vceqne.i8','vceqcs.i8','vceqhs.i8','vceqcc.i8','vceqlo.i8','vceqmi.i8','vceqpl.i8','vceqvs.i8','vceqvc.i8','vceqhi.i8','vceqls.i8','vceqge.i8','vceqlt.i8','vceqgt.i8','vceqle.i8', + 'vceqeq.i16','vceqne.i16','vceqcs.i16','vceqhs.i16','vceqcc.i16','vceqlo.i16','vceqmi.i16','vceqpl.i16','vceqvs.i16','vceqvc.i16','vceqhi.i16','vceqls.i16','vceqge.i16','vceqlt.i16','vceqgt.i16','vceqle.i16', + 'vceqeq.i32','vceqne.i32','vceqcs.i32','vceqhs.i32','vceqcc.i32','vceqlo.i32','vceqmi.i32','vceqpl.i32','vceqvs.i32','vceqvc.i32','vceqhi.i32','vceqls.i32','vceqge.i32','vceqlt.i32','vceqgt.i32','vceqle.i32', + + 'vclzeq.i8','vclzne.i8','vclzcs.i8','vclzhs.i8','vclzcc.i8','vclzlo.i8','vclzmi.i8','vclzpl.i8','vclzvs.i8','vclzvc.i8','vclzhi.i8','vclzls.i8','vclzge.i8','vclzlt.i8','vclzgt.i8','vclzle.i8', + 'vclzeq.i16','vclzne.i16','vclzcs.i16','vclzhs.i16','vclzcc.i16','vclzlo.i16','vclzmi.i16','vclzpl.i16','vclzvs.i16','vclzvc.i16','vclzhi.i16','vclzls.i16','vclzge.i16','vclzlt.i16','vclzgt.i16','vclzle.i16', + 'vclzeq.i32','vclzne.i32','vclzcs.i32','vclzhs.i32','vclzcc.i32','vclzlo.i32','vclzmi.i32','vclzpl.i32','vclzvs.i32','vclzvc.i32','vclzhi.i32','vclzls.i32','vclzge.i32','vclzlt.i32','vclzgt.i32','vclzle.i32', + + 'vmovneq.i16','vmovnne.i16','vmovncs.i16','vmovnhs.i16','vmovncc.i16','vmovnlo.i16','vmovnmi.i16','vmovnpl.i16','vmovnvs.i16','vmovnvc.i16','vmovnhi.i16','vmovnls.i16','vmovnge.i16','vmovnlt.i16','vmovngt.i16','vmovnle.i16', + 'vmovneq.i32','vmovnne.i32','vmovncs.i32','vmovnhs.i32','vmovncc.i32','vmovnlo.i32','vmovnmi.i32','vmovnpl.i32','vmovnvs.i32','vmovnvc.i32','vmovnhi.i32','vmovnls.i32','vmovnge.i32','vmovnlt.i32','vmovngt.i32','vmovnle.i32', + 'vmovneq.i64','vmovnne.i64','vmovncs.i64','vmovnhs.i64','vmovncc.i64','vmovnlo.i64','vmovnmi.i64','vmovnpl.i64','vmovnvs.i64','vmovnvc.i64','vmovnhi.i64','vmovnls.i64','vmovnge.i64','vmovnlt.i64','vmovngt.i64','vmovnle.i64', + + 'vmlaeq.s8','vmlane.s8','vmlacs.s8','vmlahs.s8','vmlacc.s8','vmlalo.s8','vmlami.s8','vmlapl.s8','vmlavs.s8','vmlavc.s8','vmlahi.s8','vmlals.s8','vmlage.s8','vmlalt.s8','vmlagt.s8','vmlale.s8', + 'vmlaeq.s16','vmlane.s16','vmlacs.s16','vmlahs.s16','vmlacc.s16','vmlalo.s16','vmlami.s16','vmlapl.s16','vmlavs.s16','vmlavc.s16','vmlahi.s16','vmlals.s16','vmlage.s16','vmlalt.s16','vmlagt.s16','vmlale.s16', + 'vmlaeq.s32','vmlane.s32','vmlacs.s32','vmlahs.s32','vmlacc.s32','vmlalo.s32','vmlami.s32','vmlapl.s32','vmlavs.s32','vmlavc.s32','vmlahi.s32','vmlals.s32','vmlage.s32','vmlalt.s32','vmlagt.s32','vmlale.s32', + 'vmlaeq.u8','vmlane.u8','vmlacs.u8','vmlahs.u8','vmlacc.u8','vmlalo.u8','vmlami.u8','vmlapl.u8','vmlavs.u8','vmlavc.u8','vmlahi.u8','vmlals.u8','vmlage.u8','vmlalt.u8','vmlagt.u8','vmlale.u8', + 'vmlaeq.u16','vmlane.u16','vmlacs.u16','vmlahs.u16','vmlacc.u16','vmlalo.u16','vmlami.u16','vmlapl.u16','vmlavs.u16','vmlavc.u16','vmlahi.u16','vmlals.u16','vmlage.u16','vmlalt.u16','vmlagt.u16','vmlale.u16', + 'vmlaeq.u32','vmlane.u32','vmlacs.u32','vmlahs.u32','vmlacc.u32','vmlalo.u32','vmlami.u32','vmlapl.u32','vmlavs.u32','vmlavc.u32','vmlahi.u32','vmlals.u32','vmlage.u32','vmlalt.u32','vmlagt.u32','vmlale.u32', + 'vmlaeq.i8','vmlane.i8','vmlacs.i8','vmlahs.i8','vmlacc.i8','vmlalo.i8','vmlami.i8','vmlapl.i8','vmlavs.i8','vmlavc.i8','vmlahi.i8','vmlals.i8','vmlage.i8','vmlalt.i8','vmlagt.i8','vmlale.i8', + 'vmlaeq.i16','vmlane.i16','vmlacs.i16','vmlahs.i16','vmlacc.i16','vmlalo.i16','vmlami.i16','vmlapl.i16','vmlavs.i16','vmlavc.i16','vmlahi.i16','vmlals.i16','vmlage.i16','vmlalt.i16','vmlagt.i16','vmlale.i16', + 'vmlaeq.i32','vmlane.i32','vmlacs.i32','vmlahs.i32','vmlacc.i32','vmlalo.i32','vmlami.i32','vmlapl.i32','vmlavs.i32','vmlavc.i32','vmlahi.i32','vmlals.i32','vmlage.i32','vmlalt.i32','vmlagt.i32','vmlale.i32', + + 'vmlseq.s8','vmlsne.s8','vmlscs.s8','vmlshs.s8','vmlscc.s8','vmlslo.s8','vmlsmi.s8','vmlspl.s8','vmlsvs.s8','vmlsvc.s8','vmlshi.s8','vmlsls.s8','vmlsge.s8','vmlslt.s8','vmlsgt.s8','vmlsle.s8', + 'vmlseq.s16','vmlsne.s16','vmlscs.s16','vmlshs.s16','vmlscc.s16','vmlslo.s16','vmlsmi.s16','vmlspl.s16','vmlsvs.s16','vmlsvc.s16','vmlshi.s16','vmlsls.s16','vmlsge.s16','vmlslt.s16','vmlsgt.s16','vmlsle.s16', + 'vmlseq.s32','vmlsne.s32','vmlscs.s32','vmlshs.s32','vmlscc.s32','vmlslo.s32','vmlsmi.s32','vmlspl.s32','vmlsvs.s32','vmlsvc.s32','vmlshi.s32','vmlsls.s32','vmlsge.s32','vmlslt.s32','vmlsgt.s32','vmlsle.s32', + 'vmlseq.u8','vmlsne.u8','vmlscs.u8','vmlshs.u8','vmlscc.u8','vmlslo.u8','vmlsmi.u8','vmlspl.u8','vmlsvs.u8','vmlsvc.u8','vmlshi.u8','vmlsls.u8','vmlsge.u8','vmlslt.u8','vmlsgt.u8','vmlsle.u8', + 'vmlseq.u16','vmlsne.u16','vmlscs.u16','vmlshs.u16','vmlscc.u16','vmlslo.u16','vmlsmi.u16','vmlspl.u16','vmlsvs.u16','vmlsvc.u16','vmlshi.u16','vmlsls.u16','vmlsge.u16','vmlslt.u16','vmlsgt.u16','vmlsle.u16', + 'vmlseq.u32','vmlsne.u32','vmlscs.u32','vmlshs.u32','vmlscc.u32','vmlslo.u32','vmlsmi.u32','vmlspl.u32','vmlsvs.u32','vmlsvc.u32','vmlshi.u32','vmlsls.u32','vmlsge.u32','vmlslt.u32','vmlsgt.u32','vmlsle.u32', + 'vmlseq.i8','vmlsne.i8','vmlscs.i8','vmlshs.i8','vmlscc.i8','vmlslo.i8','vmlsmi.i8','vmlspl.i8','vmlsvs.i8','vmlsvc.i8','vmlshi.i8','vmlsls.i8','vmlsge.i8','vmlslt.i8','vmlsgt.i8','vmlsle.i8', + 'vmlseq.i16','vmlsne.i16','vmlscs.i16','vmlshs.i16','vmlscc.i16','vmlslo.i16','vmlsmi.i16','vmlspl.i16','vmlsvs.i16','vmlsvc.i16','vmlshi.i16','vmlsls.i16','vmlsge.i16','vmlslt.i16','vmlsgt.i16','vmlsle.i16', + 'vmlseq.i32','vmlsne.i32','vmlscs.i32','vmlshs.i32','vmlscc.i32','vmlslo.i32','vmlsmi.i32','vmlspl.i32','vmlsvs.i32','vmlsvc.i32','vmlshi.i32','vmlsls.i32','vmlsge.i32','vmlslt.i32','vmlsgt.i32','vmlsle.i32', + + 'vmuleq.s8','vmulne.s8','vmulcs.s8','vmulhs.s8','vmulcc.s8','vmullo.s8','vmulmi.s8','vmulpl.s8','vmulvs.s8','vmulvc.s8','vmulhi.s8','vmulls.s8','vmulge.s8','vmullt.s8','vmulgt.s8','vmulle.s8', + 'vmuleq.s16','vmulne.s16','vmulcs.s16','vmulhs.s16','vmulcc.s16','vmullo.s16','vmulmi.s16','vmulpl.s16','vmulvs.s16','vmulvc.s16','vmulhi.s16','vmulls.s16','vmulge.s16','vmullt.s16','vmulgt.s16','vmulle.s16', + 'vmuleq.s32','vmulne.s32','vmulcs.s32','vmulhs.s32','vmulcc.s32','vmullo.s32','vmulmi.s32','vmulpl.s32','vmulvs.s32','vmulvc.s32','vmulhi.s32','vmulls.s32','vmulge.s32','vmullt.s32','vmulgt.s32','vmulle.s32', + 'vmuleq.u8','vmulne.u8','vmulcs.u8','vmulhs.u8','vmulcc.u8','vmullo.u8','vmulmi.u8','vmulpl.u8','vmulvs.u8','vmulvc.u8','vmulhi.u8','vmulls.u8','vmulge.u8','vmullt.u8','vmulgt.u8','vmulle.u8', + 'vmuleq.u16','vmulne.u16','vmulcs.u16','vmulhs.u16','vmulcc.u16','vmullo.u16','vmulmi.u16','vmulpl.u16','vmulvs.u16','vmulvc.u16','vmulhi.u16','vmulls.u16','vmulge.u16','vmullt.u16','vmulgt.u16','vmulle.u16', + 'vmuleq.u32','vmulne.u32','vmulcs.u32','vmulhs.u32','vmulcc.u32','vmullo.u32','vmulmi.u32','vmulpl.u32','vmulvs.u32','vmulvc.u32','vmulhi.u32','vmulls.u32','vmulge.u32','vmullt.u32','vmulgt.u32','vmulle.u32', + 'vmuleq.i8','vmulne.i8','vmulcs.i8','vmulhs.i8','vmulcc.i8','vmullo.i8','vmulmi.i8','vmulpl.i8','vmulvs.i8','vmulvc.i8','vmulhi.i8','vmulls.i8','vmulge.i8','vmullt.i8','vmulgt.i8','vmulle.i8', + 'vmuleq.i16','vmulne.i16','vmulcs.i16','vmulhs.i16','vmulcc.i16','vmullo.i16','vmulmi.i16','vmulpl.i16','vmulvs.i16','vmulvc.i16','vmulhi.i16','vmulls.i16','vmulge.i16','vmullt.i16','vmulgt.i16','vmulle.i16', + 'vmuleq.i32','vmulne.i32','vmulcs.i32','vmulhs.i32','vmulcc.i32','vmullo.i32','vmulmi.i32','vmulpl.i32','vmulvs.i32','vmulvc.i32','vmulhi.i32','vmulls.i32','vmulge.i32','vmullt.i32','vmulgt.i32','vmulle.i32', + 'vmuleq.p8','vmulne.p8','vmulcs.p8','vmulhs.p8','vmulcc.p8','vmullo.p8','vmulmi.p8','vmulpl.p8','vmulvs.p8','vmulvc.p8','vmulhi.p8','vmulls.p8','vmulge.p8','vmullt.p8','vmulgt.p8','vmulle.p8', + + 'vrshrneq.i16','vrshrnne.i16','vrshrncs.i16','vrshrnhs.i16','vrshrncc.i16','vrshrnlo.i16','vrshrnmi.i16','vrshrnpl.i16','vrshrnvs.i16','vrshrnvc.i16','vrshrnhi.i16','vrshrnls.i16','vrshrnge.i16','vrshrnlt.i16','vrshrngt.i16','vrshrnle.i16', + 'vrshrneq.i32','vrshrnne.i32','vrshrncs.i32','vrshrnhs.i32','vrshrncc.i32','vrshrnlo.i32','vrshrnmi.i32','vrshrnpl.i32','vrshrnvs.i32','vrshrnvc.i32','vrshrnhi.i32','vrshrnls.i32','vrshrnge.i32','vrshrnlt.i32','vrshrngt.i32','vrshrnle.i32', + 'vrshrneq.i64','vrshrnne.i64','vrshrncs.i64','vrshrnhs.i64','vrshrncc.i64','vrshrnlo.i64','vrshrnmi.i64','vrshrnpl.i64','vrshrnvs.i64','vrshrnvc.i64','vrshrnhi.i64','vrshrnls.i64','vrshrnge.i64','vrshrnlt.i64','vrshrngt.i64','vrshrnle.i64', + + 'vshrneq.i16','vshrnne.i16','vshrncs.i16','vshrnhs.i16','vshrncc.i16','vshrnlo.i16','vshrnmi.i16','vshrnpl.i16','vshrnvs.i16','vshrnvc.i16','vshrnhi.i16','vshrnls.i16','vshrnge.i16','vshrnlt.i16','vshrngt.i16','vshrnle.i16', + 'vshrneq.i32','vshrnne.i32','vshrncs.i32','vshrnhs.i32','vshrncc.i32','vshrnlo.i32','vshrnmi.i32','vshrnpl.i32','vshrnvs.i32','vshrnvc.i32','vshrnhi.i32','vshrnls.i32','vshrnge.i32','vshrnlt.i32','vshrngt.i32','vshrnle.i32', + 'vshrneq.i64','vshrnne.i64','vshrncs.i64','vshrnhs.i64','vshrncc.i64','vshrnlo.i64','vshrnmi.i64','vshrnpl.i64','vshrnvs.i64','vshrnvc.i64','vshrnhi.i64','vshrnls.i64','vshrnge.i64','vshrnlt.i64','vshrngt.i64','vshrnle.i64', + + 'vshleq.i8','vshlne.i8','vshlcs.i8','vshlhs.i8','vshlcc.i8','vshllo.i8','vshlmi.i8','vshlpl.i8','vshlvs.i8','vshlvc.i8','vshlhi.i8','vshlls.i8','vshlge.i8','vshllt.i8','vshlgt.i8','vshlle.i8', + 'vshleq.i16','vshlne.i16','vshlcs.i16','vshlhs.i16','vshlcc.i16','vshllo.i16','vshlmi.i16','vshlpl.i16','vshlvs.i16','vshlvc.i16','vshlhi.i16','vshlls.i16','vshlge.i16','vshllt.i16','vshlgt.i16','vshlle.i16', + 'vshleq.i32','vshlne.i32','vshlcs.i32','vshlhs.i32','vshlcc.i32','vshllo.i32','vshlmi.i32','vshlpl.i32','vshlvs.i32','vshlvc.i32','vshlhi.i32','vshlls.i32','vshlge.i32','vshllt.i32','vshlgt.i32','vshlle.i32', + 'vshleq.i64','vshlne.i64','vshlcs.i64','vshlhs.i64','vshlcc.i64','vshllo.i64','vshlmi.i64','vshlpl.i64','vshlvs.i64','vshlvc.i64','vshlhi.i64','vshlls.i64','vshlge.i64','vshllt.i64','vshlgt.i64','vshlle.i64', + + 'vshlleq.i8','vshllne.i8','vshllcs.i8','vshllhs.i8','vshllcc.i8','vshlllo.i8','vshllmi.i8','vshllpl.i8','vshllvs.i8','vshllvc.i8','vshllhi.i8','vshllls.i8','vshllge.i8','vshlllt.i8','vshllgt.i8','vshllle.i8', + 'vshlleq.i16','vshllne.i16','vshllcs.i16','vshllhs.i16','vshllcc.i16','vshlllo.i16','vshllmi.i16','vshllpl.i16','vshllvs.i16','vshllvc.i16','vshllhi.i16','vshllls.i16','vshllge.i16','vshlllt.i16','vshllgt.i16','vshllle.i16', + 'vshlleq.i32','vshllne.i32','vshllcs.i32','vshllhs.i32','vshllcc.i32','vshlllo.i32','vshllmi.i32','vshllpl.i32','vshllvs.i32','vshllvc.i32','vshllhi.i32','vshllls.i32','vshllge.i32','vshlllt.i32','vshllgt.i32','vshllle.i32' + ), + /* Conditional NEON SIMD Signed Integer Instructions */ + 32 => array( + 'vabaeq.s8','vabane.s8','vabacs.s8','vabahs.s8','vabacc.s8','vabalo.s8','vabami.s8','vabapl.s8','vabavs.s8','vabavc.s8','vabahi.s8','vabals.s8','vabage.s8','vabalt.s8','vabagt.s8','vabale.s8', + 'vabaeq.s16','vabane.s16','vabacs.s16','vabahs.s16','vabacc.s16','vabalo.s16','vabami.s16','vabapl.s16','vabavs.s16','vabavc.s16','vabahi.s16','vabals.s16','vabage.s16','vabalt.s16','vabagt.s16','vabale.s16', + 'vabaeq.s32','vabane.s32','vabacs.s32','vabahs.s32','vabacc.s32','vabalo.s32','vabami.s32','vabapl.s32','vabavs.s32','vabavc.s32','vabahi.s32','vabals.s32','vabage.s32','vabalt.s32','vabagt.s32','vabale.s32', + + 'vabaleq.s8','vabalne.s8','vabalcs.s8','vabalhs.s8','vabalcc.s8','vaballo.s8','vabalmi.s8','vabalpl.s8','vabalvs.s8','vabalvc.s8','vabalhi.s8','vaballs.s8','vabalge.s8','vaballt.s8','vabalgt.s8','vaballe.s8', + 'vabaleq.s16','vabalne.s16','vabalcs.s16','vabalhs.s16','vabalcc.s16','vaballo.s16','vabalmi.s16','vabalpl.s16','vabalvs.s16','vabalvc.s16','vabalhi.s16','vaballs.s16','vabalge.s16','vaballt.s16','vabalgt.s16','vaballe.s16', + 'vabaleq.s32','vabalne.s32','vabalcs.s32','vabalhs.s32','vabalcc.s32','vaballo.s32','vabalmi.s32','vabalpl.s32','vabalvs.s32','vabalvc.s32','vabalhi.s32','vaballs.s32','vabalge.s32','vaballt.s32','vabalgt.s32','vaballe.s32', + + 'vabdeq.s8','vabdne.s8','vabdcs.s8','vabdhs.s8','vabdcc.s8','vabdlo.s8','vabdmi.s8','vabdpl.s8','vabdvs.s8','vabdvc.s8','vabdhi.s8','vabdls.s8','vabdge.s8','vabdlt.s8','vabdgt.s8','vabdle.s8', + 'vabdeq.s16','vabdne.s16','vabdcs.s16','vabdhs.s16','vabdcc.s16','vabdlo.s16','vabdmi.s16','vabdpl.s16','vabdvs.s16','vabdvc.s16','vabdhi.s16','vabdls.s16','vabdge.s16','vabdlt.s16','vabdgt.s16','vabdle.s16', + 'vabdeq.s32','vabdne.s32','vabdcs.s32','vabdhs.s32','vabdcc.s32','vabdlo.s32','vabdmi.s32','vabdpl.s32','vabdvs.s32','vabdvc.s32','vabdhi.s32','vabdls.s32','vabdge.s32','vabdlt.s32','vabdgt.s32','vabdle.s32', + + 'vabseq.s8','vabsne.s8','vabscs.s8','vabshs.s8','vabscc.s8','vabslo.s8','vabsmi.s8','vabspl.s8','vabsvs.s8','vabsvc.s8','vabshi.s8','vabsls.s8','vabsge.s8','vabslt.s8','vabsgt.s8','vabsle.s8', + 'vabseq.s16','vabsne.s16','vabscs.s16','vabshs.s16','vabscc.s16','vabslo.s16','vabsmi.s16','vabspl.s16','vabsvs.s16','vabsvc.s16','vabshi.s16','vabsls.s16','vabsge.s16','vabslt.s16','vabsgt.s16','vabsle.s16', + 'vabseq.s32','vabsne.s32','vabscs.s32','vabshs.s32','vabscc.s32','vabslo.s32','vabsmi.s32','vabspl.s32','vabsvs.s32','vabsvc.s32','vabshi.s32','vabsls.s32','vabsge.s32','vabslt.s32','vabsgt.s32','vabsle.s32', + + 'vaddleq.s8','vaddlne.s8','vaddlcs.s8','vaddlhs.s8','vaddlcc.s8','vaddllo.s8','vaddlmi.s8','vaddlpl.s8','vaddlvs.s8','vaddlvc.s8','vaddlhi.s8','vaddlls.s8','vaddlge.s8','vaddllt.s8','vaddlgt.s8','vaddlle.s8', + 'vaddleq.s16','vaddlne.s16','vaddlcs.s16','vaddlhs.s16','vaddlcc.s16','vaddllo.s16','vaddlmi.s16','vaddlpl.s16','vaddlvs.s16','vaddlvc.s16','vaddlhi.s16','vaddlls.s16','vaddlge.s16','vaddllt.s16','vaddlgt.s16','vaddlle.s16', + 'vaddleq.s32','vaddlne.s32','vaddlcs.s32','vaddlhs.s32','vaddlcc.s32','vaddllo.s32','vaddlmi.s32','vaddlpl.s32','vaddlvs.s32','vaddlvc.s32','vaddlhi.s32','vaddlls.s32','vaddlge.s32','vaddllt.s32','vaddlgt.s32','vaddlle.s32', + + 'vcgeeq.s8','vcgene.s8','vcgecs.s8','vcgehs.s8','vcgecc.s8','vcgelo.s8','vcgemi.s8','vcgepl.s8','vcgevs.s8','vcgevc.s8','vcgehi.s8','vcgels.s8','vcgege.s8','vcgelt.s8','vcgegt.s8','vcgele.s8', + 'vcgeeq.s16','vcgene.s16','vcgecs.s16','vcgehs.s16','vcgecc.s16','vcgelo.s16','vcgemi.s16','vcgepl.s16','vcgevs.s16','vcgevc.s16','vcgehi.s16','vcgels.s16','vcgege.s16','vcgelt.s16','vcgegt.s16','vcgele.s16', + 'vcgeeq.s32','vcgene.s32','vcgecs.s32','vcgehs.s32','vcgecc.s32','vcgelo.s32','vcgemi.s32','vcgepl.s32','vcgevs.s32','vcgevc.s32','vcgehi.s32','vcgels.s32','vcgege.s32','vcgelt.s32','vcgegt.s32','vcgele.s32', + + 'vcleeq.s8','vclene.s8','vclecs.s8','vclehs.s8','vclecc.s8','vclelo.s8','vclemi.s8','vclepl.s8','vclevs.s8','vclevc.s8','vclehi.s8','vclels.s8','vclege.s8','vclelt.s8','vclegt.s8','vclele.s8', + 'vcleeq.s16','vclene.s16','vclecs.s16','vclehs.s16','vclecc.s16','vclelo.s16','vclemi.s16','vclepl.s16','vclevs.s16','vclevc.s16','vclehi.s16','vclels.s16','vclege.s16','vclelt.s16','vclegt.s16','vclele.s16', + 'vcleeq.s32','vclene.s32','vclecs.s32','vclehs.s32','vclecc.s32','vclelo.s32','vclemi.s32','vclepl.s32','vclevs.s32','vclevc.s32','vclehi.s32','vclels.s32','vclege.s32','vclelt.s32','vclegt.s32','vclele.s32', + + 'vcgteq.s8','vcgtne.s8','vcgtcs.s8','vcgths.s8','vcgtcc.s8','vcgtlo.s8','vcgtmi.s8','vcgtpl.s8','vcgtvs.s8','vcgtvc.s8','vcgthi.s8','vcgtls.s8','vcgtge.s8','vcgtlt.s8','vcgtgt.s8','vcgtle.s8', + 'vcgteq.s16','vcgtne.s16','vcgtcs.s16','vcgths.s16','vcgtcc.s16','vcgtlo.s16','vcgtmi.s16','vcgtpl.s16','vcgtvs.s16','vcgtvc.s16','vcgthi.s16','vcgtls.s16','vcgtge.s16','vcgtlt.s16','vcgtgt.s16','vcgtle.s16', + 'vcgteq.s32','vcgtne.s32','vcgtcs.s32','vcgths.s32','vcgtcc.s32','vcgtlo.s32','vcgtmi.s32','vcgtpl.s32','vcgtvs.s32','vcgtvc.s32','vcgthi.s32','vcgtls.s32','vcgtge.s32','vcgtlt.s32','vcgtgt.s32','vcgtle.s32', + + 'vclteq.s8','vcltne.s8','vcltcs.s8','vclths.s8','vcltcc.s8','vcltlo.s8','vcltmi.s8','vcltpl.s8','vcltvs.s8','vcltvc.s8','vclthi.s8','vcltls.s8','vcltge.s8','vcltlt.s8','vcltgt.s8','vcltle.s8', + 'vclteq.s16','vcltne.s16','vcltcs.s16','vclths.s16','vcltcc.s16','vcltlo.s16','vcltmi.s16','vcltpl.s16','vcltvs.s16','vcltvc.s16','vclthi.s16','vcltls.s16','vcltge.s16','vcltlt.s16','vcltgt.s16','vcltle.s16', + 'vclteq.s32','vcltne.s32','vcltcs.s32','vclths.s32','vcltcc.s32','vcltlo.s32','vcltmi.s32','vcltpl.s32','vcltvs.s32','vcltvc.s32','vclthi.s32','vcltls.s32','vcltge.s32','vcltlt.s32','vcltgt.s32','vcltle.s32', + + 'vclseq.s8','vclsne.s8','vclscs.s8','vclshs.s8','vclscc.s8','vclslo.s8','vclsmi.s8','vclspl.s8','vclsvs.s8','vclsvc.s8','vclshi.s8','vclsls.s8','vclsge.s8','vclslt.s8','vclsgt.s8','vclsle.s8', + 'vclseq.s16','vclsne.s16','vclscs.s16','vclshs.s16','vclscc.s16','vclslo.s16','vclsmi.s16','vclspl.s16','vclsvs.s16','vclsvc.s16','vclshi.s16','vclsls.s16','vclsge.s16','vclslt.s16','vclsgt.s16','vclsle.s16', + 'vclseq.s32','vclsne.s32','vclscs.s32','vclshs.s32','vclscc.s32','vclslo.s32','vclsmi.s32','vclspl.s32','vclsvs.s32','vclsvc.s32','vclshi.s32','vclsls.s32','vclsge.s32','vclslt.s32','vclsgt.s32','vclsle.s32', + + 'vaddweq.s8','vaddwne.s8','vaddwcs.s8','vaddwhs.s8','vaddwcc.s8','vaddwlo.s8','vaddwmi.s8','vaddwpl.s8','vaddwvs.s8','vaddwvc.s8','vaddwhi.s8','vaddwls.s8','vaddwge.s8','vaddwlt.s8','vaddwgt.s8','vaddwle.s8', + 'vaddweq.s16','vaddwne.s16','vaddwcs.s16','vaddwhs.s16','vaddwcc.s16','vaddwlo.s16','vaddwmi.s16','vaddwpl.s16','vaddwvs.s16','vaddwvc.s16','vaddwhi.s16','vaddwls.s16','vaddwge.s16','vaddwlt.s16','vaddwgt.s16','vaddwle.s16', + 'vaddweq.s32','vaddwne.s32','vaddwcs.s32','vaddwhs.s32','vaddwcc.s32','vaddwlo.s32','vaddwmi.s32','vaddwpl.s32','vaddwvs.s32','vaddwvc.s32','vaddwhi.s32','vaddwls.s32','vaddwge.s32','vaddwlt.s32','vaddwgt.s32','vaddwle.s32', + + 'vhaddeq.s8','vhaddne.s8','vhaddcs.s8','vhaddhs.s8','vhaddcc.s8','vhaddlo.s8','vhaddmi.s8','vhaddpl.s8','vhaddvs.s8','vhaddvc.s8','vhaddhi.s8','vhaddls.s8','vhaddge.s8','vhaddlt.s8','vhaddgt.s8','vhaddle.s8', + 'vhaddeq.s16','vhaddne.s16','vhaddcs.s16','vhaddhs.s16','vhaddcc.s16','vhaddlo.s16','vhaddmi.s16','vhaddpl.s16','vhaddvs.s16','vhaddvc.s16','vhaddhi.s16','vhaddls.s16','vhaddge.s16','vhaddlt.s16','vhaddgt.s16','vhaddle.s16', + 'vhaddeq.s32','vhaddne.s32','vhaddcs.s32','vhaddhs.s32','vhaddcc.s32','vhaddlo.s32','vhaddmi.s32','vhaddpl.s32','vhaddvs.s32','vhaddvc.s32','vhaddhi.s32','vhaddls.s32','vhaddge.s32','vhaddlt.s32','vhaddgt.s32','vhaddle.s32', + + 'vhsubeq.s8','vhsubne.s8','vhsubcs.s8','vhsubhs.s8','vhsubcc.s8','vhsublo.s8','vhsubmi.s8','vhsubpl.s8','vhsubvs.s8','vhsubvc.s8','vhsubhi.s8','vhsubls.s8','vhsubge.s8','vhsublt.s8','vhsubgt.s8','vhsuble.s8', + 'vhsubeq.s16','vhsubne.s16','vhsubcs.s16','vhsubhs.s16','vhsubcc.s16','vhsublo.s16','vhsubmi.s16','vhsubpl.s16','vhsubvs.s16','vhsubvc.s16','vhsubhi.s16','vhsubls.s16','vhsubge.s16','vhsublt.s16','vhsubgt.s16','vhsuble.s16', + 'vhsubeq.s32','vhsubne.s32','vhsubcs.s32','vhsubhs.s32','vhsubcc.s32','vhsublo.s32','vhsubmi.s32','vhsubpl.s32','vhsubvs.s32','vhsubvc.s32','vhsubhi.s32','vhsubls.s32','vhsubge.s32','vhsublt.s32','vhsubgt.s32','vhsuble.s32', + + 'vmaxeq.s8','vmaxne.s8','vmaxcs.s8','vmaxhs.s8','vmaxcc.s8','vmaxlo.s8','vmaxmi.s8','vmaxpl.s8','vmaxvs.s8','vmaxvc.s8','vmaxhi.s8','vmaxls.s8','vmaxge.s8','vmaxlt.s8','vmaxgt.s8','vmaxle.s8', + 'vmaxeq.s16','vmaxne.s16','vmaxcs.s16','vmaxhs.s16','vmaxcc.s16','vmaxlo.s16','vmaxmi.s16','vmaxpl.s16','vmaxvs.s16','vmaxvc.s16','vmaxhi.s16','vmaxls.s16','vmaxge.s16','vmaxlt.s16','vmaxgt.s16','vmaxle.s16', + 'vmaxeq.s32','vmaxne.s32','vmaxcs.s32','vmaxhs.s32','vmaxcc.s32','vmaxlo.s32','vmaxmi.s32','vmaxpl.s32','vmaxvs.s32','vmaxvc.s32','vmaxhi.s32','vmaxls.s32','vmaxge.s32','vmaxlt.s32','vmaxgt.s32','vmaxle.s32', + + 'vmineq.s8','vminne.s8','vmincs.s8','vminhs.s8','vmincc.s8','vminlo.s8','vminmi.s8','vminpl.s8','vminvs.s8','vminvc.s8','vminhi.s8','vminls.s8','vminge.s8','vminlt.s8','vmingt.s8','vminle.s8', + 'vmineq.s16','vminne.s16','vmincs.s16','vminhs.s16','vmincc.s16','vminlo.s16','vminmi.s16','vminpl.s16','vminvs.s16','vminvc.s16','vminhi.s16','vminls.s16','vminge.s16','vminlt.s16','vmingt.s16','vminle.s16', + 'vmineq.s32','vminne.s32','vmincs.s32','vminhs.s32','vmincc.s32','vminlo.s32','vminmi.s32','vminpl.s32','vminvs.s32','vminvc.s32','vminhi.s32','vminls.s32','vminge.s32','vminlt.s32','vmingt.s32','vminle.s32', + + 'vmlaleq.s8','vmlalne.s8','vmlalcs.s8','vmlalhs.s8','vmlalcc.s8','vmlallo.s8','vmlalmi.s8','vmlalpl.s8','vmlalvs.s8','vmlalvc.s8','vmlalhi.s8','vmlalls.s8','vmlalge.s8','vmlallt.s8','vmlalgt.s8','vmlalle.s8', + 'vmlaleq.s16','vmlalne.s16','vmlalcs.s16','vmlalhs.s16','vmlalcc.s16','vmlallo.s16','vmlalmi.s16','vmlalpl.s16','vmlalvs.s16','vmlalvc.s16','vmlalhi.s16','vmlalls.s16','vmlalge.s16','vmlallt.s16','vmlalgt.s16','vmlalle.s16', + 'vmlaleq.s32','vmlalne.s32','vmlalcs.s32','vmlalhs.s32','vmlalcc.s32','vmlallo.s32','vmlalmi.s32','vmlalpl.s32','vmlalvs.s32','vmlalvc.s32','vmlalhi.s32','vmlalls.s32','vmlalge.s32','vmlallt.s32','vmlalgt.s32','vmlalle.s32', + + 'vmlsleq.s8','vmlslne.s8','vmlslcs.s8','vmlslhs.s8','vmlslcc.s8','vmlsllo.s8','vmlslmi.s8','vmlslpl.s8','vmlslvs.s8','vmlslvc.s8','vmlslhi.s8','vmlslls.s8','vmlslge.s8','vmlsllt.s8','vmlslgt.s8','vmlslle.s8', + 'vmlsleq.s16','vmlslne.s16','vmlslcs.s16','vmlslhs.s16','vmlslcc.s16','vmlsllo.s16','vmlslmi.s16','vmlslpl.s16','vmlslvs.s16','vmlslvc.s16','vmlslhi.s16','vmlslls.s16','vmlslge.s16','vmlsllt.s16','vmlslgt.s16','vmlslle.s16', + 'vmlsleq.s32','vmlslne.s32','vmlslcs.s32','vmlslhs.s32','vmlslcc.s32','vmlsllo.s32','vmlslmi.s32','vmlslpl.s32','vmlslvs.s32','vmlslvc.s32','vmlslhi.s32','vmlslls.s32','vmlslge.s32','vmlsllt.s32','vmlslgt.s32','vmlslle.s32', + + 'vnegeq.s8','vnegne.s8','vnegcs.s8','vneghs.s8','vnegcc.s8','vneglo.s8','vnegmi.s8','vnegpl.s8','vnegvs.s8','vnegvc.s8','vneghi.s8','vnegls.s8','vnegge.s8','vneglt.s8','vneggt.s8','vnegle.s8', + 'vnegeq.s16','vnegne.s16','vnegcs.s16','vneghs.s16','vnegcc.s16','vneglo.s16','vnegmi.s16','vnegpl.s16','vnegvs.s16','vnegvc.s16','vneghi.s16','vnegls.s16','vnegge.s16','vneglt.s16','vneggt.s16','vnegle.s16', + 'vnegeq.s32','vnegne.s32','vnegcs.s32','vneghs.s32','vnegcc.s32','vneglo.s32','vnegmi.s32','vnegpl.s32','vnegvs.s32','vnegvc.s32','vneghi.s32','vnegls.s32','vnegge.s32','vneglt.s32','vneggt.s32','vnegle.s32', + + 'vpadaleq.s8','vpadalne.s8','vpadalcs.s8','vpadalhs.s8','vpadalcc.s8','vpadallo.s8','vpadalmi.s8','vpadalpl.s8','vpadalvs.s8','vpadalvc.s8','vpadalhi.s8','vpadalls.s8','vpadalge.s8','vpadallt.s8','vpadalgt.s8','vpadalle.s8', + 'vpadaleq.s16','vpadalne.s16','vpadalcs.s16','vpadalhs.s16','vpadalcc.s16','vpadallo.s16','vpadalmi.s16','vpadalpl.s16','vpadalvs.s16','vpadalvc.s16','vpadalhi.s16','vpadalls.s16','vpadalge.s16','vpadallt.s16','vpadalgt.s16','vpadalle.s16', + 'vpadaleq.s32','vpadalne.s32','vpadalcs.s32','vpadalhs.s32','vpadalcc.s32','vpadallo.s32','vpadalmi.s32','vpadalpl.s32','vpadalvs.s32','vpadalvc.s32','vpadalhi.s32','vpadalls.s32','vpadalge.s32','vpadallt.s32','vpadalgt.s32','vpadalle.s32', + + 'vmovleq.s8','vmovlne.s8','vmovlcs.s8','vmovlhs.s8','vmovlcc.s8','vmovllo.s8','vmovlmi.s8','vmovlpl.s8','vmovlvs.s8','vmovlvc.s8','vmovlhi.s8','vmovlls.s8','vmovlge.s8','vmovllt.s8','vmovlgt.s8','vmovlle.s8', + 'vmovleq.s16','vmovlne.s16','vmovlcs.s16','vmovlhs.s16','vmovlcc.s16','vmovllo.s16','vmovlmi.s16','vmovlpl.s16','vmovlvs.s16','vmovlvc.s16','vmovlhi.s16','vmovlls.s16','vmovlge.s16','vmovllt.s16','vmovlgt.s16','vmovlle.s16', + 'vmovleq.s32','vmovlne.s32','vmovlcs.s32','vmovlhs.s32','vmovlcc.s32','vmovllo.s32','vmovlmi.s32','vmovlpl.s32','vmovlvs.s32','vmovlvc.s32','vmovlhi.s32','vmovlls.s32','vmovlge.s32','vmovllt.s32','vmovlgt.s32','vmovlle.s32', + + 'vmulleq.s8','vmullne.s8','vmullcs.s8','vmullhs.s8','vmullcc.s8','vmulllo.s8','vmullmi.s8','vmullpl.s8','vmullvs.s8','vmullvc.s8','vmullhi.s8','vmullls.s8','vmullge.s8','vmulllt.s8','vmullgt.s8','vmullle.s8', + 'vmulleq.s16','vmullne.s16','vmullcs.s16','vmullhs.s16','vmullcc.s16','vmulllo.s16','vmullmi.s16','vmullpl.s16','vmullvs.s16','vmullvc.s16','vmullhi.s16','vmullls.s16','vmullge.s16','vmulllt.s16','vmullgt.s16','vmullle.s16', + 'vmulleq.s32','vmullne.s32','vmullcs.s32','vmullhs.s32','vmullcc.s32','vmulllo.s32','vmullmi.s32','vmullpl.s32','vmullvs.s32','vmullvc.s32','vmullhi.s32','vmullls.s32','vmullge.s32','vmulllt.s32','vmullgt.s32','vmullle.s32', + + 'vpaddleq.s8','vpaddlne.s8','vpaddlcs.s8','vpaddlhs.s8','vpaddlcc.s8','vpaddllo.s8','vpaddlmi.s8','vpaddlpl.s8','vpaddlvs.s8','vpaddlvc.s8','vpaddlhi.s8','vpaddlls.s8','vpaddlge.s8','vpaddllt.s8','vpaddlgt.s8','vpaddlle.s8', + 'vpaddleq.s16','vpaddlne.s16','vpaddlcs.s16','vpaddlhs.s16','vpaddlcc.s16','vpaddllo.s16','vpaddlmi.s16','vpaddlpl.s16','vpaddlvs.s16','vpaddlvc.s16','vpaddlhi.s16','vpaddlls.s16','vpaddlge.s16','vpaddllt.s16','vpaddlgt.s16','vpaddlle.s16', + 'vpaddleq.s32','vpaddlne.s32','vpaddlcs.s32','vpaddlhs.s32','vpaddlcc.s32','vpaddllo.s32','vpaddlmi.s32','vpaddlpl.s32','vpaddlvs.s32','vpaddlvc.s32','vpaddlhi.s32','vpaddlls.s32','vpaddlge.s32','vpaddllt.s32','vpaddlgt.s32','vpaddlle.s32', + + 'vpmaxeq.s8','vpmaxne.s8','vpmaxcs.s8','vpmaxhs.s8','vpmaxcc.s8','vpmaxlo.s8','vpmaxmi.s8','vpmaxpl.s8','vpmaxvs.s8','vpmaxvc.s8','vpmaxhi.s8','vpmaxls.s8','vpmaxge.s8','vpmaxlt.s8','vpmaxgt.s8','vpmaxle.s8', + 'vpmaxeq.s16','vpmaxne.s16','vpmaxcs.s16','vpmaxhs.s16','vpmaxcc.s16','vpmaxlo.s16','vpmaxmi.s16','vpmaxpl.s16','vpmaxvs.s16','vpmaxvc.s16','vpmaxhi.s16','vpmaxls.s16','vpmaxge.s16','vpmaxlt.s16','vpmaxgt.s16','vpmaxle.s16', + 'vpmaxeq.s32','vpmaxne.s32','vpmaxcs.s32','vpmaxhs.s32','vpmaxcc.s32','vpmaxlo.s32','vpmaxmi.s32','vpmaxpl.s32','vpmaxvs.s32','vpmaxvc.s32','vpmaxhi.s32','vpmaxls.s32','vpmaxge.s32','vpmaxlt.s32','vpmaxgt.s32','vpmaxle.s32', + + 'vpmineq.s8','vpminne.s8','vpmincs.s8','vpminhs.s8','vpmincc.s8','vpminlo.s8','vpminmi.s8','vpminpl.s8','vpminvs.s8','vpminvc.s8','vpminhi.s8','vpminls.s8','vpminge.s8','vpminlt.s8','vpmingt.s8','vpminle.s8', + 'vpmineq.s16','vpminne.s16','vpmincs.s16','vpminhs.s16','vpmincc.s16','vpminlo.s16','vpminmi.s16','vpminpl.s16','vpminvs.s16','vpminvc.s16','vpminhi.s16','vpminls.s16','vpminge.s16','vpminlt.s16','vpmingt.s16','vpminle.s16', + 'vpmineq.s32','vpminne.s32','vpmincs.s32','vpminhs.s32','vpmincc.s32','vpminlo.s32','vpminmi.s32','vpminpl.s32','vpminvs.s32','vpminvc.s32','vpminhi.s32','vpminls.s32','vpminge.s32','vpminlt.s32','vpmingt.s32','vpminle.s32', + + 'vqabseq.s8','vqabsne.s8','vqabscs.s8','vqabshs.s8','vqabscc.s8','vqabslo.s8','vqabsmi.s8','vqabspl.s8','vqabsvs.s8','vqabsvc.s8','vqabshi.s8','vqabsls.s8','vqabsge.s8','vqabslt.s8','vqabsgt.s8','vqabsle.s8', + 'vqabseq.s16','vqabsne.s16','vqabscs.s16','vqabshs.s16','vqabscc.s16','vqabslo.s16','vqabsmi.s16','vqabspl.s16','vqabsvs.s16','vqabsvc.s16','vqabshi.s16','vqabsls.s16','vqabsge.s16','vqabslt.s16','vqabsgt.s16','vqabsle.s16', + 'vqabseq.s32','vqabsne.s32','vqabscs.s32','vqabshs.s32','vqabscc.s32','vqabslo.s32','vqabsmi.s32','vqabspl.s32','vqabsvs.s32','vqabsvc.s32','vqabshi.s32','vqabsls.s32','vqabsge.s32','vqabslt.s32','vqabsgt.s32','vqabsle.s32', + + 'vqaddeq.s8','vqaddne.s8','vqaddcs.s8','vqaddhs.s8','vqaddcc.s8','vqaddlo.s8','vqaddmi.s8','vqaddpl.s8','vqaddvs.s8','vqaddvc.s8','vqaddhi.s8','vqaddls.s8','vqaddge.s8','vqaddlt.s8','vqaddgt.s8','vqaddle.s8', + 'vqaddeq.s16','vqaddne.s16','vqaddcs.s16','vqaddhs.s16','vqaddcc.s16','vqaddlo.s16','vqaddmi.s16','vqaddpl.s16','vqaddvs.s16','vqaddvc.s16','vqaddhi.s16','vqaddls.s16','vqaddge.s16','vqaddlt.s16','vqaddgt.s16','vqaddle.s16', + 'vqaddeq.s32','vqaddne.s32','vqaddcs.s32','vqaddhs.s32','vqaddcc.s32','vqaddlo.s32','vqaddmi.s32','vqaddpl.s32','vqaddvs.s32','vqaddvc.s32','vqaddhi.s32','vqaddls.s32','vqaddge.s32','vqaddlt.s32','vqaddgt.s32','vqaddle.s32', + 'vqaddeq.s64','vqaddne.s64','vqaddcs.s64','vqaddhs.s64','vqaddcc.s64','vqaddlo.s64','vqaddmi.s64','vqaddpl.s64','vqaddvs.s64','vqaddvc.s64','vqaddhi.s64','vqaddls.s64','vqaddge.s64','vqaddlt.s64','vqaddgt.s64','vqaddle.s64', + + 'vqdmlaleq.s16','vqdmlalne.s16','vqdmlalcs.s16','vqdmlalhs.s16','vqdmlalcc.s16','vqdmlallo.s16','vqdmlalmi.s16','vqdmlalpl.s16','vqdmlalvs.s16','vqdmlalvc.s16','vqdmlalhi.s16','vqdmlalls.s16','vqdmlalge.s16','vqdmlallt.s16','vqdmlalgt.s16','vqdmlalle.s16', + 'vqdmlaleq.s32','vqdmlalne.s32','vqdmlalcs.s32','vqdmlalhs.s32','vqdmlalcc.s32','vqdmlallo.s32','vqdmlalmi.s32','vqdmlalpl.s32','vqdmlalvs.s32','vqdmlalvc.s32','vqdmlalhi.s32','vqdmlalls.s32','vqdmlalge.s32','vqdmlallt.s32','vqdmlalgt.s32','vqdmlalle.s32', + + 'vqdmlsleq.s16','vqdmlslne.s16','vqdmlslcs.s16','vqdmlslhs.s16','vqdmlslcc.s16','vqdmlsllo.s16','vqdmlslmi.s16','vqdmlslpl.s16','vqdmlslvs.s16','vqdmlslvc.s16','vqdmlslhi.s16','vqdmlslls.s16','vqdmlslge.s16','vqdmlsllt.s16','vqdmlslgt.s16','vqdmlslle.s16', + 'vqdmlsleq.s32','vqdmlslne.s32','vqdmlslcs.s32','vqdmlslhs.s32','vqdmlslcc.s32','vqdmlsllo.s32','vqdmlslmi.s32','vqdmlslpl.s32','vqdmlslvs.s32','vqdmlslvc.s32','vqdmlslhi.s32','vqdmlslls.s32','vqdmlslge.s32','vqdmlsllt.s32','vqdmlslgt.s32','vqdmlslle.s32', + + 'vqdmulheq.s16','vqdmulhne.s16','vqdmulhcs.s16','vqdmulhhs.s16','vqdmulhcc.s16','vqdmulhlo.s16','vqdmulhmi.s16','vqdmulhpl.s16','vqdmulhvs.s16','vqdmulhvc.s16','vqdmulhhi.s16','vqdmulhls.s16','vqdmulhge.s16','vqdmulhlt.s16','vqdmulhgt.s16','vqdmulhle.s16', + 'vqdmulheq.s32','vqdmulhne.s32','vqdmulhcs.s32','vqdmulhhs.s32','vqdmulhcc.s32','vqdmulhlo.s32','vqdmulhmi.s32','vqdmulhpl.s32','vqdmulhvs.s32','vqdmulhvc.s32','vqdmulhhi.s32','vqdmulhls.s32','vqdmulhge.s32','vqdmulhlt.s32','vqdmulhgt.s32','vqdmulhle.s32', + + 'vqdmulleq.s16','vqdmullne.s16','vqdmullcs.s16','vqdmullhs.s16','vqdmullcc.s16','vqdmulllo.s16','vqdmullmi.s16','vqdmullpl.s16','vqdmullvs.s16','vqdmullvc.s16','vqdmullhi.s16','vqdmullls.s16','vqdmullge.s16','vqdmulllt.s16','vqdmullgt.s16','vqdmullle.s16', + 'vqdmulleq.s32','vqdmullne.s32','vqdmullcs.s32','vqdmullhs.s32','vqdmullcc.s32','vqdmulllo.s32','vqdmullmi.s32','vqdmullpl.s32','vqdmullvs.s32','vqdmullvc.s32','vqdmullhi.s32','vqdmullls.s32','vqdmullge.s32','vqdmulllt.s32','vqdmullgt.s32','vqdmullle.s32', + + 'vqmovneq.s16','vqmovnne.s16','vqmovncs.s16','vqmovnhs.s16','vqmovncc.s16','vqmovnlo.s16','vqmovnmi.s16','vqmovnpl.s16','vqmovnvs.s16','vqmovnvc.s16','vqmovnhi.s16','vqmovnls.s16','vqmovnge.s16','vqmovnlt.s16','vqmovngt.s16','vqmovnle.s16', + 'vqmovneq.s32','vqmovnne.s32','vqmovncs.s32','vqmovnhs.s32','vqmovncc.s32','vqmovnlo.s32','vqmovnmi.s32','vqmovnpl.s32','vqmovnvs.s32','vqmovnvc.s32','vqmovnhi.s32','vqmovnls.s32','vqmovnge.s32','vqmovnlt.s32','vqmovngt.s32','vqmovnle.s32', + 'vqmovneq.s64','vqmovnne.s64','vqmovncs.s64','vqmovnhs.s64','vqmovncc.s64','vqmovnlo.s64','vqmovnmi.s64','vqmovnpl.s64','vqmovnvs.s64','vqmovnvc.s64','vqmovnhi.s64','vqmovnls.s64','vqmovnge.s64','vqmovnlt.s64','vqmovngt.s64','vqmovnle.s64', + + 'vqmovuneq.s16','vqmovunne.s16','vqmovuncs.s16','vqmovunhs.s16','vqmovuncc.s16','vqmovunlo.s16','vqmovunmi.s16','vqmovunpl.s16','vqmovunvs.s16','vqmovunvc.s16','vqmovunhi.s16','vqmovunls.s16','vqmovunge.s16','vqmovunlt.s16','vqmovungt.s16','vqmovunle.s16', + 'vqmovuneq.s32','vqmovunne.s32','vqmovuncs.s32','vqmovunhs.s32','vqmovuncc.s32','vqmovunlo.s32','vqmovunmi.s32','vqmovunpl.s32','vqmovunvs.s32','vqmovunvc.s32','vqmovunhi.s32','vqmovunls.s32','vqmovunge.s32','vqmovunlt.s32','vqmovungt.s32','vqmovunle.s32', + 'vqmovuneq.s64','vqmovunne.s64','vqmovuncs.s64','vqmovunhs.s64','vqmovuncc.s64','vqmovunlo.s64','vqmovunmi.s64','vqmovunpl.s64','vqmovunvs.s64','vqmovunvc.s64','vqmovunhi.s64','vqmovunls.s64','vqmovunge.s64','vqmovunlt.s64','vqmovungt.s64','vqmovunle.s64', + + 'vqnegeq.s8','vqnegne.s8','vqnegcs.s8','vqneghs.s8','vqnegcc.s8','vqneglo.s8','vqnegmi.s8','vqnegpl.s8','vqnegvs.s8','vqnegvc.s8','vqneghi.s8','vqnegls.s8','vqnegge.s8','vqneglt.s8','vqneggt.s8','vqnegle.s8', + 'vqnegeq.s16','vqnegne.s16','vqnegcs.s16','vqneghs.s16','vqnegcc.s16','vqneglo.s16','vqnegmi.s16','vqnegpl.s16','vqnegvs.s16','vqnegvc.s16','vqneghi.s16','vqnegls.s16','vqnegge.s16','vqneglt.s16','vqneggt.s16','vqnegle.s16', + 'vqnegeq.s32','vqnegne.s32','vqnegcs.s32','vqneghs.s32','vqnegcc.s32','vqneglo.s32','vqnegmi.s32','vqnegpl.s32','vqnegvs.s32','vqnegvc.s32','vqneghi.s32','vqnegls.s32','vqnegge.s32','vqneglt.s32','vqneggt.s32','vqnegle.s32', + + 'vqrdmulheq.s16','vqrdmulhne.s16','vqrdmulhcs.s16','vqrdmulhhs.s16','vqrdmulhcc.s16','vqrdmulhlo.s16','vqrdmulhmi.s16','vqrdmulhpl.s16','vqrdmulhvs.s16','vqrdmulhvc.s16','vqrdmulhhi.s16','vqrdmulhls.s16','vqrdmulhge.s16','vqrdmulhlt.s16','vqrdmulhgt.s16','vqrdmulhle.s16', + 'vqrdmulheq.s32','vqrdmulhne.s32','vqrdmulhcs.s32','vqrdmulhhs.s32','vqrdmulhcc.s32','vqrdmulhlo.s32','vqrdmulhmi.s32','vqrdmulhpl.s32','vqrdmulhvs.s32','vqrdmulhvc.s32','vqrdmulhhi.s32','vqrdmulhls.s32','vqrdmulhge.s32','vqrdmulhlt.s32','vqrdmulhgt.s32','vqrdmulhle.s32', + + 'vqrshleq.s8','vqrshlne.s8','vqrshlcs.s8','vqrshlhs.s8','vqrshlcc.s8','vqrshllo.s8','vqrshlmi.s8','vqrshlpl.s8','vqrshlvs.s8','vqrshlvc.s8','vqrshlhi.s8','vqrshlls.s8','vqrshlge.s8','vqrshllt.s8','vqrshlgt.s8','vqrshlle.s8', + 'vqrshleq.s16','vqrshlne.s16','vqrshlcs.s16','vqrshlhs.s16','vqrshlcc.s16','vqrshllo.s16','vqrshlmi.s16','vqrshlpl.s16','vqrshlvs.s16','vqrshlvc.s16','vqrshlhi.s16','vqrshlls.s16','vqrshlge.s16','vqrshllt.s16','vqrshlgt.s16','vqrshlle.s16', + 'vqrshleq.s32','vqrshlne.s32','vqrshlcs.s32','vqrshlhs.s32','vqrshlcc.s32','vqrshllo.s32','vqrshlmi.s32','vqrshlpl.s32','vqrshlvs.s32','vqrshlvc.s32','vqrshlhi.s32','vqrshlls.s32','vqrshlge.s32','vqrshllt.s32','vqrshlgt.s32','vqrshlle.s32', + 'vqrshleq.s64','vqrshlne.s64','vqrshlcs.s64','vqrshlhs.s64','vqrshlcc.s64','vqrshllo.s64','vqrshlmi.s64','vqrshlpl.s64','vqrshlvs.s64','vqrshlvc.s64','vqrshlhi.s64','vqrshlls.s64','vqrshlge.s64','vqrshllt.s64','vqrshlgt.s64','vqrshlle.s64', + + 'vqrshrneq.s16','vqrshrnne.s16','vqrshrncs.s16','vqrshrnhs.s16','vqrshrncc.s16','vqrshrnlo.s16','vqrshrnmi.s16','vqrshrnpl.s16','vqrshrnvs.s16','vqrshrnvc.s16','vqrshrnhi.s16','vqrshrnls.s16','vqrshrnge.s16','vqrshrnlt.s16','vqrshrngt.s16','vqrshrnle.s16', + 'vqrshrneq.s32','vqrshrnne.s32','vqrshrncs.s32','vqrshrnhs.s32','vqrshrncc.s32','vqrshrnlo.s32','vqrshrnmi.s32','vqrshrnpl.s32','vqrshrnvs.s32','vqrshrnvc.s32','vqrshrnhi.s32','vqrshrnls.s32','vqrshrnge.s32','vqrshrnlt.s32','vqrshrngt.s32','vqrshrnle.s32', + 'vqrshrneq.s64','vqrshrnne.s64','vqrshrncs.s64','vqrshrnhs.s64','vqrshrncc.s64','vqrshrnlo.s64','vqrshrnmi.s64','vqrshrnpl.s64','vqrshrnvs.s64','vqrshrnvc.s64','vqrshrnhi.s64','vqrshrnls.s64','vqrshrnge.s64','vqrshrnlt.s64','vqrshrngt.s64','vqrshrnle.s64', + + 'vqrshruneq.s16','vqrshrunne.s16','vqrshruncs.s16','vqrshrunhs.s16','vqrshruncc.s16','vqrshrunlo.s16','vqrshrunmi.s16','vqrshrunpl.s16','vqrshrunvs.s16','vqrshrunvc.s16','vqrshrunhi.s16','vqrshrunls.s16','vqrshrunge.s16','vqrshrunlt.s16','vqrshrungt.s16','vqrshrunle.s16', + 'vqrshruneq.s32','vqrshrunne.s32','vqrshruncs.s32','vqrshrunhs.s32','vqrshruncc.s32','vqrshrunlo.s32','vqrshrunmi.s32','vqrshrunpl.s32','vqrshrunvs.s32','vqrshrunvc.s32','vqrshrunhi.s32','vqrshrunls.s32','vqrshrunge.s32','vqrshrunlt.s32','vqrshrungt.s32','vqrshrunle.s32', + 'vqrshruneq.s64','vqrshrunne.s64','vqrshruncs.s64','vqrshrunhs.s64','vqrshruncc.s64','vqrshrunlo.s64','vqrshrunmi.s64','vqrshrunpl.s64','vqrshrunvs.s64','vqrshrunvc.s64','vqrshrunhi.s64','vqrshrunls.s64','vqrshrunge.s64','vqrshrunlt.s64','vqrshrungt.s64','vqrshrunle.s64', + + 'vqshleq.s8','vqshlne.s8','vqshlcs.s8','vqshlhs.s8','vqshlcc.s8','vqshllo.s8','vqshlmi.s8','vqshlpl.s8','vqshlvs.s8','vqshlvc.s8','vqshlhi.s8','vqshlls.s8','vqshlge.s8','vqshllt.s8','vqshlgt.s8','vqshlle.s8', + 'vqshleq.s16','vqshlne.s16','vqshlcs.s16','vqshlhs.s16','vqshlcc.s16','vqshllo.s16','vqshlmi.s16','vqshlpl.s16','vqshlvs.s16','vqshlvc.s16','vqshlhi.s16','vqshlls.s16','vqshlge.s16','vqshllt.s16','vqshlgt.s16','vqshlle.s16', + 'vqshleq.s32','vqshlne.s32','vqshlcs.s32','vqshlhs.s32','vqshlcc.s32','vqshllo.s32','vqshlmi.s32','vqshlpl.s32','vqshlvs.s32','vqshlvc.s32','vqshlhi.s32','vqshlls.s32','vqshlge.s32','vqshllt.s32','vqshlgt.s32','vqshlle.s32', + 'vqshleq.s64','vqshlne.s64','vqshlcs.s64','vqshlhs.s64','vqshlcc.s64','vqshllo.s64','vqshlmi.s64','vqshlpl.s64','vqshlvs.s64','vqshlvc.s64','vqshlhi.s64','vqshlls.s64','vqshlge.s64','vqshllt.s64','vqshlgt.s64','vqshlle.s64', + + 'vqshlueq.s8','vqshlune.s8','vqshlucs.s8','vqshluhs.s8','vqshlucc.s8','vqshlulo.s8','vqshlumi.s8','vqshlupl.s8','vqshluvs.s8','vqshluvc.s8','vqshluhi.s8','vqshluls.s8','vqshluge.s8','vqshlult.s8','vqshlugt.s8','vqshlule.s8', + 'vqshlueq.s16','vqshlune.s16','vqshlucs.s16','vqshluhs.s16','vqshlucc.s16','vqshlulo.s16','vqshlumi.s16','vqshlupl.s16','vqshluvs.s16','vqshluvc.s16','vqshluhi.s16','vqshluls.s16','vqshluge.s16','vqshlult.s16','vqshlugt.s16','vqshlule.s16', + 'vqshlueq.s32','vqshlune.s32','vqshlucs.s32','vqshluhs.s32','vqshlucc.s32','vqshlulo.s32','vqshlumi.s32','vqshlupl.s32','vqshluvs.s32','vqshluvc.s32','vqshluhi.s32','vqshluls.s32','vqshluge.s32','vqshlult.s32','vqshlugt.s32','vqshlule.s32', + 'vqshlueq.s64','vqshlune.s64','vqshlucs.s64','vqshluhs.s64','vqshlucc.s64','vqshlulo.s64','vqshlumi.s64','vqshlupl.s64','vqshluvs.s64','vqshluvc.s64','vqshluhi.s64','vqshluls.s64','vqshluge.s64','vqshlult.s64','vqshlugt.s64','vqshlule.s64', + + 'vqshrneq.s16','vqshrnne.s16','vqshrncs.s16','vqshrnhs.s16','vqshrncc.s16','vqshrnlo.s16','vqshrnmi.s16','vqshrnpl.s16','vqshrnvs.s16','vqshrnvc.s16','vqshrnhi.s16','vqshrnls.s16','vqshrnge.s16','vqshrnlt.s16','vqshrngt.s16','vqshrnle.s16', + 'vqshrneq.s32','vqshrnne.s32','vqshrncs.s32','vqshrnhs.s32','vqshrncc.s32','vqshrnlo.s32','vqshrnmi.s32','vqshrnpl.s32','vqshrnvs.s32','vqshrnvc.s32','vqshrnhi.s32','vqshrnls.s32','vqshrnge.s32','vqshrnlt.s32','vqshrngt.s32','vqshrnle.s32', + 'vqshrneq.s64','vqshrnne.s64','vqshrncs.s64','vqshrnhs.s64','vqshrncc.s64','vqshrnlo.s64','vqshrnmi.s64','vqshrnpl.s64','vqshrnvs.s64','vqshrnvc.s64','vqshrnhi.s64','vqshrnls.s64','vqshrnge.s64','vqshrnlt.s64','vqshrngt.s64','vqshrnle.s64', + + 'vqshruneq.s16','vqshrunne.s16','vqshruncs.s16','vqshrunhs.s16','vqshruncc.s16','vqshrunlo.s16','vqshrunmi.s16','vqshrunpl.s16','vqshrunvs.s16','vqshrunvc.s16','vqshrunhi.s16','vqshrunls.s16','vqshrunge.s16','vqshrunlt.s16','vqshrungt.s16','vqshrunle.s16', + 'vqshruneq.s32','vqshrunne.s32','vqshruncs.s32','vqshrunhs.s32','vqshruncc.s32','vqshrunlo.s32','vqshrunmi.s32','vqshrunpl.s32','vqshrunvs.s32','vqshrunvc.s32','vqshrunhi.s32','vqshrunls.s32','vqshrunge.s32','vqshrunlt.s32','vqshrungt.s32','vqshrunle.s32', + 'vqshruneq.s64','vqshrunne.s64','vqshruncs.s64','vqshrunhs.s64','vqshruncc.s64','vqshrunlo.s64','vqshrunmi.s64','vqshrunpl.s64','vqshrunvs.s64','vqshrunvc.s64','vqshrunhi.s64','vqshrunls.s64','vqshrunge.s64','vqshrunlt.s64','vqshrungt.s64','vqshrunle.s64', + + 'vqsubeq.s8','vqsubne.s8','vqsubcs.s8','vqsubhs.s8','vqsubcc.s8','vqsublo.s8','vqsubmi.s8','vqsubpl.s8','vqsubvs.s8','vqsubvc.s8','vqsubhi.s8','vqsubls.s8','vqsubge.s8','vqsublt.s8','vqsubgt.s8','vqsuble.s8', + 'vqsubeq.s16','vqsubne.s16','vqsubcs.s16','vqsubhs.s16','vqsubcc.s16','vqsublo.s16','vqsubmi.s16','vqsubpl.s16','vqsubvs.s16','vqsubvc.s16','vqsubhi.s16','vqsubls.s16','vqsubge.s16','vqsublt.s16','vqsubgt.s16','vqsuble.s16', + 'vqsubeq.s32','vqsubne.s32','vqsubcs.s32','vqsubhs.s32','vqsubcc.s32','vqsublo.s32','vqsubmi.s32','vqsubpl.s32','vqsubvs.s32','vqsubvc.s32','vqsubhi.s32','vqsubls.s32','vqsubge.s32','vqsublt.s32','vqsubgt.s32','vqsuble.s32', + 'vqsubeq.s64','vqsubne.s64','vqsubcs.s64','vqsubhs.s64','vqsubcc.s64','vqsublo.s64','vqsubmi.s64','vqsubpl.s64','vqsubvs.s64','vqsubvc.s64','vqsubhi.s64','vqsubls.s64','vqsubge.s64','vqsublt.s64','vqsubgt.s64','vqsuble.s64', + + 'vrhaddeq.s8','vrhaddne.s8','vrhaddcs.s8','vrhaddhs.s8','vrhaddcc.s8','vrhaddlo.s8','vrhaddmi.s8','vrhaddpl.s8','vrhaddvs.s8','vrhaddvc.s8','vrhaddhi.s8','vrhaddls.s8','vrhaddge.s8','vrhaddlt.s8','vrhaddgt.s8','vrhaddle.s8', + 'vrhaddeq.s16','vrhaddne.s16','vrhaddcs.s16','vrhaddhs.s16','vrhaddcc.s16','vrhaddlo.s16','vrhaddmi.s16','vrhaddpl.s16','vrhaddvs.s16','vrhaddvc.s16','vrhaddhi.s16','vrhaddls.s16','vrhaddge.s16','vrhaddlt.s16','vrhaddgt.s16','vrhaddle.s16', + 'vrhaddeq.s32','vrhaddne.s32','vrhaddcs.s32','vrhaddhs.s32','vrhaddcc.s32','vrhaddlo.s32','vrhaddmi.s32','vrhaddpl.s32','vrhaddvs.s32','vrhaddvc.s32','vrhaddhi.s32','vrhaddls.s32','vrhaddge.s32','vrhaddlt.s32','vrhaddgt.s32','vrhaddle.s32', + + 'vrshleq.s8','vrshlne.s8','vrshlcs.s8','vrshlhs.s8','vrshlcc.s8','vrshllo.s8','vrshlmi.s8','vrshlpl.s8','vrshlvs.s8','vrshlvc.s8','vrshlhi.s8','vrshlls.s8','vrshlge.s8','vrshllt.s8','vrshlgt.s8','vrshlle.s8', + 'vrshleq.s16','vrshlne.s16','vrshlcs.s16','vrshlhs.s16','vrshlcc.s16','vrshllo.s16','vrshlmi.s16','vrshlpl.s16','vrshlvs.s16','vrshlvc.s16','vrshlhi.s16','vrshlls.s16','vrshlge.s16','vrshllt.s16','vrshlgt.s16','vrshlle.s16', + 'vrshleq.s32','vrshlne.s32','vrshlcs.s32','vrshlhs.s32','vrshlcc.s32','vrshllo.s32','vrshlmi.s32','vrshlpl.s32','vrshlvs.s32','vrshlvc.s32','vrshlhi.s32','vrshlls.s32','vrshlge.s32','vrshllt.s32','vrshlgt.s32','vrshlle.s32', + 'vrshleq.s64','vrshlne.s64','vrshlcs.s64','vrshlhs.s64','vrshlcc.s64','vrshllo.s64','vrshlmi.s64','vrshlpl.s64','vrshlvs.s64','vrshlvc.s64','vrshlhi.s64','vrshlls.s64','vrshlge.s64','vrshllt.s64','vrshlgt.s64','vrshlle.s64', + + 'vrshreq.s8','vrshrne.s8','vrshrcs.s8','vrshrhs.s8','vrshrcc.s8','vrshrlo.s8','vrshrmi.s8','vrshrpl.s8','vrshrvs.s8','vrshrvc.s8','vrshrhi.s8','vrshrls.s8','vrshrge.s8','vrshrlt.s8','vrshrgt.s8','vrshrle.s8', + 'vrshreq.s16','vrshrne.s16','vrshrcs.s16','vrshrhs.s16','vrshrcc.s16','vrshrlo.s16','vrshrmi.s16','vrshrpl.s16','vrshrvs.s16','vrshrvc.s16','vrshrhi.s16','vrshrls.s16','vrshrge.s16','vrshrlt.s16','vrshrgt.s16','vrshrle.s16', + 'vrshreq.s32','vrshrne.s32','vrshrcs.s32','vrshrhs.s32','vrshrcc.s32','vrshrlo.s32','vrshrmi.s32','vrshrpl.s32','vrshrvs.s32','vrshrvc.s32','vrshrhi.s32','vrshrls.s32','vrshrge.s32','vrshrlt.s32','vrshrgt.s32','vrshrle.s32', + 'vrshreq.s64','vrshrne.s64','vrshrcs.s64','vrshrhs.s64','vrshrcc.s64','vrshrlo.s64','vrshrmi.s64','vrshrpl.s64','vrshrvs.s64','vrshrvc.s64','vrshrhi.s64','vrshrls.s64','vrshrge.s64','vrshrlt.s64','vrshrgt.s64','vrshrle.s64', + + 'vrsraeq.s8','vrsrane.s8','vrsracs.s8','vrsrahs.s8','vrsracc.s8','vrsralo.s8','vrsrami.s8','vrsrapl.s8','vrsravs.s8','vrsravc.s8','vrsrahi.s8','vrsrals.s8','vrsrage.s8','vrsralt.s8','vrsragt.s8','vrsrale.s8', + 'vrsraeq.s16','vrsrane.s16','vrsracs.s16','vrsrahs.s16','vrsracc.s16','vrsralo.s16','vrsrami.s16','vrsrapl.s16','vrsravs.s16','vrsravc.s16','vrsrahi.s16','vrsrals.s16','vrsrage.s16','vrsralt.s16','vrsragt.s16','vrsrale.s16', + 'vrsraeq.s32','vrsrane.s32','vrsracs.s32','vrsrahs.s32','vrsracc.s32','vrsralo.s32','vrsrami.s32','vrsrapl.s32','vrsravs.s32','vrsravc.s32','vrsrahi.s32','vrsrals.s32','vrsrage.s32','vrsralt.s32','vrsragt.s32','vrsrale.s32', + 'vrsraeq.s64','vrsrane.s64','vrsracs.s64','vrsrahs.s64','vrsracc.s64','vrsralo.s64','vrsrami.s64','vrsrapl.s64','vrsravs.s64','vrsravc.s64','vrsrahi.s64','vrsrals.s64','vrsrage.s64','vrsralt.s64','vrsragt.s64','vrsrale.s64', + + 'vshleq.s8','vshlne.s8','vshlcs.s8','vshlhs.s8','vshlcc.s8','vshllo.s8','vshlmi.s8','vshlpl.s8','vshlvs.s8','vshlvc.s8','vshlhi.s8','vshlls.s8','vshlge.s8','vshllt.s8','vshlgt.s8','vshlle.s8', + 'vshleq.s16','vshlne.s16','vshlcs.s16','vshlhs.s16','vshlcc.s16','vshllo.s16','vshlmi.s16','vshlpl.s16','vshlvs.s16','vshlvc.s16','vshlhi.s16','vshlls.s16','vshlge.s16','vshllt.s16','vshlgt.s16','vshlle.s16', + 'vshleq.s32','vshlne.s32','vshlcs.s32','vshlhs.s32','vshlcc.s32','vshllo.s32','vshlmi.s32','vshlpl.s32','vshlvs.s32','vshlvc.s32','vshlhi.s32','vshlls.s32','vshlge.s32','vshllt.s32','vshlgt.s32','vshlle.s32', + 'vshleq.s64','vshlne.s64','vshlcs.s64','vshlhs.s64','vshlcc.s64','vshllo.s64','vshlmi.s64','vshlpl.s64','vshlvs.s64','vshlvc.s64','vshlhi.s64','vshlls.s64','vshlge.s64','vshllt.s64','vshlgt.s64','vshlle.s64', + + 'vshlleq.s8','vshllne.s8','vshllcs.s8','vshllhs.s8','vshllcc.s8','vshlllo.s8','vshllmi.s8','vshllpl.s8','vshllvs.s8','vshllvc.s8','vshllhi.s8','vshllls.s8','vshllge.s8','vshlllt.s8','vshllgt.s8','vshllle.s8', + 'vshlleq.s16','vshllne.s16','vshllcs.s16','vshllhs.s16','vshllcc.s16','vshlllo.s16','vshllmi.s16','vshllpl.s16','vshllvs.s16','vshllvc.s16','vshllhi.s16','vshllls.s16','vshllge.s16','vshlllt.s16','vshllgt.s16','vshllle.s16', + 'vshlleq.s32','vshllne.s32','vshllcs.s32','vshllhs.s32','vshllcc.s32','vshlllo.s32','vshllmi.s32','vshllpl.s32','vshllvs.s32','vshllvc.s32','vshllhi.s32','vshllls.s32','vshllge.s32','vshlllt.s32','vshllgt.s32','vshllle.s32', + + 'vshreq.s8','vshrne.s8','vshrcs.s8','vshrhs.s8','vshrcc.s8','vshrlo.s8','vshrmi.s8','vshrpl.s8','vshrvs.s8','vshrvc.s8','vshrhi.s8','vshrls.s8','vshrge.s8','vshrlt.s8','vshrgt.s8','vshrle.s8', + 'vshreq.s16','vshrne.s16','vshrcs.s16','vshrhs.s16','vshrcc.s16','vshrlo.s16','vshrmi.s16','vshrpl.s16','vshrvs.s16','vshrvc.s16','vshrhi.s16','vshrls.s16','vshrge.s16','vshrlt.s16','vshrgt.s16','vshrle.s16', + 'vshreq.s32','vshrne.s32','vshrcs.s32','vshrhs.s32','vshrcc.s32','vshrlo.s32','vshrmi.s32','vshrpl.s32','vshrvs.s32','vshrvc.s32','vshrhi.s32','vshrls.s32','vshrge.s32','vshrlt.s32','vshrgt.s32','vshrle.s32', + 'vshreq.s64','vshrne.s64','vshrcs.s64','vshrhs.s64','vshrcc.s64','vshrlo.s64','vshrmi.s64','vshrpl.s64','vshrvs.s64','vshrvc.s64','vshrhi.s64','vshrls.s64','vshrge.s64','vshrlt.s64','vshrgt.s64','vshrle.s64', + + 'vsraeq.s8','vsrane.s8','vsracs.s8','vsrahs.s8','vsracc.s8','vsralo.s8','vsrami.s8','vsrapl.s8','vsravs.s8','vsravc.s8','vsrahi.s8','vsrals.s8','vsrage.s8','vsralt.s8','vsragt.s8','vsrale.s8', + 'vsraeq.s16','vsrane.s16','vsracs.s16','vsrahs.s16','vsracc.s16','vsralo.s16','vsrami.s16','vsrapl.s16','vsravs.s16','vsravc.s16','vsrahi.s16','vsrals.s16','vsrage.s16','vsralt.s16','vsragt.s16','vsrale.s16', + 'vsraeq.s32','vsrane.s32','vsracs.s32','vsrahs.s32','vsracc.s32','vsralo.s32','vsrami.s32','vsrapl.s32','vsravs.s32','vsravc.s32','vsrahi.s32','vsrals.s32','vsrage.s32','vsralt.s32','vsragt.s32','vsrale.s32', + 'vsraeq.s64','vsrane.s64','vsracs.s64','vsrahs.s64','vsracc.s64','vsralo.s64','vsrami.s64','vsrapl.s64','vsravs.s64','vsravc.s64','vsrahi.s64','vsrals.s64','vsrage.s64','vsralt.s64','vsragt.s64','vsrale.s64', + + 'vsubleq.s8','vsublne.s8','vsublcs.s8','vsublhs.s8','vsublcc.s8','vsubllo.s8','vsublmi.s8','vsublpl.s8','vsublvs.s8','vsublvc.s8','vsublhi.s8','vsublls.s8','vsublge.s8','vsubllt.s8','vsublgt.s8','vsublle.s8', + 'vsubleq.s16','vsublne.s16','vsublcs.s16','vsublhs.s16','vsublcc.s16','vsubllo.s16','vsublmi.s16','vsublpl.s16','vsublvs.s16','vsublvc.s16','vsublhi.s16','vsublls.s16','vsublge.s16','vsubllt.s16','vsublgt.s16','vsublle.s16', + 'vsubleq.s32','vsublne.s32','vsublcs.s32','vsublhs.s32','vsublcc.s32','vsubllo.s32','vsublmi.s32','vsublpl.s32','vsublvs.s32','vsublvc.s32','vsublhi.s32','vsublls.s32','vsublge.s32','vsubllt.s32','vsublgt.s32','vsublle.s32', + + 'vsubheq.s8','vsubhne.s8','vsubhcs.s8','vsubhhs.s8','vsubhcc.s8','vsubhlo.s8','vsubhmi.s8','vsubhpl.s8','vsubhvs.s8','vsubhvc.s8','vsubhhi.s8','vsubhls.s8','vsubhge.s8','vsubhlt.s8','vsubhgt.s8','vsubhle.s8', + 'vsubheq.s16','vsubhne.s16','vsubhcs.s16','vsubhhs.s16','vsubhcc.s16','vsubhlo.s16','vsubhmi.s16','vsubhpl.s16','vsubhvs.s16','vsubhvc.s16','vsubhhi.s16','vsubhls.s16','vsubhge.s16','vsubhlt.s16','vsubhgt.s16','vsubhle.s16', + 'vsubheq.s32','vsubhne.s32','vsubhcs.s32','vsubhhs.s32','vsubhcc.s32','vsubhlo.s32','vsubhmi.s32','vsubhpl.s32','vsubhvs.s32','vsubhvc.s32','vsubhhi.s32','vsubhls.s32','vsubhge.s32','vsubhlt.s32','vsubhgt.s32','vsubhle.s32' + ), + /* Conditional NEON SIMD Unsigned Integer Instructions */ + 33 => array( + 'vabaeq.u8','vabane.u8','vabacs.u8','vabahs.u8','vabacc.u8','vabalo.u8','vabami.u8','vabapl.u8','vabavs.u8','vabavc.u8','vabahi.u8','vabals.u8','vabage.u8','vabalt.u8','vabagt.u8','vabale.u8', + 'vabaeq.u16','vabane.u16','vabacs.u16','vabahs.u16','vabacc.u16','vabalo.u16','vabami.u16','vabapl.u16','vabavs.u16','vabavc.u16','vabahi.u16','vabals.u16','vabage.u16','vabalt.u16','vabagt.u16','vabale.u16', + 'vabaeq.u32','vabane.u32','vabacs.u32','vabahs.u32','vabacc.u32','vabalo.u32','vabami.u32','vabapl.u32','vabavs.u32','vabavc.u32','vabahi.u32','vabals.u32','vabage.u32','vabalt.u32','vabagt.u32','vabale.u32', + + 'vabaleq.u8','vabalne.u8','vabalcs.u8','vabalhs.u8','vabalcc.u8','vaballo.u8','vabalmi.u8','vabalpl.u8','vabalvs.u8','vabalvc.u8','vabalhi.u8','vaballs.u8','vabalge.u8','vaballt.u8','vabalgt.u8','vaballe.u8', + 'vabaleq.u16','vabalne.u16','vabalcs.u16','vabalhs.u16','vabalcc.u16','vaballo.u16','vabalmi.u16','vabalpl.u16','vabalvs.u16','vabalvc.u16','vabalhi.u16','vaballs.u16','vabalge.u16','vaballt.u16','vabalgt.u16','vaballe.u16', + 'vabaleq.u32','vabalne.u32','vabalcs.u32','vabalhs.u32','vabalcc.u32','vaballo.u32','vabalmi.u32','vabalpl.u32','vabalvs.u32','vabalvc.u32','vabalhi.u32','vaballs.u32','vabalge.u32','vaballt.u32','vabalgt.u32','vaballe.u32', + + 'vabdeq.u8','vabdne.u8','vabdcs.u8','vabdhs.u8','vabdcc.u8','vabdlo.u8','vabdmi.u8','vabdpl.u8','vabdvs.u8','vabdvc.u8','vabdhi.u8','vabdls.u8','vabdge.u8','vabdlt.u8','vabdgt.u8','vabdle.u8', + 'vabdeq.u16','vabdne.u16','vabdcs.u16','vabdhs.u16','vabdcc.u16','vabdlo.u16','vabdmi.u16','vabdpl.u16','vabdvs.u16','vabdvc.u16','vabdhi.u16','vabdls.u16','vabdge.u16','vabdlt.u16','vabdgt.u16','vabdle.u16', + 'vabdeq.u32','vabdne.u32','vabdcs.u32','vabdhs.u32','vabdcc.u32','vabdlo.u32','vabdmi.u32','vabdpl.u32','vabdvs.u32','vabdvc.u32','vabdhi.u32','vabdls.u32','vabdge.u32','vabdlt.u32','vabdgt.u32','vabdle.u32', + + 'vaddleq.u8','vaddlne.u8','vaddlcs.u8','vaddlhs.u8','vaddlcc.u8','vaddllo.u8','vaddlmi.u8','vaddlpl.u8','vaddlvs.u8','vaddlvc.u8','vaddlhi.u8','vaddlls.u8','vaddlge.u8','vaddllt.u8','vaddlgt.u8','vaddlle.u8', + 'vaddleq.u16','vaddlne.u16','vaddlcs.u16','vaddlhs.u16','vaddlcc.u16','vaddllo.u16','vaddlmi.u16','vaddlpl.u16','vaddlvs.u16','vaddlvc.u16','vaddlhi.u16','vaddlls.u16','vaddlge.u16','vaddllt.u16','vaddlgt.u16','vaddlle.u16', + 'vaddleq.u32','vaddlne.u32','vaddlcs.u32','vaddlhs.u32','vaddlcc.u32','vaddllo.u32','vaddlmi.u32','vaddlpl.u32','vaddlvs.u32','vaddlvc.u32','vaddlhi.u32','vaddlls.u32','vaddlge.u32','vaddllt.u32','vaddlgt.u32','vaddlle.u32', + + 'vsubleq.u8','vsublne.u8','vsublcs.u8','vsublhs.u8','vsublcc.u8','vsubllo.u8','vsublmi.u8','vsublpl.u8','vsublvs.u8','vsublvc.u8','vsublhi.u8','vsublls.u8','vsublge.u8','vsubllt.u8','vsublgt.u8','vsublle.u8', + 'vsubleq.u16','vsublne.u16','vsublcs.u16','vsublhs.u16','vsublcc.u16','vsubllo.u16','vsublmi.u16','vsublpl.u16','vsublvs.u16','vsublvc.u16','vsublhi.u16','vsublls.u16','vsublge.u16','vsubllt.u16','vsublgt.u16','vsublle.u16', + 'vsubleq.u32','vsublne.u32','vsublcs.u32','vsublhs.u32','vsublcc.u32','vsubllo.u32','vsublmi.u32','vsublpl.u32','vsublvs.u32','vsublvc.u32','vsublhi.u32','vsublls.u32','vsublge.u32','vsubllt.u32','vsublgt.u32','vsublle.u32', + + 'vaddweq.u8','vaddwne.u8','vaddwcs.u8','vaddwhs.u8','vaddwcc.u8','vaddwlo.u8','vaddwmi.u8','vaddwpl.u8','vaddwvs.u8','vaddwvc.u8','vaddwhi.u8','vaddwls.u8','vaddwge.u8','vaddwlt.u8','vaddwgt.u8','vaddwle.u8', + 'vaddweq.u16','vaddwne.u16','vaddwcs.u16','vaddwhs.u16','vaddwcc.u16','vaddwlo.u16','vaddwmi.u16','vaddwpl.u16','vaddwvs.u16','vaddwvc.u16','vaddwhi.u16','vaddwls.u16','vaddwge.u16','vaddwlt.u16','vaddwgt.u16','vaddwle.u16', + 'vaddweq.u32','vaddwne.u32','vaddwcs.u32','vaddwhs.u32','vaddwcc.u32','vaddwlo.u32','vaddwmi.u32','vaddwpl.u32','vaddwvs.u32','vaddwvc.u32','vaddwhi.u32','vaddwls.u32','vaddwge.u32','vaddwlt.u32','vaddwgt.u32','vaddwle.u32', + + 'vsubheq.u8','vsubhne.u8','vsubhcs.u8','vsubhhs.u8','vsubhcc.u8','vsubhlo.u8','vsubhmi.u8','vsubhpl.u8','vsubhvs.u8','vsubhvc.u8','vsubhhi.u8','vsubhls.u8','vsubhge.u8','vsubhlt.u8','vsubhgt.u8','vsubhle.u8', + 'vsubheq.u16','vsubhne.u16','vsubhcs.u16','vsubhhs.u16','vsubhcc.u16','vsubhlo.u16','vsubhmi.u16','vsubhpl.u16','vsubhvs.u16','vsubhvc.u16','vsubhhi.u16','vsubhls.u16','vsubhge.u16','vsubhlt.u16','vsubhgt.u16','vsubhle.u16', + 'vsubheq.u32','vsubhne.u32','vsubhcs.u32','vsubhhs.u32','vsubhcc.u32','vsubhlo.u32','vsubhmi.u32','vsubhpl.u32','vsubhvs.u32','vsubhvc.u32','vsubhhi.u32','vsubhls.u32','vsubhge.u32','vsubhlt.u32','vsubhgt.u32','vsubhle.u32', + + 'vhaddeq.u8','vhaddne.u8','vhaddcs.u8','vhaddhs.u8','vhaddcc.u8','vhaddlo.u8','vhaddmi.u8','vhaddpl.u8','vhaddvs.u8','vhaddvc.u8','vhaddhi.u8','vhaddls.u8','vhaddge.u8','vhaddlt.u8','vhaddgt.u8','vhaddle.u8', + 'vhaddeq.u16','vhaddne.u16','vhaddcs.u16','vhaddhs.u16','vhaddcc.u16','vhaddlo.u16','vhaddmi.u16','vhaddpl.u16','vhaddvs.u16','vhaddvc.u16','vhaddhi.u16','vhaddls.u16','vhaddge.u16','vhaddlt.u16','vhaddgt.u16','vhaddle.u16', + 'vhaddeq.u32','vhaddne.u32','vhaddcs.u32','vhaddhs.u32','vhaddcc.u32','vhaddlo.u32','vhaddmi.u32','vhaddpl.u32','vhaddvs.u32','vhaddvc.u32','vhaddhi.u32','vhaddls.u32','vhaddge.u32','vhaddlt.u32','vhaddgt.u32','vhaddle.u32', + + 'vhsubeq.u8','vhsubne.u8','vhsubcs.u8','vhsubhs.u8','vhsubcc.u8','vhsublo.u8','vhsubmi.u8','vhsubpl.u8','vhsubvs.u8','vhsubvc.u8','vhsubhi.u8','vhsubls.u8','vhsubge.u8','vhsublt.u8','vhsubgt.u8','vhsuble.u8', + 'vhsubeq.u16','vhsubne.u16','vhsubcs.u16','vhsubhs.u16','vhsubcc.u16','vhsublo.u16','vhsubmi.u16','vhsubpl.u16','vhsubvs.u16','vhsubvc.u16','vhsubhi.u16','vhsubls.u16','vhsubge.u16','vhsublt.u16','vhsubgt.u16','vhsuble.u16', + 'vhsubeq.u32','vhsubne.u32','vhsubcs.u32','vhsubhs.u32','vhsubcc.u32','vhsublo.u32','vhsubmi.u32','vhsubpl.u32','vhsubvs.u32','vhsubvc.u32','vhsubhi.u32','vhsubls.u32','vhsubge.u32','vhsublt.u32','vhsubgt.u32','vhsuble.u32', + + 'vpadaleq.u8','vpadalne.u8','vpadalcs.u8','vpadalhs.u8','vpadalcc.u8','vpadallo.u8','vpadalmi.u8','vpadalpl.u8','vpadalvs.u8','vpadalvc.u8','vpadalhi.u8','vpadalls.u8','vpadalge.u8','vpadallt.u8','vpadalgt.u8','vpadalle.u8', + 'vpadaleq.u16','vpadalne.u16','vpadalcs.u16','vpadalhs.u16','vpadalcc.u16','vpadallo.u16','vpadalmi.u16','vpadalpl.u16','vpadalvs.u16','vpadalvc.u16','vpadalhi.u16','vpadalls.u16','vpadalge.u16','vpadallt.u16','vpadalgt.u16','vpadalle.u16', + 'vpadaleq.u32','vpadalne.u32','vpadalcs.u32','vpadalhs.u32','vpadalcc.u32','vpadallo.u32','vpadalmi.u32','vpadalpl.u32','vpadalvs.u32','vpadalvc.u32','vpadalhi.u32','vpadalls.u32','vpadalge.u32','vpadallt.u32','vpadalgt.u32','vpadalle.u32', + + 'vpaddleq.u8','vpaddlne.u8','vpaddlcs.u8','vpaddlhs.u8','vpaddlcc.u8','vpaddllo.u8','vpaddlmi.u8','vpaddlpl.u8','vpaddlvs.u8','vpaddlvc.u8','vpaddlhi.u8','vpaddlls.u8','vpaddlge.u8','vpaddllt.u8','vpaddlgt.u8','vpaddlle.u8', + 'vpaddleq.u16','vpaddlne.u16','vpaddlcs.u16','vpaddlhs.u16','vpaddlcc.u16','vpaddllo.u16','vpaddlmi.u16','vpaddlpl.u16','vpaddlvs.u16','vpaddlvc.u16','vpaddlhi.u16','vpaddlls.u16','vpaddlge.u16','vpaddllt.u16','vpaddlgt.u16','vpaddlle.u16', + 'vpaddleq.u32','vpaddlne.u32','vpaddlcs.u32','vpaddlhs.u32','vpaddlcc.u32','vpaddllo.u32','vpaddlmi.u32','vpaddlpl.u32','vpaddlvs.u32','vpaddlvc.u32','vpaddlhi.u32','vpaddlls.u32','vpaddlge.u32','vpaddllt.u32','vpaddlgt.u32','vpaddlle.u32', + + 'vcgeeq.u8','vcgene.u8','vcgecs.u8','vcgehs.u8','vcgecc.u8','vcgelo.u8','vcgemi.u8','vcgepl.u8','vcgevs.u8','vcgevc.u8','vcgehi.u8','vcgels.u8','vcgege.u8','vcgelt.u8','vcgegt.u8','vcgele.u8', + 'vcgeeq.u16','vcgene.u16','vcgecs.u16','vcgehs.u16','vcgecc.u16','vcgelo.u16','vcgemi.u16','vcgepl.u16','vcgevs.u16','vcgevc.u16','vcgehi.u16','vcgels.u16','vcgege.u16','vcgelt.u16','vcgegt.u16','vcgele.u16', + 'vcgeeq.u32','vcgene.u32','vcgecs.u32','vcgehs.u32','vcgecc.u32','vcgelo.u32','vcgemi.u32','vcgepl.u32','vcgevs.u32','vcgevc.u32','vcgehi.u32','vcgels.u32','vcgege.u32','vcgelt.u32','vcgegt.u32','vcgele.u32', + + 'vcleeq.u8','vclene.u8','vclecs.u8','vclehs.u8','vclecc.u8','vclelo.u8','vclemi.u8','vclepl.u8','vclevs.u8','vclevc.u8','vclehi.u8','vclels.u8','vclege.u8','vclelt.u8','vclegt.u8','vclele.u8', + 'vcleeq.u16','vclene.u16','vclecs.u16','vclehs.u16','vclecc.u16','vclelo.u16','vclemi.u16','vclepl.u16','vclevs.u16','vclevc.u16','vclehi.u16','vclels.u16','vclege.u16','vclelt.u16','vclegt.u16','vclele.u16', + 'vcleeq.u32','vclene.u32','vclecs.u32','vclehs.u32','vclecc.u32','vclelo.u32','vclemi.u32','vclepl.u32','vclevs.u32','vclevc.u32','vclehi.u32','vclels.u32','vclege.u32','vclelt.u32','vclegt.u32','vclele.u32', + + 'vcgteq.u8','vcgtne.u8','vcgtcs.u8','vcgths.u8','vcgtcc.u8','vcgtlo.u8','vcgtmi.u8','vcgtpl.u8','vcgtvs.u8','vcgtvc.u8','vcgthi.u8','vcgtls.u8','vcgtge.u8','vcgtlt.u8','vcgtgt.u8','vcgtle.u8', + 'vcgteq.u16','vcgtne.u16','vcgtcs.u16','vcgths.u16','vcgtcc.u16','vcgtlo.u16','vcgtmi.u16','vcgtpl.u16','vcgtvs.u16','vcgtvc.u16','vcgthi.u16','vcgtls.u16','vcgtge.u16','vcgtlt.u16','vcgtgt.u16','vcgtle.u16', + 'vcgteq.u32','vcgtne.u32','vcgtcs.u32','vcgths.u32','vcgtcc.u32','vcgtlo.u32','vcgtmi.u32','vcgtpl.u32','vcgtvs.u32','vcgtvc.u32','vcgthi.u32','vcgtls.u32','vcgtge.u32','vcgtlt.u32','vcgtgt.u32','vcgtle.u32', + + 'vclteq.u8','vcltne.u8','vcltcs.u8','vclths.u8','vcltcc.u8','vcltlo.u8','vcltmi.u8','vcltpl.u8','vcltvs.u8','vcltvc.u8','vclthi.u8','vcltls.u8','vcltge.u8','vcltlt.u8','vcltgt.u8','vcltle.u8', + 'vclteq.u16','vcltne.u16','vcltcs.u16','vclths.u16','vcltcc.u16','vcltlo.u16','vcltmi.u16','vcltpl.u16','vcltvs.u16','vcltvc.u16','vclthi.u16','vcltls.u16','vcltge.u16','vcltlt.u16','vcltgt.u16','vcltle.u16', + 'vclteq.u32','vcltne.u32','vcltcs.u32','vclths.u32','vcltcc.u32','vcltlo.u32','vcltmi.u32','vcltpl.u32','vcltvs.u32','vcltvc.u32','vclthi.u32','vcltls.u32','vcltge.u32','vcltlt.u32','vcltgt.u32','vcltle.u32', + + 'vmaxeq.u8','vmaxne.u8','vmaxcs.u8','vmaxhs.u8','vmaxcc.u8','vmaxlo.u8','vmaxmi.u8','vmaxpl.u8','vmaxvs.u8','vmaxvc.u8','vmaxhi.u8','vmaxls.u8','vmaxge.u8','vmaxlt.u8','vmaxgt.u8','vmaxle.u8', + 'vmaxeq.u16','vmaxne.u16','vmaxcs.u16','vmaxhs.u16','vmaxcc.u16','vmaxlo.u16','vmaxmi.u16','vmaxpl.u16','vmaxvs.u16','vmaxvc.u16','vmaxhi.u16','vmaxls.u16','vmaxge.u16','vmaxlt.u16','vmaxgt.u16','vmaxle.u16', + 'vmaxeq.u32','vmaxne.u32','vmaxcs.u32','vmaxhs.u32','vmaxcc.u32','vmaxlo.u32','vmaxmi.u32','vmaxpl.u32','vmaxvs.u32','vmaxvc.u32','vmaxhi.u32','vmaxls.u32','vmaxge.u32','vmaxlt.u32','vmaxgt.u32','vmaxle.u32', + + 'vmineq.u8','vminne.u8','vmincs.u8','vminhs.u8','vmincc.u8','vminlo.u8','vminmi.u8','vminpl.u8','vminvs.u8','vminvc.u8','vminhi.u8','vminls.u8','vminge.u8','vminlt.u8','vmingt.u8','vminle.u8', + 'vmineq.u16','vminne.u16','vmincs.u16','vminhs.u16','vmincc.u16','vminlo.u16','vminmi.u16','vminpl.u16','vminvs.u16','vminvc.u16','vminhi.u16','vminls.u16','vminge.u16','vminlt.u16','vmingt.u16','vminle.u16', + 'vmineq.u32','vminne.u32','vmincs.u32','vminhs.u32','vmincc.u32','vminlo.u32','vminmi.u32','vminpl.u32','vminvs.u32','vminvc.u32','vminhi.u32','vminls.u32','vminge.u32','vminlt.u32','vmingt.u32','vminle.u32', + + 'vmlaleq.u8','vmlalne.u8','vmlalcs.u8','vmlalhs.u8','vmlalcc.u8','vmlallo.u8','vmlalmi.u8','vmlalpl.u8','vmlalvs.u8','vmlalvc.u8','vmlalhi.u8','vmlalls.u8','vmlalge.u8','vmlallt.u8','vmlalgt.u8','vmlalle.u8', + 'vmlaleq.u16','vmlalne.u16','vmlalcs.u16','vmlalhs.u16','vmlalcc.u16','vmlallo.u16','vmlalmi.u16','vmlalpl.u16','vmlalvs.u16','vmlalvc.u16','vmlalhi.u16','vmlalls.u16','vmlalge.u16','vmlallt.u16','vmlalgt.u16','vmlalle.u16', + 'vmlaleq.u32','vmlalne.u32','vmlalcs.u32','vmlalhs.u32','vmlalcc.u32','vmlallo.u32','vmlalmi.u32','vmlalpl.u32','vmlalvs.u32','vmlalvc.u32','vmlalhi.u32','vmlalls.u32','vmlalge.u32','vmlallt.u32','vmlalgt.u32','vmlalle.u32', + + 'vmlsleq.u8','vmlslne.u8','vmlslcs.u8','vmlslhs.u8','vmlslcc.u8','vmlsllo.u8','vmlslmi.u8','vmlslpl.u8','vmlslvs.u8','vmlslvc.u8','vmlslhi.u8','vmlslls.u8','vmlslge.u8','vmlsllt.u8','vmlslgt.u8','vmlslle.u8', + 'vmlsleq.u16','vmlslne.u16','vmlslcs.u16','vmlslhs.u16','vmlslcc.u16','vmlsllo.u16','vmlslmi.u16','vmlslpl.u16','vmlslvs.u16','vmlslvc.u16','vmlslhi.u16','vmlslls.u16','vmlslge.u16','vmlsllt.u16','vmlslgt.u16','vmlslle.u16', + 'vmlsleq.u32','vmlslne.u32','vmlslcs.u32','vmlslhs.u32','vmlslcc.u32','vmlsllo.u32','vmlslmi.u32','vmlslpl.u32','vmlslvs.u32','vmlslvc.u32','vmlslhi.u32','vmlslls.u32','vmlslge.u32','vmlsllt.u32','vmlslgt.u32','vmlslle.u32', + + 'vmulleq.u8','vmullne.u8','vmullcs.u8','vmullhs.u8','vmullcc.u8','vmulllo.u8','vmullmi.u8','vmullpl.u8','vmullvs.u8','vmullvc.u8','vmullhi.u8','vmullls.u8','vmullge.u8','vmulllt.u8','vmullgt.u8','vmullle.u8', + 'vmulleq.u16','vmullne.u16','vmullcs.u16','vmullhs.u16','vmullcc.u16','vmulllo.u16','vmullmi.u16','vmullpl.u16','vmullvs.u16','vmullvc.u16','vmullhi.u16','vmullls.u16','vmullge.u16','vmulllt.u16','vmullgt.u16','vmullle.u16', + 'vmulleq.u32','vmullne.u32','vmullcs.u32','vmullhs.u32','vmullcc.u32','vmulllo.u32','vmullmi.u32','vmullpl.u32','vmullvs.u32','vmullvc.u32','vmullhi.u32','vmullls.u32','vmullge.u32','vmulllt.u32','vmullgt.u32','vmullle.u32', + + 'vmovleq.u8','vmovlne.u8','vmovlcs.u8','vmovlhs.u8','vmovlcc.u8','vmovllo.u8','vmovlmi.u8','vmovlpl.u8','vmovlvs.u8','vmovlvc.u8','vmovlhi.u8','vmovlls.u8','vmovlge.u8','vmovllt.u8','vmovlgt.u8','vmovlle.u8', + 'vmovleq.u16','vmovlne.u16','vmovlcs.u16','vmovlhs.u16','vmovlcc.u16','vmovllo.u16','vmovlmi.u16','vmovlpl.u16','vmovlvs.u16','vmovlvc.u16','vmovlhi.u16','vmovlls.u16','vmovlge.u16','vmovllt.u16','vmovlgt.u16','vmovlle.u16', + 'vmovleq.u32','vmovlne.u32','vmovlcs.u32','vmovlhs.u32','vmovlcc.u32','vmovllo.u32','vmovlmi.u32','vmovlpl.u32','vmovlvs.u32','vmovlvc.u32','vmovlhi.u32','vmovlls.u32','vmovlge.u32','vmovllt.u32','vmovlgt.u32','vmovlle.u32', + + 'vshleq.u8','vshlne.u8','vshlcs.u8','vshlhs.u8','vshlcc.u8','vshllo.u8','vshlmi.u8','vshlpl.u8','vshlvs.u8','vshlvc.u8','vshlhi.u8','vshlls.u8','vshlge.u8','vshllt.u8','vshlgt.u8','vshlle.u8', + 'vshleq.u16','vshlne.u16','vshlcs.u16','vshlhs.u16','vshlcc.u16','vshllo.u16','vshlmi.u16','vshlpl.u16','vshlvs.u16','vshlvc.u16','vshlhi.u16','vshlls.u16','vshlge.u16','vshllt.u16','vshlgt.u16','vshlle.u16', + 'vshleq.u32','vshlne.u32','vshlcs.u32','vshlhs.u32','vshlcc.u32','vshllo.u32','vshlmi.u32','vshlpl.u32','vshlvs.u32','vshlvc.u32','vshlhi.u32','vshlls.u32','vshlge.u32','vshllt.u32','vshlgt.u32','vshlle.u32', + 'vshleq.u64','vshlne.u64','vshlcs.u64','vshlhs.u64','vshlcc.u64','vshllo.u64','vshlmi.u64','vshlpl.u64','vshlvs.u64','vshlvc.u64','vshlhi.u64','vshlls.u64','vshlge.u64','vshllt.u64','vshlgt.u64','vshlle.u64', + + 'vshlleq.u8','vshllne.u8','vshllcs.u8','vshllhs.u8','vshllcc.u8','vshlllo.u8','vshllmi.u8','vshllpl.u8','vshllvs.u8','vshllvc.u8','vshllhi.u8','vshllls.u8','vshllge.u8','vshlllt.u8','vshllgt.u8','vshllle.u8', + 'vshlleq.u16','vshllne.u16','vshllcs.u16','vshllhs.u16','vshllcc.u16','vshlllo.u16','vshllmi.u16','vshllpl.u16','vshllvs.u16','vshllvc.u16','vshllhi.u16','vshllls.u16','vshllge.u16','vshlllt.u16','vshllgt.u16','vshllle.u16', + 'vshlleq.u32','vshllne.u32','vshllcs.u32','vshllhs.u32','vshllcc.u32','vshlllo.u32','vshllmi.u32','vshllpl.u32','vshllvs.u32','vshllvc.u32','vshllhi.u32','vshllls.u32','vshllge.u32','vshlllt.u32','vshllgt.u32','vshllle.u32', + + 'vshreq.u8','vshrne.u8','vshrcs.u8','vshrhs.u8','vshrcc.u8','vshrlo.u8','vshrmi.u8','vshrpl.u8','vshrvs.u8','vshrvc.u8','vshrhi.u8','vshrls.u8','vshrge.u8','vshrlt.u8','vshrgt.u8','vshrle.u8', + 'vshreq.u16','vshrne.u16','vshrcs.u16','vshrhs.u16','vshrcc.u16','vshrlo.u16','vshrmi.u16','vshrpl.u16','vshrvs.u16','vshrvc.u16','vshrhi.u16','vshrls.u16','vshrge.u16','vshrlt.u16','vshrgt.u16','vshrle.u16', + 'vshreq.u32','vshrne.u32','vshrcs.u32','vshrhs.u32','vshrcc.u32','vshrlo.u32','vshrmi.u32','vshrpl.u32','vshrvs.u32','vshrvc.u32','vshrhi.u32','vshrls.u32','vshrge.u32','vshrlt.u32','vshrgt.u32','vshrle.u32', + 'vshreq.u64','vshrne.u64','vshrcs.u64','vshrhs.u64','vshrcc.u64','vshrlo.u64','vshrmi.u64','vshrpl.u64','vshrvs.u64','vshrvc.u64','vshrhi.u64','vshrls.u64','vshrge.u64','vshrlt.u64','vshrgt.u64','vshrle.u64', + + 'vsraeq.u8','vsrane.u8','vsracs.u8','vsrahs.u8','vsracc.u8','vsralo.u8','vsrami.u8','vsrapl.u8','vsravs.u8','vsravc.u8','vsrahi.u8','vsrals.u8','vsrage.u8','vsralt.u8','vsragt.u8','vsrale.u8', + 'vsraeq.u16','vsrane.u16','vsracs.u16','vsrahs.u16','vsracc.u16','vsralo.u16','vsrami.u16','vsrapl.u16','vsravs.u16','vsravc.u16','vsrahi.u16','vsrals.u16','vsrage.u16','vsralt.u16','vsragt.u16','vsrale.u16', + 'vsraeq.u32','vsrane.u32','vsracs.u32','vsrahs.u32','vsracc.u32','vsralo.u32','vsrami.u32','vsrapl.u32','vsravs.u32','vsravc.u32','vsrahi.u32','vsrals.u32','vsrage.u32','vsralt.u32','vsragt.u32','vsrale.u32', + 'vsraeq.u64','vsrane.u64','vsracs.u64','vsrahs.u64','vsracc.u64','vsralo.u64','vsrami.u64','vsrapl.u64','vsravs.u64','vsravc.u64','vsrahi.u64','vsrals.u64','vsrage.u64','vsralt.u64','vsragt.u64','vsrale.u64', + + 'vpmaxeq.u8','vpmaxne.u8','vpmaxcs.u8','vpmaxhs.u8','vpmaxcc.u8','vpmaxlo.u8','vpmaxmi.u8','vpmaxpl.u8','vpmaxvs.u8','vpmaxvc.u8','vpmaxhi.u8','vpmaxls.u8','vpmaxge.u8','vpmaxlt.u8','vpmaxgt.u8','vpmaxle.u8', + 'vpmaxeq.u16','vpmaxne.u16','vpmaxcs.u16','vpmaxhs.u16','vpmaxcc.u16','vpmaxlo.u16','vpmaxmi.u16','vpmaxpl.u16','vpmaxvs.u16','vpmaxvc.u16','vpmaxhi.u16','vpmaxls.u16','vpmaxge.u16','vpmaxlt.u16','vpmaxgt.u16','vpmaxle.u16', + 'vpmaxeq.u32','vpmaxne.u32','vpmaxcs.u32','vpmaxhs.u32','vpmaxcc.u32','vpmaxlo.u32','vpmaxmi.u32','vpmaxpl.u32','vpmaxvs.u32','vpmaxvc.u32','vpmaxhi.u32','vpmaxls.u32','vpmaxge.u32','vpmaxlt.u32','vpmaxgt.u32','vpmaxle.u32', + + 'vpmineq.u8','vpminne.u8','vpmincs.u8','vpminhs.u8','vpmincc.u8','vpminlo.u8','vpminmi.u8','vpminpl.u8','vpminvs.u8','vpminvc.u8','vpminhi.u8','vpminls.u8','vpminge.u8','vpminlt.u8','vpmingt.u8','vpminle.u8', + 'vpmineq.u16','vpminne.u16','vpmincs.u16','vpminhs.u16','vpmincc.u16','vpminlo.u16','vpminmi.u16','vpminpl.u16','vpminvs.u16','vpminvc.u16','vpminhi.u16','vpminls.u16','vpminge.u16','vpminlt.u16','vpmingt.u16','vpminle.u16', + 'vpmineq.u32','vpminne.u32','vpmincs.u32','vpminhs.u32','vpmincc.u32','vpminlo.u32','vpminmi.u32','vpminpl.u32','vpminvs.u32','vpminvc.u32','vpminhi.u32','vpminls.u32','vpminge.u32','vpminlt.u32','vpmingt.u32','vpminle.u32', + + 'vqaddeq.u8','vqaddne.u8','vqaddcs.u8','vqaddhs.u8','vqaddcc.u8','vqaddlo.u8','vqaddmi.u8','vqaddpl.u8','vqaddvs.u8','vqaddvc.u8','vqaddhi.u8','vqaddls.u8','vqaddge.u8','vqaddlt.u8','vqaddgt.u8','vqaddle.u8', + 'vqaddeq.u16','vqaddne.u16','vqaddcs.u16','vqaddhs.u16','vqaddcc.u16','vqaddlo.u16','vqaddmi.u16','vqaddpl.u16','vqaddvs.u16','vqaddvc.u16','vqaddhi.u16','vqaddls.u16','vqaddge.u16','vqaddlt.u16','vqaddgt.u16','vqaddle.u16', + 'vqaddeq.u32','vqaddne.u32','vqaddcs.u32','vqaddhs.u32','vqaddcc.u32','vqaddlo.u32','vqaddmi.u32','vqaddpl.u32','vqaddvs.u32','vqaddvc.u32','vqaddhi.u32','vqaddls.u32','vqaddge.u32','vqaddlt.u32','vqaddgt.u32','vqaddle.u32', + 'vqaddeq.u64','vqaddne.u64','vqaddcs.u64','vqaddhs.u64','vqaddcc.u64','vqaddlo.u64','vqaddmi.u64','vqaddpl.u64','vqaddvs.u64','vqaddvc.u64','vqaddhi.u64','vqaddls.u64','vqaddge.u64','vqaddlt.u64','vqaddgt.u64','vqaddle.u64', + + 'vqsubeq.u8','vqsubne.u8','vqsubcs.u8','vqsubhs.u8','vqsubcc.u8','vqsublo.u8','vqsubmi.u8','vqsubpl.u8','vqsubvs.u8','vqsubvc.u8','vqsubhi.u8','vqsubls.u8','vqsubge.u8','vqsublt.u8','vqsubgt.u8','vqsuble.u8', + 'vqsubeq.u16','vqsubne.u16','vqsubcs.u16','vqsubhs.u16','vqsubcc.u16','vqsublo.u16','vqsubmi.u16','vqsubpl.u16','vqsubvs.u16','vqsubvc.u16','vqsubhi.u16','vqsubls.u16','vqsubge.u16','vqsublt.u16','vqsubgt.u16','vqsuble.u16', + 'vqsubeq.u32','vqsubne.u32','vqsubcs.u32','vqsubhs.u32','vqsubcc.u32','vqsublo.u32','vqsubmi.u32','vqsubpl.u32','vqsubvs.u32','vqsubvc.u32','vqsubhi.u32','vqsubls.u32','vqsubge.u32','vqsublt.u32','vqsubgt.u32','vqsuble.u32', + 'vqsubeq.u64','vqsubne.u64','vqsubcs.u64','vqsubhs.u64','vqsubcc.u64','vqsublo.u64','vqsubmi.u64','vqsubpl.u64','vqsubvs.u64','vqsubvc.u64','vqsubhi.u64','vqsubls.u64','vqsubge.u64','vqsublt.u64','vqsubgt.u64','vqsuble.u64', + + 'vqmovneq.u16','vqmovnne.u16','vqmovncs.u16','vqmovnhs.u16','vqmovncc.u16','vqmovnlo.u16','vqmovnmi.u16','vqmovnpl.u16','vqmovnvs.u16','vqmovnvc.u16','vqmovnhi.u16','vqmovnls.u16','vqmovnge.u16','vqmovnlt.u16','vqmovngt.u16','vqmovnle.u16', + 'vqmovneq.u32','vqmovnne.u32','vqmovncs.u32','vqmovnhs.u32','vqmovncc.u32','vqmovnlo.u32','vqmovnmi.u32','vqmovnpl.u32','vqmovnvs.u32','vqmovnvc.u32','vqmovnhi.u32','vqmovnls.u32','vqmovnge.u32','vqmovnlt.u32','vqmovngt.u32','vqmovnle.u32', + 'vqmovneq.u64','vqmovnne.u64','vqmovncs.u64','vqmovnhs.u64','vqmovncc.u64','vqmovnlo.u64','vqmovnmi.u64','vqmovnpl.u64','vqmovnvs.u64','vqmovnvc.u64','vqmovnhi.u64','vqmovnls.u64','vqmovnge.u64','vqmovnlt.u64','vqmovngt.u64','vqmovnle.u64', + + 'vqshleq.u8','vqshlne.u8','vqshlcs.u8','vqshlhs.u8','vqshlcc.u8','vqshllo.u8','vqshlmi.u8','vqshlpl.u8','vqshlvs.u8','vqshlvc.u8','vqshlhi.u8','vqshlls.u8','vqshlge.u8','vqshllt.u8','vqshlgt.u8','vqshlle.u8', + 'vqshleq.u16','vqshlne.u16','vqshlcs.u16','vqshlhs.u16','vqshlcc.u16','vqshllo.u16','vqshlmi.u16','vqshlpl.u16','vqshlvs.u16','vqshlvc.u16','vqshlhi.u16','vqshlls.u16','vqshlge.u16','vqshllt.u16','vqshlgt.u16','vqshlle.u16', + 'vqshleq.u32','vqshlne.u32','vqshlcs.u32','vqshlhs.u32','vqshlcc.u32','vqshllo.u32','vqshlmi.u32','vqshlpl.u32','vqshlvs.u32','vqshlvc.u32','vqshlhi.u32','vqshlls.u32','vqshlge.u32','vqshllt.u32','vqshlgt.u32','vqshlle.u32', + 'vqshleq.u64','vqshlne.u64','vqshlcs.u64','vqshlhs.u64','vqshlcc.u64','vqshllo.u64','vqshlmi.u64','vqshlpl.u64','vqshlvs.u64','vqshlvc.u64','vqshlhi.u64','vqshlls.u64','vqshlge.u64','vqshllt.u64','vqshlgt.u64','vqshlle.u64', + + 'vqshrneq.u16','vqshrnne.u16','vqshrncs.u16','vqshrnhs.u16','vqshrncc.u16','vqshrnlo.u16','vqshrnmi.u16','vqshrnpl.u16','vqshrnvs.u16','vqshrnvc.u16','vqshrnhi.u16','vqshrnls.u16','vqshrnge.u16','vqshrnlt.u16','vqshrngt.u16','vqshrnle.u16', + 'vqshrneq.u32','vqshrnne.u32','vqshrncs.u32','vqshrnhs.u32','vqshrncc.u32','vqshrnlo.u32','vqshrnmi.u32','vqshrnpl.u32','vqshrnvs.u32','vqshrnvc.u32','vqshrnhi.u32','vqshrnls.u32','vqshrnge.u32','vqshrnlt.u32','vqshrngt.u32','vqshrnle.u32', + 'vqshrneq.u64','vqshrnne.u64','vqshrncs.u64','vqshrnhs.u64','vqshrncc.u64','vqshrnlo.u64','vqshrnmi.u64','vqshrnpl.u64','vqshrnvs.u64','vqshrnvc.u64','vqshrnhi.u64','vqshrnls.u64','vqshrnge.u64','vqshrnlt.u64','vqshrngt.u64','vqshrnle.u64', + + 'vqrshleq.u8','vqrshlne.u8','vqrshlcs.u8','vqrshlhs.u8','vqrshlcc.u8','vqrshllo.u8','vqrshlmi.u8','vqrshlpl.u8','vqrshlvs.u8','vqrshlvc.u8','vqrshlhi.u8','vqrshlls.u8','vqrshlge.u8','vqrshllt.u8','vqrshlgt.u8','vqrshlle.u8', + 'vqrshleq.u16','vqrshlne.u16','vqrshlcs.u16','vqrshlhs.u16','vqrshlcc.u16','vqrshllo.u16','vqrshlmi.u16','vqrshlpl.u16','vqrshlvs.u16','vqrshlvc.u16','vqrshlhi.u16','vqrshlls.u16','vqrshlge.u16','vqrshllt.u16','vqrshlgt.u16','vqrshlle.u16', + 'vqrshleq.u32','vqrshlne.u32','vqrshlcs.u32','vqrshlhs.u32','vqrshlcc.u32','vqrshllo.u32','vqrshlmi.u32','vqrshlpl.u32','vqrshlvs.u32','vqrshlvc.u32','vqrshlhi.u32','vqrshlls.u32','vqrshlge.u32','vqrshllt.u32','vqrshlgt.u32','vqrshlle.u32', + 'vqrshleq.u64','vqrshlne.u64','vqrshlcs.u64','vqrshlhs.u64','vqrshlcc.u64','vqrshllo.u64','vqrshlmi.u64','vqrshlpl.u64','vqrshlvs.u64','vqrshlvc.u64','vqrshlhi.u64','vqrshlls.u64','vqrshlge.u64','vqrshllt.u64','vqrshlgt.u64','vqrshlle.u64', + + 'vqrshrneq.u16','vqrshrnne.u16','vqrshrncs.u16','vqrshrnhs.u16','vqrshrncc.u16','vqrshrnlo.u16','vqrshrnmi.u16','vqrshrnpl.u16','vqrshrnvs.u16','vqrshrnvc.u16','vqrshrnhi.u16','vqrshrnls.u16','vqrshrnge.u16','vqrshrnlt.u16','vqrshrngt.u16','vqrshrnle.u16', + 'vqrshrneq.u32','vqrshrnne.u32','vqrshrncs.u32','vqrshrnhs.u32','vqrshrncc.u32','vqrshrnlo.u32','vqrshrnmi.u32','vqrshrnpl.u32','vqrshrnvs.u32','vqrshrnvc.u32','vqrshrnhi.u32','vqrshrnls.u32','vqrshrnge.u32','vqrshrnlt.u32','vqrshrngt.u32','vqrshrnle.u32', + 'vqrshrneq.u64','vqrshrnne.u64','vqrshrncs.u64','vqrshrnhs.u64','vqrshrncc.u64','vqrshrnlo.u64','vqrshrnmi.u64','vqrshrnpl.u64','vqrshrnvs.u64','vqrshrnvc.u64','vqrshrnhi.u64','vqrshrnls.u64','vqrshrnge.u64','vqrshrnlt.u64','vqrshrngt.u64','vqrshrnle.u64', + + 'vrhaddeq.u8','vrhaddne.u8','vrhaddcs.u8','vrhaddhs.u8','vrhaddcc.u8','vrhaddlo.u8','vrhaddmi.u8','vrhaddpl.u8','vrhaddvs.u8','vrhaddvc.u8','vrhaddhi.u8','vrhaddls.u8','vrhaddge.u8','vrhaddlt.u8','vrhaddgt.u8','vrhaddle.u8', + 'vrhaddeq.u16','vrhaddne.u16','vrhaddcs.u16','vrhaddhs.u16','vrhaddcc.u16','vrhaddlo.u16','vrhaddmi.u16','vrhaddpl.u16','vrhaddvs.u16','vrhaddvc.u16','vrhaddhi.u16','vrhaddls.u16','vrhaddge.u16','vrhaddlt.u16','vrhaddgt.u16','vrhaddle.u16', + 'vrhaddeq.u32','vrhaddne.u32','vrhaddcs.u32','vrhaddhs.u32','vrhaddcc.u32','vrhaddlo.u32','vrhaddmi.u32','vrhaddpl.u32','vrhaddvs.u32','vrhaddvc.u32','vrhaddhi.u32','vrhaddls.u32','vrhaddge.u32','vrhaddlt.u32','vrhaddgt.u32','vrhaddle.u32', + + 'vrshleq.u8','vrshlne.u8','vrshlcs.u8','vrshlhs.u8','vrshlcc.u8','vrshllo.u8','vrshlmi.u8','vrshlpl.u8','vrshlvs.u8','vrshlvc.u8','vrshlhi.u8','vrshlls.u8','vrshlge.u8','vrshllt.u8','vrshlgt.u8','vrshlle.u8', + 'vrshleq.u16','vrshlne.u16','vrshlcs.u16','vrshlhs.u16','vrshlcc.u16','vrshllo.u16','vrshlmi.u16','vrshlpl.u16','vrshlvs.u16','vrshlvc.u16','vrshlhi.u16','vrshlls.u16','vrshlge.u16','vrshllt.u16','vrshlgt.u16','vrshlle.u16', + 'vrshleq.u32','vrshlne.u32','vrshlcs.u32','vrshlhs.u32','vrshlcc.u32','vrshllo.u32','vrshlmi.u32','vrshlpl.u32','vrshlvs.u32','vrshlvc.u32','vrshlhi.u32','vrshlls.u32','vrshlge.u32','vrshllt.u32','vrshlgt.u32','vrshlle.u32', + 'vrshleq.u64','vrshlne.u64','vrshlcs.u64','vrshlhs.u64','vrshlcc.u64','vrshllo.u64','vrshlmi.u64','vrshlpl.u64','vrshlvs.u64','vrshlvc.u64','vrshlhi.u64','vrshlls.u64','vrshlge.u64','vrshllt.u64','vrshlgt.u64','vrshlle.u64', + + 'vrshreq.u8','vrshrne.u8','vrshrcs.u8','vrshrhs.u8','vrshrcc.u8','vrshrlo.u8','vrshrmi.u8','vrshrpl.u8','vrshrvs.u8','vrshrvc.u8','vrshrhi.u8','vrshrls.u8','vrshrge.u8','vrshrlt.u8','vrshrgt.u8','vrshrle.u8', + 'vrshreq.u16','vrshrne.u16','vrshrcs.u16','vrshrhs.u16','vrshrcc.u16','vrshrlo.u16','vrshrmi.u16','vrshrpl.u16','vrshrvs.u16','vrshrvc.u16','vrshrhi.u16','vrshrls.u16','vrshrge.u16','vrshrlt.u16','vrshrgt.u16','vrshrle.u16', + 'vrshreq.u32','vrshrne.u32','vrshrcs.u32','vrshrhs.u32','vrshrcc.u32','vrshrlo.u32','vrshrmi.u32','vrshrpl.u32','vrshrvs.u32','vrshrvc.u32','vrshrhi.u32','vrshrls.u32','vrshrge.u32','vrshrlt.u32','vrshrgt.u32','vrshrle.u32', + 'vrshreq.u64','vrshrne.u64','vrshrcs.u64','vrshrhs.u64','vrshrcc.u64','vrshrlo.u64','vrshrmi.u64','vrshrpl.u64','vrshrvs.u64','vrshrvc.u64','vrshrhi.u64','vrshrls.u64','vrshrge.u64','vrshrlt.u64','vrshrgt.u64','vrshrle.u64', + + 'vrsraeq.u8','vrsrane.u8','vrsracs.u8','vrsrahs.u8','vrsracc.u8','vrsralo.u8','vrsrami.u8','vrsrapl.u8','vrsravs.u8','vrsravc.u8','vrsrahi.u8','vrsrals.u8','vrsrage.u8','vrsralt.u8','vrsragt.u8','vrsrale.u8', + 'vrsraeq.u16','vrsrane.u16','vrsracs.u16','vrsrahs.u16','vrsracc.u16','vrsralo.u16','vrsrami.u16','vrsrapl.u16','vrsravs.u16','vrsravc.u16','vrsrahi.u16','vrsrals.u16','vrsrage.u16','vrsralt.u16','vrsragt.u16','vrsrale.u16', + 'vrsraeq.u32','vrsrane.u32','vrsracs.u32','vrsrahs.u32','vrsracc.u32','vrsralo.u32','vrsrami.u32','vrsrapl.u32','vrsravs.u32','vrsravc.u32','vrsrahi.u32','vrsrals.u32','vrsrage.u32','vrsralt.u32','vrsragt.u32','vrsrale.u32', + 'vrsraeq.u64','vrsrane.u64','vrsracs.u64','vrsrahs.u64','vrsracc.u64','vrsralo.u64','vrsrami.u64','vrsrapl.u64','vrsravs.u64','vrsravc.u64','vrsrahi.u64','vrsrals.u64','vrsrage.u64','vrsralt.u64','vrsragt.u64','vrsrale.u64', + ), + /* Conditional VFPv3 & NEON SIMD Floating-Point Instructions */ + 34 => array( + 'vabdeq.f32','vabdne.f32','vabdcs.f32','vabdhs.f32','vabdcc.f32','vabdlo.f32','vabdmi.f32','vabdpl.f32','vabdvs.f32','vabdvc.f32','vabdhi.f32','vabdls.f32','vabdge.f32','vabdlt.f32','vabdgt.f32','vabdle.f32', + + 'vabseq.f32','vabsne.f32','vabscs.f32','vabshs.f32','vabscc.f32','vabslo.f32','vabsmi.f32','vabspl.f32','vabsvs.f32','vabsvc.f32','vabshi.f32','vabsls.f32','vabsge.f32','vabslt.f32','vabsgt.f32','vabsle.f32', + 'vabseq.f64','vabsne.f64','vabscs.f64','vabshs.f64','vabscc.f64','vabslo.f64','vabsmi.f64','vabspl.f64','vabsvs.f64','vabsvc.f64','vabshi.f64','vabsls.f64','vabsge.f64','vabslt.f64','vabsgt.f64','vabsle.f64', + + 'vacgeeq.f32','vacgene.f32','vacgecs.f32','vacgehs.f32','vacgecc.f32','vacgelo.f32','vacgemi.f32','vacgepl.f32','vacgevs.f32','vacgevc.f32','vacgehi.f32','vacgels.f32','vacgege.f32','vacgelt.f32','vacgegt.f32','vacgele.f32', + 'vacgteq.f32','vacgtne.f32','vacgtcs.f32','vacgths.f32','vacgtcc.f32','vacgtlo.f32','vacgtmi.f32','vacgtpl.f32','vacgtvs.f32','vacgtvc.f32','vacgthi.f32','vacgtls.f32','vacgtge.f32','vacgtlt.f32','vacgtgt.f32','vacgtle.f32', + 'vacleeq.f32','vaclene.f32','vaclecs.f32','vaclehs.f32','vaclecc.f32','vaclelo.f32','vaclemi.f32','vaclepl.f32','vaclevs.f32','vaclevc.f32','vaclehi.f32','vaclels.f32','vaclege.f32','vaclelt.f32','vaclegt.f32','vaclele.f32', + 'vaclteq.f32','vacltne.f32','vacltcs.f32','vaclths.f32','vacltcc.f32','vacltlo.f32','vacltmi.f32','vacltpl.f32','vacltvs.f32','vacltvc.f32','vaclthi.f32','vacltls.f32','vacltge.f32','vacltlt.f32','vacltgt.f32','vacltle.f32', + + 'vaddeq.f32','vaddne.f32','vaddcs.f32','vaddhs.f32','vaddcc.f32','vaddlo.f32','vaddmi.f32','vaddpl.f32','vaddvs.f32','vaddvc.f32','vaddhi.f32','vaddls.f32','vaddge.f32','vaddlt.f32','vaddgt.f32','vaddle.f32', + 'vaddeq.f64','vaddne.f64','vaddcs.f64','vaddhs.f64','vaddcc.f64','vaddlo.f64','vaddmi.f64','vaddpl.f64','vaddvs.f64','vaddvc.f64','vaddhi.f64','vaddls.f64','vaddge.f64','vaddlt.f64','vaddgt.f64','vaddle.f64', + + 'vceqeq.f32','vceqne.f32','vceqcs.f32','vceqhs.f32','vceqcc.f32','vceqlo.f32','vceqmi.f32','vceqpl.f32','vceqvs.f32','vceqvc.f32','vceqhi.f32','vceqls.f32','vceqge.f32','vceqlt.f32','vceqgt.f32','vceqle.f32', + 'vcgeeq.f32','vcgene.f32','vcgecs.f32','vcgehs.f32','vcgecc.f32','vcgelo.f32','vcgemi.f32','vcgepl.f32','vcgevs.f32','vcgevc.f32','vcgehi.f32','vcgels.f32','vcgege.f32','vcgelt.f32','vcgegt.f32','vcgele.f32', + 'vcleeq.f32','vclene.f32','vclecs.f32','vclehs.f32','vclecc.f32','vclelo.f32','vclemi.f32','vclepl.f32','vclevs.f32','vclevc.f32','vclehi.f32','vclels.f32','vclege.f32','vclelt.f32','vclegt.f32','vclele.f32', + 'vcgteq.f32','vcgtne.f32','vcgtcs.f32','vcgths.f32','vcgtcc.f32','vcgtlo.f32','vcgtmi.f32','vcgtpl.f32','vcgtvs.f32','vcgtvc.f32','vcgthi.f32','vcgtls.f32','vcgtge.f32','vcgtlt.f32','vcgtgt.f32','vcgtle.f32', + 'vclteq.f32','vcltne.f32','vcltcs.f32','vclths.f32','vcltcc.f32','vcltlo.f32','vcltmi.f32','vcltpl.f32','vcltvs.f32','vcltvc.f32','vclthi.f32','vcltls.f32','vcltge.f32','vcltlt.f32','vcltgt.f32','vcltle.f32', + + 'vcmpeq.f32','vcmpne.f32','vcmpcs.f32','vcmphs.f32','vcmpcc.f32','vcmplo.f32','vcmpmi.f32','vcmppl.f32','vcmpvs.f32','vcmpvc.f32','vcmphi.f32','vcmpls.f32','vcmpge.f32','vcmplt.f32','vcmpgt.f32','vcmple.f32', + 'vcmpeq.f64','vcmpne.f64','vcmpcs.f64','vcmphs.f64','vcmpcc.f64','vcmplo.f64','vcmpmi.f64','vcmppl.f64','vcmpvs.f64','vcmpvc.f64','vcmphi.f64','vcmpls.f64','vcmpge.f64','vcmplt.f64','vcmpgt.f64','vcmple.f64', + + 'vcmpeeq.f32','vcmpene.f32','vcmpecs.f32','vcmpehs.f32','vcmpecc.f32','vcmpelo.f32','vcmpemi.f32','vcmpepl.f32','vcmpevs.f32','vcmpevc.f32','vcmpehi.f32','vcmpels.f32','vcmpege.f32','vcmpelt.f32','vcmpegt.f32','vcmpele.f32', + 'vcmpeeq.f64','vcmpene.f64','vcmpecs.f64','vcmpehs.f64','vcmpecc.f64','vcmpelo.f64','vcmpemi.f64','vcmpepl.f64','vcmpevs.f64','vcmpevc.f64','vcmpehi.f64','vcmpels.f64','vcmpege.f64','vcmpelt.f64','vcmpegt.f64','vcmpele.f64', + + 'vcvteq.s16.f32','vcvtne.s16.f32','vcvtcs.s16.f32','vcvths.s16.f32','vcvtcc.s16.f32','vcvtlo.s16.f32','vcvtmi.s16.f32','vcvtpl.s16.f32','vcvtvs.s16.f32','vcvtvc.s16.f32','vcvthi.s16.f32','vcvtls.s16.f32','vcvtge.s16.f32','vcvtlt.s16.f32','vcvtgt.s16.f32','vcvtle.s16.f32', + 'vcvteq.s16.f64','vcvtne.s16.f64','vcvtcs.s16.f64','vcvths.s16.f64','vcvtcc.s16.f64','vcvtlo.s16.f64','vcvtmi.s16.f64','vcvtpl.s16.f64','vcvtvs.s16.f64','vcvtvc.s16.f64','vcvthi.s16.f64','vcvtls.s16.f64','vcvtge.s16.f64','vcvtlt.s16.f64','vcvtgt.s16.f64','vcvtle.s16.f64', + 'vcvteq.s32.f32','vcvtne.s32.f32','vcvtcs.s32.f32','vcvths.s32.f32','vcvtcc.s32.f32','vcvtlo.s32.f32','vcvtmi.s32.f32','vcvtpl.s32.f32','vcvtvs.s32.f32','vcvtvc.s32.f32','vcvthi.s32.f32','vcvtls.s32.f32','vcvtge.s32.f32','vcvtlt.s32.f32','vcvtgt.s32.f32','vcvtle.s32.f32', + 'vcvteq.s32.f64','vcvtne.s32.f64','vcvtcs.s32.f64','vcvths.s32.f64','vcvtcc.s32.f64','vcvtlo.s32.f64','vcvtmi.s32.f64','vcvtpl.s32.f64','vcvtvs.s32.f64','vcvtvc.s32.f64','vcvthi.s32.f64','vcvtls.s32.f64','vcvtge.s32.f64','vcvtlt.s32.f64','vcvtgt.s32.f64','vcvtle.s32.f64', + 'vcvteq.u16.f32','vcvtne.u16.f32','vcvtcs.u16.f32','vcvths.u16.f32','vcvtcc.u16.f32','vcvtlo.u16.f32','vcvtmi.u16.f32','vcvtpl.u16.f32','vcvtvs.u16.f32','vcvtvc.u16.f32','vcvthi.u16.f32','vcvtls.u16.f32','vcvtge.u16.f32','vcvtlt.u16.f32','vcvtgt.u16.f32','vcvtle.u16.f32', + 'vcvteq.u16.f64','vcvtne.u16.f64','vcvtcs.u16.f64','vcvths.u16.f64','vcvtcc.u16.f64','vcvtlo.u16.f64','vcvtmi.u16.f64','vcvtpl.u16.f64','vcvtvs.u16.f64','vcvtvc.u16.f64','vcvthi.u16.f64','vcvtls.u16.f64','vcvtge.u16.f64','vcvtlt.u16.f64','vcvtgt.u16.f64','vcvtle.u16.f64', + 'vcvteq.u32.f32','vcvtne.u32.f32','vcvtcs.u32.f32','vcvths.u32.f32','vcvtcc.u32.f32','vcvtlo.u32.f32','vcvtmi.u32.f32','vcvtpl.u32.f32','vcvtvs.u32.f32','vcvtvc.u32.f32','vcvthi.u32.f32','vcvtls.u32.f32','vcvtge.u32.f32','vcvtlt.u32.f32','vcvtgt.u32.f32','vcvtle.u32.f32', + 'vcvteq.u32.f64','vcvtne.u32.f64','vcvtcs.u32.f64','vcvths.u32.f64','vcvtcc.u32.f64','vcvtlo.u32.f64','vcvtmi.u32.f64','vcvtpl.u32.f64','vcvtvs.u32.f64','vcvtvc.u32.f64','vcvthi.u32.f64','vcvtls.u32.f64','vcvtge.u32.f64','vcvtlt.u32.f64','vcvtgt.u32.f64','vcvtle.u32.f64', + 'vcvteq.f16.f32','vcvtne.f16.f32','vcvtcs.f16.f32','vcvths.f16.f32','vcvtcc.f16.f32','vcvtlo.f16.f32','vcvtmi.f16.f32','vcvtpl.f16.f32','vcvtvs.f16.f32','vcvtvc.f16.f32','vcvthi.f16.f32','vcvtls.f16.f32','vcvtge.f16.f32','vcvtlt.f16.f32','vcvtgt.f16.f32','vcvtle.f16.f32', + 'vcvteq.f32.s32','vcvtne.f32.s32','vcvtcs.f32.s32','vcvths.f32.s32','vcvtcc.f32.s32','vcvtlo.f32.s32','vcvtmi.f32.s32','vcvtpl.f32.s32','vcvtvs.f32.s32','vcvtvc.f32.s32','vcvthi.f32.s32','vcvtls.f32.s32','vcvtge.f32.s32','vcvtlt.f32.s32','vcvtgt.f32.s32','vcvtle.f32.s32', + 'vcvteq.f32.u32','vcvtne.f32.u32','vcvtcs.f32.u32','vcvths.f32.u32','vcvtcc.f32.u32','vcvtlo.f32.u32','vcvtmi.f32.u32','vcvtpl.f32.u32','vcvtvs.f32.u32','vcvtvc.f32.u32','vcvthi.f32.u32','vcvtls.f32.u32','vcvtge.f32.u32','vcvtlt.f32.u32','vcvtgt.f32.u32','vcvtle.f32.u32', + 'vcvteq.f32.f16','vcvtne.f32.f16','vcvtcs.f32.f16','vcvths.f32.f16','vcvtcc.f32.f16','vcvtlo.f32.f16','vcvtmi.f32.f16','vcvtpl.f32.f16','vcvtvs.f32.f16','vcvtvc.f32.f16','vcvthi.f32.f16','vcvtls.f32.f16','vcvtge.f32.f16','vcvtlt.f32.f16','vcvtgt.f32.f16','vcvtle.f32.f16', + 'vcvteq.f32.f64','vcvtne.f32.f64','vcvtcs.f32.f64','vcvths.f32.f64','vcvtcc.f32.f64','vcvtlo.f32.f64','vcvtmi.f32.f64','vcvtpl.f32.f64','vcvtvs.f32.f64','vcvtvc.f32.f64','vcvthi.f32.f64','vcvtls.f32.f64','vcvtge.f32.f64','vcvtlt.f32.f64','vcvtgt.f32.f64','vcvtle.f32.f64', + 'vcvteq.f64.s32','vcvtne.f64.s32','vcvtcs.f64.s32','vcvths.f64.s32','vcvtcc.f64.s32','vcvtlo.f64.s32','vcvtmi.f64.s32','vcvtpl.f64.s32','vcvtvs.f64.s32','vcvtvc.f64.s32','vcvthi.f64.s32','vcvtls.f64.s32','vcvtge.f64.s32','vcvtlt.f64.s32','vcvtgt.f64.s32','vcvtle.f64.s32', + 'vcvteq.f64.u32','vcvtne.f64.u32','vcvtcs.f64.u32','vcvths.f64.u32','vcvtcc.f64.u32','vcvtlo.f64.u32','vcvtmi.f64.u32','vcvtpl.f64.u32','vcvtvs.f64.u32','vcvtvc.f64.u32','vcvthi.f64.u32','vcvtls.f64.u32','vcvtge.f64.u32','vcvtlt.f64.u32','vcvtgt.f64.u32','vcvtle.f64.u32', + 'vcvteq.f64.f32','vcvtne.f64.f32','vcvtcs.f64.f32','vcvths.f64.f32','vcvtcc.f64.f32','vcvtlo.f64.f32','vcvtmi.f64.f32','vcvtpl.f64.f32','vcvtvs.f64.f32','vcvtvc.f64.f32','vcvthi.f64.f32','vcvtls.f64.f32','vcvtge.f64.f32','vcvtlt.f64.f32','vcvtgt.f64.f32','vcvtle.f64.f32', + + 'vcvtreq.s32.f32','vcvtrne.s32.f32','vcvtrcs.s32.f32','vcvtrhs.s32.f32','vcvtrcc.s32.f32','vcvtrlo.s32.f32','vcvtrmi.s32.f32','vcvtrpl.s32.f32','vcvtrvs.s32.f32','vcvtrvc.s32.f32','vcvtrhi.s32.f32','vcvtrls.s32.f32','vcvtrge.s32.f32','vcvtrlt.s32.f32','vcvtrgt.s32.f32','vcvtrle.s32.f32', + 'vcvtreq.s32.f64','vcvtrne.s32.f64','vcvtrcs.s32.f64','vcvtrhs.s32.f64','vcvtrcc.s32.f64','vcvtrlo.s32.f64','vcvtrmi.s32.f64','vcvtrpl.s32.f64','vcvtrvs.s32.f64','vcvtrvc.s32.f64','vcvtrhi.s32.f64','vcvtrls.s32.f64','vcvtrge.s32.f64','vcvtrlt.s32.f64','vcvtrgt.s32.f64','vcvtrle.s32.f64', + 'vcvtreq.u32.f32','vcvtrne.u32.f32','vcvtrcs.u32.f32','vcvtrhs.u32.f32','vcvtrcc.u32.f32','vcvtrlo.u32.f32','vcvtrmi.u32.f32','vcvtrpl.u32.f32','vcvtrvs.u32.f32','vcvtrvc.u32.f32','vcvtrhi.u32.f32','vcvtrls.u32.f32','vcvtrge.u32.f32','vcvtrlt.u32.f32','vcvtrgt.u32.f32','vcvtrle.u32.f32', + 'vcvtreq.u32.f64','vcvtrne.u32.f64','vcvtrcs.u32.f64','vcvtrhs.u32.f64','vcvtrcc.u32.f64','vcvtrlo.u32.f64','vcvtrmi.u32.f64','vcvtrpl.u32.f64','vcvtrvs.u32.f64','vcvtrvc.u32.f64','vcvtrhi.u32.f64','vcvtrls.u32.f64','vcvtrge.u32.f64','vcvtrlt.u32.f64','vcvtrgt.u32.f64','vcvtrle.u32.f64', + + 'vcvtbeq.f16.f32','vcvtbne.f16.f32','vcvtbcs.f16.f32','vcvtbhs.f16.f32','vcvtbcc.f16.f32','vcvtblo.f16.f32','vcvtbmi.f16.f32','vcvtbpl.f16.f32','vcvtbvs.f16.f32','vcvtbvc.f16.f32','vcvtbhi.f16.f32','vcvtbls.f16.f32','vcvtbge.f16.f32','vcvtblt.f16.f32','vcvtbgt.f16.f32','vcvtble.f16.f32', + 'vcvtbeq.f32.f16','vcvtbne.f32.f16','vcvtbcs.f32.f16','vcvtbhs.f32.f16','vcvtbcc.f32.f16','vcvtblo.f32.f16','vcvtbmi.f32.f16','vcvtbpl.f32.f16','vcvtbvs.f32.f16','vcvtbvc.f32.f16','vcvtbhi.f32.f16','vcvtbls.f32.f16','vcvtbge.f32.f16','vcvtblt.f32.f16','vcvtbgt.f32.f16','vcvtble.f32.f16', + + 'vcvtteq.f16.f32','vcvttne.f16.f32','vcvttcs.f16.f32','vcvtths.f16.f32','vcvttcc.f16.f32','vcvttlo.f16.f32','vcvttmi.f16.f32','vcvttpl.f16.f32','vcvttvs.f16.f32','vcvttvc.f16.f32','vcvtthi.f16.f32','vcvttls.f16.f32','vcvttge.f16.f32','vcvttlt.f16.f32','vcvttgt.f16.f32','vcvttle.f16.f32', + 'vcvtteq.f32.f16','vcvttne.f32.f16','vcvttcs.f32.f16','vcvtths.f32.f16','vcvttcc.f32.f16','vcvttlo.f32.f16','vcvttmi.f32.f16','vcvttpl.f32.f16','vcvttvs.f32.f16','vcvttvc.f32.f16','vcvtthi.f32.f16','vcvttls.f32.f16','vcvttge.f32.f16','vcvttlt.f32.f16','vcvttgt.f32.f16','vcvttle.f32.f16', + + 'vdiveq.f32','vdivne.f32','vdivcs.f32','vdivhs.f32','vdivcc.f32','vdivlo.f32','vdivmi.f32','vdivpl.f32','vdivvs.f32','vdivvc.f32','vdivhi.f32','vdivls.f32','vdivge.f32','vdivlt.f32','vdivgt.f32','vdivle.f32', + 'vdiveq.f64','vdivne.f64','vdivcs.f64','vdivhs.f64','vdivcc.f64','vdivlo.f64','vdivmi.f64','vdivpl.f64','vdivvs.f64','vdivvc.f64','vdivhi.f64','vdivls.f64','vdivge.f64','vdivlt.f64','vdivgt.f64','vdivle.f64', + + 'vmaxeq.f32','vmaxne.f32','vmaxcs.f32','vmaxhs.f32','vmaxcc.f32','vmaxlo.f32','vmaxmi.f32','vmaxpl.f32','vmaxvs.f32','vmaxvc.f32','vmaxhi.f32','vmaxls.f32','vmaxge.f32','vmaxlt.f32','vmaxgt.f32','vmaxle.f32', + 'vmineq.f32','vminne.f32','vmincs.f32','vminhs.f32','vmincc.f32','vminlo.f32','vminmi.f32','vminpl.f32','vminvs.f32','vminvc.f32','vminhi.f32','vminls.f32','vminge.f32','vminlt.f32','vmingt.f32','vminle.f32', + + 'vmlaeq.f32','vmlane.f32','vmlacs.f32','vmlahs.f32','vmlacc.f32','vmlalo.f32','vmlami.f32','vmlapl.f32','vmlavs.f32','vmlavc.f32','vmlahi.f32','vmlals.f32','vmlage.f32','vmlalt.f32','vmlagt.f32','vmlale.f32', + 'vmlaeq.f64','vmlane.f64','vmlacs.f64','vmlahs.f64','vmlacc.f64','vmlalo.f64','vmlami.f64','vmlapl.f64','vmlavs.f64','vmlavc.f64','vmlahi.f64','vmlals.f64','vmlage.f64','vmlalt.f64','vmlagt.f64','vmlale.f64', + + 'vmlseq.f32','vmlsne.f32','vmlscs.f32','vmlshs.f32','vmlscc.f32','vmlslo.f32','vmlsmi.f32','vmlspl.f32','vmlsvs.f32','vmlsvc.f32','vmlshi.f32','vmlsls.f32','vmlsge.f32','vmlslt.f32','vmlsgt.f32','vmlsle.f32', + 'vmlseq.f64','vmlsne.f64','vmlscs.f64','vmlshs.f64','vmlscc.f64','vmlslo.f64','vmlsmi.f64','vmlspl.f64','vmlsvs.f64','vmlsvc.f64','vmlshi.f64','vmlsls.f64','vmlsge.f64','vmlslt.f64','vmlsgt.f64','vmlsle.f64', + + 'vmuleq.f32','vmulne.f32','vmulcs.f32','vmulhs.f32','vmulcc.f32','vmullo.f32','vmulmi.f32','vmulpl.f32','vmulvs.f32','vmulvc.f32','vmulhi.f32','vmulls.f32','vmulge.f32','vmullt.f32','vmulgt.f32','vmulle.f32', + 'vmuleq.f64','vmulne.f64','vmulcs.f64','vmulhs.f64','vmulcc.f64','vmullo.f64','vmulmi.f64','vmulpl.f64','vmulvs.f64','vmulvc.f64','vmulhi.f64','vmulls.f64','vmulge.f64','vmullt.f64','vmulgt.f64','vmulle.f64', + + 'vnegeq.f32','vnegne.f32','vnegcs.f32','vneghs.f32','vnegcc.f32','vneglo.f32','vnegmi.f32','vnegpl.f32','vnegvs.f32','vnegvc.f32','vneghi.f32','vnegls.f32','vnegge.f32','vneglt.f32','vneggt.f32','vnegle.f32', + 'vnegeq.f64','vnegne.f64','vnegcs.f64','vneghs.f64','vnegcc.f64','vneglo.f64','vnegmi.f64','vnegpl.f64','vnegvs.f64','vnegvc.f64','vneghi.f64','vnegls.f64','vnegge.f64','vneglt.f64','vneggt.f64','vnegle.f64', + + 'vnmlaeq.f32','vnmlane.f32','vnmlacs.f32','vnmlahs.f32','vnmlacc.f32','vnmlalo.f32','vnmlami.f32','vnmlapl.f32','vnmlavs.f32','vnmlavc.f32','vnmlahi.f32','vnmlals.f32','vnmlage.f32','vnmlalt.f32','vnmlagt.f32','vnmlale.f32', + 'vnmlaeq.f64','vnmlane.f64','vnmlacs.f64','vnmlahs.f64','vnmlacc.f64','vnmlalo.f64','vnmlami.f64','vnmlapl.f64','vnmlavs.f64','vnmlavc.f64','vnmlahi.f64','vnmlals.f64','vnmlage.f64','vnmlalt.f64','vnmlagt.f64','vnmlale.f64', + + 'vnmlseq.f32','vnmlsne.f32','vnmlscs.f32','vnmlshs.f32','vnmlscc.f32','vnmlslo.f32','vnmlsmi.f32','vnmlspl.f32','vnmlsvs.f32','vnmlsvc.f32','vnmlshi.f32','vnmlsls.f32','vnmlsge.f32','vnmlslt.f32','vnmlsgt.f32','vnmlsle.f32', + 'vnmlseq.f64','vnmlsne.f64','vnmlscs.f64','vnmlshs.f64','vnmlscc.f64','vnmlslo.f64','vnmlsmi.f64','vnmlspl.f64','vnmlsvs.f64','vnmlsvc.f64','vnmlshi.f64','vnmlsls.f64','vnmlsge.f64','vnmlslt.f64','vnmlsgt.f64','vnmlsle.f64', + + 'vnmuleq.f64','vnmulne.f64','vnmulcs.f64','vnmulhs.f64','vnmulcc.f64','vnmullo.f64','vnmulmi.f64','vnmulpl.f64','vnmulvs.f64','vnmulvc.f64','vnmulhi.f64','vnmulls.f64','vnmulge.f64','vnmullt.f64','vnmulgt.f64','vnmulle.f64', + 'vnmuleq.f32','vnmulne.f32','vnmulcs.f32','vnmulhs.f32','vnmulcc.f32','vnmullo.f32','vnmulmi.f32','vnmulpl.f32','vnmulvs.f32','vnmulvc.f32','vnmulhi.f32','vnmulls.f32','vnmulge.f32','vnmullt.f32','vnmulgt.f32','vnmulle.f32', + + 'vpaddeq.f32','vpaddne.f32','vpaddcs.f32','vpaddhs.f32','vpaddcc.f32','vpaddlo.f32','vpaddmi.f32','vpaddpl.f32','vpaddvs.f32','vpaddvc.f32','vpaddhi.f32','vpaddls.f32','vpaddge.f32','vpaddlt.f32','vpaddgt.f32','vpaddle.f32', + + 'vpmaxeq.f32','vpmaxne.f32','vpmaxcs.f32','vpmaxhs.f32','vpmaxcc.f32','vpmaxlo.f32','vpmaxmi.f32','vpmaxpl.f32','vpmaxvs.f32','vpmaxvc.f32','vpmaxhi.f32','vpmaxls.f32','vpmaxge.f32','vpmaxlt.f32','vpmaxgt.f32','vpmaxle.f32', + 'vpmineq.f32','vpminne.f32','vpmincs.f32','vpminhs.f32','vpmincc.f32','vpminlo.f32','vpminmi.f32','vpminpl.f32','vpminvs.f32','vpminvc.f32','vpminhi.f32','vpminls.f32','vpminge.f32','vpminlt.f32','vpmingt.f32','vpminle.f32', + + 'vrecpeeq.u32','vrecpene.u32','vrecpecs.u32','vrecpehs.u32','vrecpecc.u32','vrecpelo.u32','vrecpemi.u32','vrecpepl.u32','vrecpevs.u32','vrecpevc.u32','vrecpehi.u32','vrecpels.u32','vrecpege.u32','vrecpelt.u32','vrecpegt.u32','vrecpele.u32', + 'vrecpeeq.f32','vrecpene.f32','vrecpecs.f32','vrecpehs.f32','vrecpecc.f32','vrecpelo.f32','vrecpemi.f32','vrecpepl.f32','vrecpevs.f32','vrecpevc.f32','vrecpehi.f32','vrecpels.f32','vrecpege.f32','vrecpelt.f32','vrecpegt.f32','vrecpele.f32', + 'vrecpseq.f32','vrecpsne.f32','vrecpscs.f32','vrecpshs.f32','vrecpscc.f32','vrecpslo.f32','vrecpsmi.f32','vrecpspl.f32','vrecpsvs.f32','vrecpsvc.f32','vrecpshi.f32','vrecpsls.f32','vrecpsge.f32','vrecpslt.f32','vrecpsgt.f32','vrecpsle.f32', + + 'vrsqrteeq.u32','vrsqrtene.u32','vrsqrtecs.u32','vrsqrtehs.u32','vrsqrtecc.u32','vrsqrtelo.u32','vrsqrtemi.u32','vrsqrtepl.u32','vrsqrtevs.u32','vrsqrtevc.u32','vrsqrtehi.u32','vrsqrtels.u32','vrsqrtege.u32','vrsqrtelt.u32','vrsqrtegt.u32','vrsqrtele.u32', + 'vrsqrteeq.f32','vrsqrtene.f32','vrsqrtecs.f32','vrsqrtehs.f32','vrsqrtecc.f32','vrsqrtelo.f32','vrsqrtemi.f32','vrsqrtepl.f32','vrsqrtevs.f32','vrsqrtevc.f32','vrsqrtehi.f32','vrsqrtels.f32','vrsqrtege.f32','vrsqrtelt.f32','vrsqrtegt.f32','vrsqrtele.f32', + 'vrsqrtseq.f32','vrsqrtsne.f32','vrsqrtscs.f32','vrsqrtshs.f32','vrsqrtscc.f32','vrsqrtslo.f32','vrsqrtsmi.f32','vrsqrtspl.f32','vrsqrtsvs.f32','vrsqrtsvc.f32','vrsqrtshi.f32','vrsqrtsls.f32','vrsqrtsge.f32','vrsqrtslt.f32','vrsqrtsgt.f32','vrsqrtsle.f32', + + 'vsqrteq.f32','vsqrtne.f32','vsqrtcs.f32','vsqrths.f32','vsqrtcc.f32','vsqrtlo.f32','vsqrtmi.f32','vsqrtpl.f32','vsqrtvs.f32','vsqrtvc.f32','vsqrthi.f32','vsqrtls.f32','vsqrtge.f32','vsqrtlt.f32','vsqrtgt.f32','vsqrtle.f32', + 'vsqrteq.f64','vsqrtne.f64','vsqrtcs.f64','vsqrths.f64','vsqrtcc.f64','vsqrtlo.f64','vsqrtmi.f64','vsqrtpl.f64','vsqrtvs.f64','vsqrtvc.f64','vsqrthi.f64','vsqrtls.f64','vsqrtge.f64','vsqrtlt.f64','vsqrtgt.f64','vsqrtle.f64', + + 'vsubeq.f32','vsubne.f32','vsubcs.f32','vsubhs.f32','vsubcc.f32','vsublo.f32','vsubmi.f32','vsubpl.f32','vsubvs.f32','vsubvc.f32','vsubhi.f32','vsubls.f32','vsubge.f32','vsublt.f32','vsubgt.f32','vsuble.f32', + 'vsubeq.f64','vsubne.f64','vsubcs.f64','vsubhs.f64','vsubcc.f64','vsublo.f64','vsubmi.f64','vsubpl.f64','vsubvs.f64','vsubvc.f64','vsubhi.f64','vsubls.f64','vsubge.f64','vsublt.f64','vsubgt.f64','vsuble.f64' + ), + /* Registers */ + 35 => array( + /* General-Purpose Registers */ + 'r0','r1','r2','r3','r4','r5','r6','r7', + 'r8','r9','r10','r11','r12','r13','r14','r15', + /* Scratch Registers */ + 'a1','a2','a3','a4', + /* Variable Registers */ + 'v1','v2','v3','v4','v5','v6','v7','v8', + /* Other Synonims for General-Purpose Registers */ + 'sb','sl','fp','ip','sp','lr','pc', + /* WMMX Data Registers */ + 'wr0','wr1','wr2','wr3','wr4','wr5','wr6','wr7', + 'wr8','wr9','wr10','wr11','wr12','wr13','wr14','wr15', + /* WMMX Control Registers */ + 'wcid','wcon','wcssf','wcasf', + /* WMMX-Mapped General-Purpose Registers */ + 'wcgr0','wcgr1','wcgr2','wcgr3', + /* VFPv3 Registers */ + 's0','s1','s2','s3','s4','s5','s6','s7', + 's8','s9','s10','s11','s12','s13','s14','s15', + 's16','s17','s18','s19','s20','s21','s22','s23', + 's24','s25','s26','s27','s28','s29','s30','s31', + /* VFPv3/NEON Registers */ + 'd0','d1','d2','d3','d4','d5','d6','d7', + 'd8','d9','d10','d11','d12','d13','d14','d15', + 'd16','d17','d18','d19','d20','d21','d22','d23', + 'd24','d25','d26','d27','d28','d29','d30','d31', + /* NEON Registers */ + 'q0','q1','q2','q3','q4','q5','q6','q7', + 'q8','q9','q10','q11','q12','q13','q14','q15' + ) + ), + 'SYMBOLS' => array( + '[', ']', '(', ')', + '+', '-', '*', '/', '%', + '.', ',', ';', ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false, + 7 => false, + 8 => false, + 9 => false, + 10 => false, + 11 => false, + 12 => false, + 13 => false, + 14 => false, + 15 => false, + 16 => false, + 17 => false, + 18 => false, + 19 => false, + 20 => false, + 21 => false, + 22 => false, + 23 => false, + 24 => false, + 25 => false, + 26 => false, + 27 => false, + 28 => false, + 29 => false, + 30 => false, + 31 => false, + 32 => false, + 33 => false, + 34 => false, + 35 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + /* Unconditional Data Processing Instructions */ + 1 => 'color: #00007f; font-weight: normal; font-style: normal;', + /* Conditional Data Processing Instructions */ + 2 => 'color: #00007f; font-weight: normal; font-style: italic;', + /* Unconditional Memory Access Instructions */ + 3 => 'color: #00007f; font-weight: normal; font-style: normal;', + /* Conditional Memory Access Instructions */ + 4 => 'color: #00007f; font-weight: normal; font-style: italic;', + /* Unconditional Flags Changing Instructions */ + 5 => 'color: #00007f; font-weight: bold; font-style: normal;', + /* Conditional Flags Changing Instructions */ + 6 => 'color: #00007f; font-weight: bold; font-style: italic;', + /* Unconditional Flow Control Instructions */ + 7 => 'color: #0000ff; font-weight: normal; font-style: normal;', + /* Conditional Flow Control Instructions */ + 8 => 'color: #0000ff; font-weight: normal; font-style: italic;', + /* Unconditional Syncronization Instructions */ + 9 => 'color: #00007f; font-weight: normal; font-style: normal;', + /* Conditional Syncronization Instructions */ + 10 => 'color: #00007f; font-weight: normal; font-style: italic;', + /* Unonditional ARMv6 SIMD */ + 11 => 'color: #b00040; font-weight: normal; font-style: normal;', + /* Conditional ARMv6 SIMD */ + 12 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional Coprocessor Instructions */ + 13 => 'color: #00007f; font-weight: normal; font-style: normal;', + /* Conditional Coprocessor Instructions */ + 14 => 'color: #00007f; font-weight: bold; font-style: italic;', + /* Unconditional System Instructions */ + 15 => 'color: #00007f; font-weight: normal; font-style: normal;', + /* Conditional System Instructions */ + 16 => 'color: #00007f; font-weight: bold; font-style: italic;', + /* Unconditional WMMX/WMMX2 SIMD Instructions */ + 17 => 'color: #b00040; font-weight: normal; font-style: normal;', + /* Conditional WMMX/WMMX2 SIMD Instructions */ + 18 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional VFPv3 & NEON SIMD Memory Access Instructions */ + 19 => 'color: #b00040; font-weight: normal; font-style: normal;', + /* Unconditional NEON SIMD Logical Instructions */ + 20 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional NEON SIMD ARM Registers Interop Instructions */ + 21 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional NEON SIMD Bit/Byte-Level Instructions */ + 22 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional NEON SIMD Universal Integer Instructions */ + 23 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional NEON SIMD Signed Integer Instructions */ + 24 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional NEON SIMD Unsigned Integer Instructions */ + 25 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Unconditional VFPv3 & NEON SIMD Floating-Point Instructions */ + 26 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional VFPv3 & NEON SIMD Memory Access Instructions */ + 27 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD Logical Instructions */ + 28 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD ARM Registers Interop Instructions */ + 29 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD Bit/Byte-Level Instructions */ + 30 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD Universal Integer Instructions */ + 31 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD Signed Integer Instructions */ + 32 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional NEON SIMD Unsigned Integer Instructions */ + 33 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Conditional VFPv3 & NEON SIMD Floating-Point Instructions */ + 34 => 'color: #b00040; font-weight: normal; font-style: italic;', + /* Registers */ + 35 => 'color: #46aa03; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #adadad; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900; font-weight: bold;' + ), + 'STRINGS' => array( + 0 => 'color: #7f007f;' + ), + 'NUMBERS' => array( + 0 => 'color: #ff0000;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '', + 9 => '', + 10 => '', + 11 => '', + 12 => '', + 13 => '', + 14 => '', + 15 => '', + 16 => '', + 17 => '', + 18 => '', + 19 => '', + 20 => '', + 21 => '', + 22 => '', + 23 => '', + 24 => '', + 25 => '', + 26 => '', + 27 => '', + 28 => '', + 29 => '', + 30 => '', + 31 => '', + 32 => '', + 33 => '', + 34 => '', + 35 => '' + ), + 'NUMBERS' => + GESHI_NUMBER_BIN_PREFIX_PERCENT | + GESHI_NUMBER_BIN_SUFFIX | + GESHI_NUMBER_HEX_PREFIX | + GESHI_NUMBER_HEX_SUFFIX | + GESHI_NUMBER_OCT_SUFFIX | + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | + GESHI_NUMBER_FLT_SCI_ZERO, + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 8, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])" + ) + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/asm.php b/inc/geshi/asm.php index 2093d86b8..dd0a7ec50 100644 --- a/inc/geshi/asm.php +++ b/inc/geshi/asm.php @@ -3,15 +3,56 @@ * asm.php * ------- * Author: Tux (tux@inmail.cz) - * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Copyright: (c) 2004 Tux (http://tux.a4.cz/), + * 2004-2009 Nigel McNie (http://qbnz.com/highlighter), + * 2009-2011 Benny Baumann (http://qbnz.com/highlighter), + * 2011 Dennis Yurichev (dennis@conus.info), + * 2011 Marat Dukhan (mdukhan3.at.gatech.dot.edu) + * Release Version: 1.0.8.11 * Date Started: 2004/07/27 * * x86 Assembler language file for GeSHi. - * Words are from SciTe configuration file (based on NASM syntax) + * Based on the following documents: + * - "Intel64 and IA-32 Architectures Programmer's Reference Manual + * Volume 2 (2A & 2B): Instructions Set Reference, A-Z", + * Order Number 25383-039US, May 2011 + * - "Intel Advanced Vector Extensions Programming Reference", + * Order Number 319433-011, June 2011 + * - "AMD64 Architecture Programmer's Manual Volume 3: + * General-Purpose and System Instructions", Publication No. 24594, + * Revision 3.15, November 2009 + * - "AMD64 Architecture Programmer's Manual Volume 4: + * 128-Bit and 256-Bit Media Instructions", Publication No. 26568, + * Revision 3.12, May 2011 + * - "AMD64 Architecture Programmer's Manual Volume 5: + * 64-Bit Media and x87 Floating-Point Instructions", + * Publication No. 26569, Revision 3.11, December 2009 + * - "AMD64 Technology Lightweight Profiling Specification", + * Publication No. 43724, Revision 3.08, August 2010 + * - "Application Note 108: Cyrix Extended MMX Instruction Set" + * - "VIA Padlock Programming Guide", 3rd May 2005 + * - http://en.wikipedia.org/wiki/X86_instruction_listings + * - NASM 2.10rc8 Online Documenation at + * http://www.nasm.us/xdoc/2.10rc8/html/nasmdoc0.html + * Color scheme is taken from SciTE. Previous versions of this file + * also used words from SciTE configuration file (based on NASM syntax) * * CHANGES * ------- + * 2011/10/07 + * - Rearranged instructions and registers into groups + * - Updated to support the following extensions + * - CMOV, BMI1, BMI2, TBM, FSGSBASE + * - LZCNT, TZCNT, POPCNT, MOVBE, CRC32 + * - MMX, MMX+, EMMX + * - 3dnow!, 3dnow!+, 3dnow! Geode, 3dnow! Prefetch + * - SSE, SSE2, SSE3, SSSE3, SSE4A, SSE4.1, SSE4.2 + * - AVX, AVX2, XOP, FMA3, FMA4, CVT16 + * - VMX, SVM + * - AES, PCLMULQDQ, Padlock, RDRAND + * - Updated NASM macros and directives + * 2010/07/01 (1.0.8.11) + * - Added MMX/SSE/new x86-64 registers, MMX/SSE (up to 4.2) instructions * 2008/05/23 (1.0.7.22) * - Added description of extra language features (SF#1970248) * 2004/11/27 (1.0.2) @@ -55,26 +96,71 @@ $language_data = array ( 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( - /*CPU*/ + /* General-Purpose */ 1 => array( - 'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp', - 'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc', - 'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp', - 'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz', - 'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop', - 'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov', - 'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf', - 'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw', - 'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat', - 'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw', - 'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr', - 'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf', - 'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd', - 'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae', - 'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe', - 'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp', - 'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock', - 'rep','repe','repne','repnz','repz' + /* BCD instructions */ + 'aaa','aad','aam','aas','daa','das', + /* Control flow instructions */ + 'ja','jae','jb','jbe','jc','je','jg','jge','jl','jle','jmp','jna', + 'jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz', + 'jo','jp','jpe','jpo','js','jz','jcxz','jecxz','jrcxz','loop','loope','loopne', + 'call','ret','enter','leave','syscall','sysenter','int','into', + /* Predicate instructions */ + 'seta','setae','setb','setbe','setc','sete','setg','setge','setl','setle','setna', + 'setnae','setnb','setnbe','setnc','setne','setng','setnge','setnl','setnle','setno', + 'setnp','setns','setnz','seto','setp','setpe','setpo','sets','setz','salc', + /* Conditional move instructions */ + 'cmovo','cmovno','cmovb','cmovc','cmovnae','cmovae','cmovnb','cmovnc','cmove','cmovz', + 'cmovne','cmovnz','cmovbe','cmovna','cmova','cmovnbe','cmovs','cmovns','cmovp','cmovpe', + 'cmovnp','cmovpo','cmovl','cmovnge','cmovge','cmovnl','cmovle','cmovng','cmovg','cmovnle', + /* ALU instructions */ + 'add','sub','adc','sbb','neg','cmp','inc','dec','and','or','xor','not','test', + 'shl','shr','sal','sar','shld','shrd','rol','ror','rcl','rcr', + 'cbw','cwd','cwde','cdq','cdqe','cqo','bsf','bsr','bt','btc','btr','bts', + 'idiv','imul','div','mul','bswap','nop', + /* Memory instructions */ + 'lea','mov','movsx','movsxd','movzx','xlatb','bound','xchg','xadd','cmpxchg','cmpxchg8b','cmpxchg16b', + /* Stack instructions */ + 'push','pop','pusha','popa','pushad','popad','pushf','popf','pushfd','popfd','pushfq','popfq', + /* EFLAGS manipulations instructions */ + 'clc','cld','stc','std','cmc','lahf','sahf', + /* Prefix instructions */ + 'lock','rep','repe','repz','repne','repnz', + /* String instructions */ + 'cmps','cmpsb','cmpsw',/*'cmpsd',*/ 'cmpsq', /*CMPSD conflicts with the SSE2 instructions of the same name*/ + 'movs','movsb','movsw',/*'movsd',*/ 'movsq', /*MOVSD conflicts with the SSE2 instructions of the same name*/ + 'scas','scasb','scasw','scasd','scasq', + 'stos','stosb','stosw','stosd','stosq', + 'lods','lodsb','lodsw','lodsd','lodsq', + /* Information instructions */ + 'cpuid','rdtsc','rdtscp','rdpmc','xgetbv', + 'sgdt','sidt','sldt','smsw','str','lar', + /* LWP instructions */ + 'llwpcb','slwpcb','lwpval','lwpins', + /* Instructions from miscellaneous extensions */ + 'crc32','popcnt','lzcnt','tzcnt','movbe','pclmulqdq','rdrand', + /* FSGSBASE instructions */ + 'rdfsbase','rdgsbase','wrfsbase','wrgsbase', + /* BMI1 instructions */ + 'andn','bextr','blsi','blsmk','blsr', + /* BMI2 instructions */ + 'bzhi','mulx','pdep','pext','rorx','sarx','shlx','shrx', + /* TBM instructions */ + 'blcfill','blci','blcic','blcmsk','blcs','blsfill','blsic','t1mskc','tzmsk', + /* Legacy instructions */ + 'arpl','ud2','lds','les','lfs','lgs','lss','lsl','verr','verw', + /* Privileged instructions */ + 'cli','sti','clts','hlt','rsm','in','insb','insw','insd', + 'out','outsb','outsw','outsd','clflush','invd','invlpg','invpcid','wbinvd', + 'iret','iretd','iretq','sysexit','sysret','lidt','lgdt','lldt','lmsw','ltr', + 'monitor','mwait','rdmsr','wrmsr','swapgs', + 'fxsave','fxsave64','fxrstor','fxrstor64', + 'xsave','xsaveopt','xrstor','xsetbv','getsec', + /* VMX instructions */ + 'invept','invvpid','vmcall','vmclear','vmlaunch','vmresume', + 'vmptrld','vmptrst','vmread','vmwrite','vmxoff','vmxon', + /* SVM (AMD-V) instructions */ + 'invlpga','skinit','clgi','stgi','vmload','vmsave','vmmcall','vmrun' ), /*FPU*/ 2 => array( @@ -87,56 +173,350 @@ $language_data = array ( 'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp', 'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1', 'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos', - 'fstenvd','fucom','fucomp','fucompp' + 'fstenvd','fucom','fucomp','fucompp','ffreep', + /* FCMOV instructions */ + 'fcomi','fcomip','fucomi','fucomip', + 'fcmovb','fcmove','fcmovbe','fcmovu','fcmovnb','fcmovne','fcmovnbe','fcmovnu', + /* SSE3 instructions */ + 'fisttp' ), - /*registers*/ + /*SIMD*/ 3 => array( - 'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl', - 'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx', - 'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7' + /* MMX instructions */ + 'movd','movq', + 'paddb','paddw','paddd','paddsb','paddsw','paddusb','paddusw', + 'psubb','psubw','psubd','psubsb','psubsw','psubusb','psubusw', + 'pand','pandn','por','pxor', + 'pcmpeqb','pcmpeqd','pcmpeqw','pcmpgtb','pcmpgtd','pcmpgtw', + 'pmaddwd','pmulhw','pmullw', + 'psllw','pslld','psllq','psrlw','psrld','psrlq','psraw','psrad', + 'packuswb','packsswb','packssdw', + 'punpcklbw','punpcklwd','punpckldq','punpckhbw','punpckhwd','punpckhdq', + 'emms', + /* MMX+ instructions */ + 'pavgb','pavgw', + 'pextrw','pinsrw','pmovmskb', + 'pmaxsw','pmaxub','pminsw','pminub', + 'pmulhuw','psadbw','pshufw', + 'prefetchnta','prefetcht0','prefetcht1','prefetcht2', + 'maskmovq','movntq','sfence', + /* EMMX instructions (only available on Cyrix MediaGXm) */ + 'paddsiw','psubsiw', + /*'pmulhrw',*/'pmachriw','pmulhriw', /* PMULHRW conflicts with the 3dnow! instruction of the same name */ + 'pmagw','pdistib','paveb', + 'pmvzb','pmvnzb','pmvlzb','pmvgezb', + /* 3dnow! instructions! */ + 'pfacc','pfadd','pfsub','pfsubr','pfmul', + 'pfcmpeq','pfcmpge','pfcmpgt', + 'pfmax','pfmin', + 'pfrcp','pfrcpit1','pfrcpit2','pfrsqit1','pfrsqrt', + 'pi2fd','pf2id', + 'pavgusb','pmulhrw', + 'femms', + /* 3dnow!+ instructions */ + 'pfnacc','pfpnacc','pi2fw','pf2iw','pswapd', + /* 3dnow! Geode instructions */ + 'pfrsqrtv','pfrcpv', + /* 3dnow! Prefetch instructions */ + 'prefetch','prefetchw', + /* SSE instructions */ + 'addss','addps','subss','subps', + 'mulss','mulps','divss','divps','sqrtss','sqrtps', + 'rcpss','rcpps','rsqrtss','rsqrtps', + 'maxss','maxps','minss','minps', + 'cmpss','comiss','ucomiss','cmpps', + 'cmpeqss','cmpltss','cmpless','cmpunordss','cmpneqss','cmpnltss','cmpnless','cmpordss', + 'cmpeqps','cmpltps','cmpleps','cmpunordps','cmpneqps','cmpnltps','cmpnleps','cmpordps', + 'andnps','andps','orps','xorps', + 'cvtsi2ss','cvtss2si','cvttss2si', + 'cvtpi2ps','cvtps2pi','cvttps2pi', + 'movss','movlps','movhps','movlhps','movhlps','movaps','movups','movntps','movmskps', + 'shufps','unpckhps','unpcklps', + 'ldmxcsr','stmxcsr', + /* SSE2 instructions */ + 'addpd','addsd','subpd','subsd', + 'mulsd','mulpd','divsd','divpd','sqrtsd','sqrtpd', + 'maxsd','maxpd','minsd','minpd', + 'cmpsd','comisd','ucomisd','cmppd', + 'cmpeqsd','cmpltsd','cmplesd','cmpunordsd','cmpneqsd','cmpnltsd','cmpnlesd','cmpordsd', + 'cmpeqpd','cmpltpd','cmplepd','cmpunordpd','cmpneqpd','cmpnltpd','cmpnlepd','cmpordpd', + 'andnpd','andpd','orpd','xorpd', + 'cvtsd2ss','cvtpd2ps','cvtss2sd','cvtps2pd', + 'cvtdq2ps','cvtps2dq','cvttps2dq', + 'cvtdq2pd','cvtpd2dq','cvttpd2dq', + 'cvtsi2sd','cvtsd2si','cvttsd2si', + 'cvtpi2pd','cvtpd2pi','cvttpd2pi', + 'movsd','movlpd','movhpd','movapd','movupd','movntpd','movmskpd', + 'shufpd','unpckhpd','unpcklpd', + 'movnti','movdqa','movdqu','movntdq','maskmovdqu', + 'movdq2q','movq2dq', + 'paddq','psubq','pmuludq', + 'pslldq','psrldq', + 'punpcklqdq','punpckhqdq', + 'pshufhw','pshuflw','pshufd', + 'lfence','mfence', + /* SSE3 instructions */ + 'addsubps','addsubpd', + 'haddps','haddpd','hsubps','hsubpd', + 'movsldup','movshdup','movddup', + 'lddqu', + /* SSSE3 instructions */ + 'psignb','psignw','psignd', + 'pabsb','pabsw','pabsd', + 'palignr','pshufb', + 'pmulhrsw','pmaddubsw', + 'phaddw','phaddd','phaddsw', + 'phsubw','phsubd','phsubsw', + /* SSE4A instructions */ + 'extrq','insertq','movntsd','movntss', + /* SSE4.1 instructions */ + 'mpsadbw','phminposuw', + 'pmuldq','pmulld', + 'dpps','dppd', + 'blendps','blendpd','blendvps','blendvpd','pblendvb','pblendw', + 'pmaxsb','pmaxuw','pmaxsd','pmaxud','pminsb','pminuw','pminsd','pminud', + 'roundps','roundss','roundpd','roundsd', + 'insertps','pinsrb','pinsrd','pinsrq', + 'extractps','pextrb','pextrd','pextrq', + 'pmovsxbw','pmovsxbd','pmovsxbq','pmovsxwd','pmovsxwq','pmovsxdq', + 'pmovzxbw','pmovzxbd','pmovzxbq','pmovzxwd','pmovzxwq','pmovzxdq', + 'ptest', + 'pcmpeqq', + 'packusdw', + 'movntdqa', + /* SSE4.2 instructions */ + 'pcmpgtq', + 'pcmpestri','pcmpestrm','pcmpistri','pcmpistrm', + /* AES instructions */ + 'aesenc','aesenclast','aesdec','aesdeclast','aeskeygenassist','aesimc', + /* VIA Padlock instructions */ + 'xcryptcbc','xcryptcfb','xcryptctr','xcryptecb','xcryptofb', + 'xsha1','xsha256','montmul','xstore', + /* AVX instructions */ + 'vaddss','vaddps','vaddsd','vaddpd','vsubss','vsubps','vsubsd','vsubpd', + 'vaddsubps','vaddsubpd', + 'vhaddps','vhaddpd','vhsubps','vhsubpd', + 'vmulss','vmulps','vmulsd','vmulpd', + 'vmaxss','vmaxps','vmaxsd','vmaxpd','vminss','vminps','vminsd','vminpd', + 'vandps','vandpd','vandnps','vandnpd','vorps','vorpd','vxorps','vxorpd', + 'vblendps','vblendpd','vblendvps','vblendvpd', + 'vcmpss','vcomiss','vucomiss','vcmpsd','vcomisd','vucomisd','vcmpps','vcmppd', + 'vcmpeqss','vcmpltss','vcmpless','vcmpunordss','vcmpneqss','vcmpnltss','vcmpnless','vcmpordss', + 'vcmpeq_uqss','vcmpngess','vcmpngtss','vcmpfalsess','vcmpneq_oqss','vcmpgess','vcmpgtss','vcmptruess', + 'vcmpeq_osss','vcmplt_oqss','vcmple_oqss','vcmpunord_sss','vcmpneq_usss','vcmpnlt_uqss','vcmpnle_uqss','vcmpord_sss', + 'vcmpeq_usss','vcmpnge_uqss','vcmpngt_uqss','vcmpfalse_osss','vcmpneq_osss','vcmpge_oqss','vcmpgt_oqss','vcmptrue_usss', + 'vcmpeqps','vcmpltps','vcmpleps','vcmpunordps','vcmpneqps','vcmpnltps','vcmpnleps','vcmpordps', + 'vcmpeq_uqps','vcmpngeps','vcmpngtps','vcmpfalseps','vcmpneq_oqps','vcmpgeps','vcmpgtps','vcmptrueps', + 'vcmpeq_osps','vcmplt_oqps','vcmple_oqps','vcmpunord_sps','vcmpneq_usps','vcmpnlt_uqps','vcmpnle_uqps','vcmpord_sps', + 'vcmpeq_usps','vcmpnge_uqps','vcmpngt_uqps','vcmpfalse_osps','vcmpneq_osps','vcmpge_oqps','vcmpgt_oqps','vcmptrue_usps', + 'vcmpeqsd','vcmpltsd','vcmplesd','vcmpunordsd','vcmpneqsd','vcmpnltsd','vcmpnlesd','vcmpordsd', + 'vcmpeq_uqsd','vcmpngesd','vcmpngtsd','vcmpfalsesd','vcmpneq_oqsd','vcmpgesd','vcmpgtsd','vcmptruesd', + 'vcmpeq_ossd','vcmplt_oqsd','vcmple_oqsd','vcmpunord_ssd','vcmpneq_ussd','vcmpnlt_uqsd','vcmpnle_uqsd','vcmpord_ssd', + 'vcmpeq_ussd','vcmpnge_uqsd','vcmpngt_uqsd','vcmpfalse_ossd','vcmpneq_ossd','vcmpge_oqsd','vcmpgt_oqsd','vcmptrue_ussd', + 'vcmpeqpd','vcmpltpd','vcmplepd','vcmpunordpd','vcmpneqpd','vcmpnltpd','vcmpnlepd','vcmpordpd', + 'vcmpeq_uqpd','vcmpngepd','vcmpngtpd','vcmpfalsepd','vcmpneq_oqpd','vcmpgepd','vcmpgtpd','vcmptruepd', + 'vcmpeq_ospd','vcmplt_oqpd','vcmple_oqpd','vcmpunord_spd','vcmpneq_uspd','vcmpnlt_uqpd','vcmpnle_uqpd','vcmpord_spd', + 'vcmpeq_uspd','vcmpnge_uqpd','vcmpngt_uqpd','vcmpfalse_ospd','vcmpneq_ospd','vcmpge_oqpd','vcmpgt_oqpd','vcmptrue_uspd', + 'vcvtsd2ss','vcvtpd2ps','vcvtss2sd','vcvtps2pd', + 'vcvtsi2ss','vcvtss2si','vcvttss2si', + 'vcvtpi2ps','vcvtps2pi','vcvttps2pi', + 'vcvtdq2ps','vcvtps2dq','vcvttps2dq', + 'vcvtdq2pd','vcvtpd2dq','vcvttpd2dq', + 'vcvtsi2sd','vcvtsd2si','vcvttsd2si', + 'vcvtpi2pd','vcvtpd2pi','vcvttpd2pi', + 'vdivss','vdivps','vdivsd','vdivpd','vsqrtss','vsqrtps','vsqrtsd','vsqrtpd', + 'vdpps','vdppd', + 'vmaskmovps','vmaskmovpd', + 'vmovss','vmovsd','vmovaps','vmovapd','vmovups','vmovupd','vmovntps','vmovntpd', + 'vmovhlps','vmovlhps','vmovlps','vmovlpd','vmovhps','vmovhpd', + 'vmovsldup','vmovshdup','vmovddup', + 'vmovmskps','vmovmskpd', + 'vroundss','vroundps','vroundsd','vroundpd', + 'vrcpss','vrcpps','vrsqrtss','vrsqrtps', + 'vunpcklps','vunpckhps','vunpcklpd','vunpckhpd', + 'vbroadcastss','vbroadcastsd','vbroadcastf128', + 'vextractps','vinsertps','vextractf128','vinsertf128', + 'vshufps','vshufpd','vpermilps','vpermilpd','vperm2f128', + 'vtestps','vtestpd', + 'vpaddb','vpaddusb','vpaddsb','vpaddw','vpaddusw','vpaddsw','vpaddd','vpaddq', + 'vpsubb','vpsubusb','vpsubsb','vpsubw','vpsubusw','vpsubsw','vpsubd','vpsubq', + 'vphaddw','vphaddsw','vphaddd','vphsubw','vphsubsw','vphsubd', + 'vpsllw','vpslld','vpsllq','vpsrlw','vpsrld','vpsrlq','vpsraw','vpsrad', + 'vpand','vpandn','vpor','vpxor', + 'vpblendwb','vpblendw', + 'vpsignb','vpsignw','vpsignd', + 'vpavgb','vpavgw', + 'vpabsb','vpabsw','vpabsd', + 'vmovd','vmovq','vmovdqa','vmovdqu','vlddqu','vmovntdq','vmovntdqa','vmaskmovdqu', + 'vpmovsxbw','vpmovsxbd','vpmovsxbq','vpmovsxwd','vpmovsxwq','vpmovsxdq', + 'vpmovzxbw','vpmovzxbd','vpmovzxbq','vpmovzxwd','vpmovzxwq','vpmovzxdq', + 'vpackuswb','vpacksswb','vpackusdw','vpackssdw', + 'vpcmpeqb','vpcmpeqw','vpcmpeqd','vpcmpeqq','vpcmpgtb','vpcmpgtw','vpcmpgtd','vpcmpgtq', + 'vpmaddubsw','vpmaddwd', + 'vpmullw','vpmulhuw','vpmulhw','vpmulhrsw','vpmulld','vpmuludq','vpmuldq', + 'vpmaxub','vpmaxsb','vpmaxuw','vpmaxsw','vpmaxud','vpmaxsd', + 'vpminub','vpminsb','vpminuw','vpminsw','vpminud','vpminsd', + 'vpmovmskb','vptest', + 'vpunpcklbw','vpunpcklwd','vpunpckldq','vpunpcklqdq', + 'vpunpckhbw','vpunpckhwd','vpunpckhdq','vpunpckhqdq', + 'vpslldq','vpsrldq','vpalignr', + 'vpshufb','vpshuflw','vpshufhw','vpshufd', + 'vpextrb','vpextrw','vpextrd','vpextrq','vpinsrb','vpinsrw','vpinsrd','vpinsrq', + 'vpsadbw','vmpsadbw','vphminposuw', + 'vpcmpestri','vpcmpestrm','vpcmpistri','vpcmpistrm', + 'vpclmulqdq','vaesenc','vaesenclast','vaesdec','vaesdeclast','vaeskeygenassist','vaesimc', + 'vldmxcsr','vstmxcsr','vzeroall','vzeroupper', + /* AVX2 instructions */ + 'vbroadcasti128','vpbroadcastb','vpbroadcastw','vpbroadcastd','vpbroadcastq', + 'vpblendd', + 'vpermd','vpermq','vperm2i128', + 'vextracti128','vinserti128', + 'vpmaskmovd','vpmaskmovq', + 'vpsllvd','vpsllvq','vpsravd','vpsrlvd', + 'vpgatherdd','vpgatherqd','vgatherdq','vgatherqq', + 'vpermps','vpermpd', + 'vgatherdpd','vgatherqpd','vgatherdps','vgatherqps', + /* XOP instructions */ + 'vfrczss','vfrczps','vfrczsd','vfrczpd', + 'vpermil2ps','vperlil2pd', + 'vpcomub','vpcomb','vpcomuw','vpcomw','vpcomud','vpcomd','vpcomuq','vpcomq', + 'vphaddubw','vphaddbw','vphaddubd','vphaddbd','vphaddubq','vphaddbq', + 'vphadduwd','vphaddwd','vphadduwq','vphaddwq','vphaddudq','vphadddq', + 'vphsubbw','vphsubwd','vphsubdq', + 'vpmacsdd','vpmacssdd','vpmacsdql','vpmacssdql','vpmacsdqh','vpmacssdqh', + 'vpmacsww','vpmacssww','vpmacswd','vpmacsswd', + 'vpmadcswd','vpmadcsswd', + 'vpcmov','vpperm', + 'vprotb','vprotw','vprotd','vprotq', + 'vpshab','vpshaw','vpshad','vpshaq', + 'vpshlb','vpshlw','vpshld','vpshlq', + /* CVT16 instructions */ + 'vcvtph2ps','vcvtps2ph', + /* FMA4 instructions */ + 'vfmaddss','vfmaddps','vfmaddsd','vfmaddpd', + 'vfmsubss','vfmsubps','vfmsubsd','vfmsubpd', + 'vnfmaddss','vnfmaddps','vnfmaddsd','vnfmaddpd', + 'vnfmsubss','vnfmsubps','vnfmsubsd','vnfmsubpd', + 'vfmaddsubps','vfmaddsubpd','vfmsubaddps','vfmsubaddpd', + /* FMA3 instructions */ + 'vfmadd132ss','vfmadd213ss','vfmadd231ss', + 'vfmadd132ps','vfmadd213ps','vfmadd231ps', + 'vfmadd132sd','vfmadd213sd','vfmadd231sd', + 'vfmadd132pd','vfmadd213pd','vfmadd231pd', + 'vfmaddsub132ps','vfmaddsub213ps','vfmaddsub231ps', + 'vfmaddsub132pd','vfmaddsub213pd','vfmaddsub231pd', + 'vfmsubadd132ps','vfmsubadd213ps','vfmsubadd231ps', + 'vfmsubadd132pd','vfmsubadd213pd','vfmsubadd231pd', + 'vfmsub132ss','vfmsub213ss','vfmsub231ss', + 'vfmsub132ps','vfmsub213ps','vfmsub231ps', + 'vfmsub132sd','vfmsub213sd','vfmsub231sd', + 'vfmsub132pd','vfmsub213pd','vfmsub231pd', + 'vfnmadd132ss','vfnmadd213ss','vfnmadd231ss', + 'vfnmadd132ps','vfnmadd213ps','vfnmadd231ps', + 'vfnmadd132sd','vfnmadd213sd','vfnmadd231sd', + 'vfnmadd132pd','vfnmadd213pd','vfnmadd231pd', + 'vfnmsub132ss','vfnmsub213ss','vfnmsub231ss', + 'vfnmsub132ps','vfnmsub213ps','vfnmsub231ps', + 'vfnmsub132sd','vfnmsub213sd','vfnmsub231sd', + 'vfnmsub132pd','vfnmsub213pd','vfnmsub231pd' ), - /*Directive*/ + /*registers*/ 4 => array( - '186','286','286c','286p','287','386','386c','386p','387','486','486p', - '8086','8087','alpha','break','code','const','continue','cref','data','data?', - 'dosseg','else','elseif','endif','endw','equ','err','err1','err2','errb', - 'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef', - 'errnz','exit','fardata','fardata?','global','if','lall','lfcond','list','listall', - 'listif','listmacro','listmacroall',' model','no87','nocref','nolist', - 'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack', - 'startup','tfcond','type','until','untilcxz','while','xall','xcref', - 'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dq', - 'dt','dup','dw','echo','elseif1','elseif2','elseifb','elseifdef','elseifdif', - 'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end', - 'endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for', - 'forc','ge','goto','group','high','highword','if1','if2','ifb','ifdef','ifdif', - 'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke', - 'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset', - 'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out', - 'page','popcontext','private','proc','proto','ptr','public','purge','pushcontext','record', - 'resb','resd','resw','rept','section','seg','segment','short','size','sizeof','sizestr','struc','struct', - 'substr','subtitle','subttl','textequ','this','title','typedef','union','width', - '.model', '.stack', '.code', '.data' + /* General-Purpose Registers */ + 'al','ah','bl','bh','cl','ch','dl','dh','sil','dil','bpl','spl', + 'r8b','r9b','r10b','r11b','r12b','r13b','r14b','r15b', + 'ax','bx','cx','dx','si','di','bp','sp', + 'r8w','r9w','r10w','r11w','r12w','r13w','r14w','r15w', + 'eax','ebx','ecx','edx','esi','edi','ebp','esp', + 'r8d','r9d','r10d','r11d','r12d','r13d','r14d','r15d', + 'rax','rcx','rdx','rbx','rsp','rbp','rsi','rdi', + 'r8','r9','r10','r11','r12','r13','r14','r15', + /* Debug Registers */ + 'dr0','dr1','dr2','dr3','dr6','dr7', + /* Control Registers */ + 'cr0','cr2','cr3','cr4','cr8', + /* Test Registers (Supported on Intel 486 only) */ + 'tr3','tr4','tr5','tr6','tr7', + /* Segment Registers */ + 'cs','ds','es','fs','gs','ss', + /* FPU Registers */ + 'st','st0','st1','st2','st3','st4','st5','st6','st7', + /* MMX Registers */ + 'mm0','mm1','mm2','mm3','mm4','mm5','mm6','mm7', + /* SSE Registers */ + 'xmm0','xmm1','xmm2','xmm3','xmm4','xmm5','xmm6','xmm7', + 'xmm8','xmm9','xmm10','xmm11','xmm12','xmm13','xmm14','xmm15', + /* AVX Registers */ + 'ymm0','ymm1','ymm2','ymm3','ymm4','ymm5','ymm6','ymm7', + 'ymm8','ymm9','ymm10','ymm11','ymm12','ymm13','ymm14','ymm15' ), - /*Operands*/ + /*Directive*/ 5 => array( - '@b','@f','addr','basic','byte','c','carry?','dword', - 'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword', - 'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte', - 'vararg','word','zero?','flat','near32','far32', - 'abs','all','assumes','at','casemap','common','compact', - 'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack', - 'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory', - 'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique', - 'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing', - 'notpublic','oldmacros','oldstructs','os_dos','para','prologue', - 'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses' + 'db','dw','dd','dq','dt','do','dy', + 'resb','resw','resd','resq','rest','reso','resy','incbin','equ','times','safeseh', + '__utf16__','__utf32__', + 'default','cpu','float','start','imagebase','osabi', + '..start','..imagebase','..gotpc','..gotoff','..gottpoff','..got','..plt','..sym','..tlsie', + 'section','segment','__sect__','group','absolute', + '.bss','.comment','.data','.lbss','.ldata','.lrodata','.rdata','.rodata','.tbss','.tdata','.text', + 'alloc','bss','code','exec','data','noalloc','nobits','noexec','nowrite','progbits','rdata','tls','write', + 'private','public','common','stack','overlay','class', + 'extern','global','import','export', + '%define','%idefine','%xdefine','%ixdefine','%assign','%undef', + '%defstr','%idefstr','%deftok','%ideftok', + '%strcat','%strlen','%substr', + '%macro','%imacro','%rmacro','%exitmacro','%endmacro','%unmacro', + '%if','%ifn','%elif','%elifn','%else','%endif', + '%ifdef','%ifndef','%elifdef','%elifndef', + '%ifmacro','%ifnmacro','%elifmacro','%elifnmacro', + '%ifctx','%ifnctx','%elifctx','%elifnctx', + '%ifidn','%ifnidn','%elifidn','%elifnidn', + '%ifidni','%ifnidni','%elifidni','%elifnidni', + '%ifid','%ifnid','%elifid','%elifnid', + '%ifnum','%ifnnum','%elifnum','%elifnnum', + '%ifstr','%ifnstr','%elifstr','%elifnstr', + '%iftoken','%ifntoken','%eliftoken','%elifntoken', + '%ifempty','%ifnempty','%elifempty','%elifnempty', + '%ifenv','%ifnenv','%elifenv','%elifnenv', + '%rep','%exitrep','%endrep', + '%while','%exitwhile','%endwhile', + '%include','%pathsearch','%depend','%use', + '%push','%pop','%repl','%arg','%local','%stacksize','flat','flat64','large','small', + '%error','%warning','%fatal', + '%00','.nolist','%rotate','%line','%!','%final','%clear', + 'struc','endstruc','istruc','at','iend', + 'align','alignb','sectalign', + 'bits','use16','use32','use64', + '__nasm_major__','__nasm_minor__','__nasm_subminor__','___nasm_patchlevel__', + '__nasm_version_id__','__nasm_ver__', + '__file__','__line__','__pass__','__bits__','__output_format__', + '__date__','__time__','__date_num__','__time_num__','__posix_time__', + '__utc_date__','__utc_time__','__utc_date_num__','__utc_time_num__', + '__float_daz__','__float_round__','__float__', + /* Keywords from standard packages */ + '__use_altreg__', + '__use_smartalign__','smartalign','__alignmode__', + '__use_fp__','__infinity__','__nan__','__qnan__','__snan__', + '__float8__','__float16__','__float32__','__float64__','__float80m__','__float80e__','__float128l__','__float128h__' + ), + /*Operands*/ + 6 => array( + 'a16','a32','a64','o16','o32','o64','strict', + 'byte','word','dword','qword','tword','oword','yword','nosplit', + '%0','%1','%2','%3','%4','%5','%6','%7','%8','%9', + 'abs','rel', + 'seg','wrt' ) ), 'SYMBOLS' => array( - '[', ']', '(', ')', - '+', '-', '*', '/', '%', - '.', ',', ';', ':' + 1 => array( + '[', ']', '(', ')', + '+', '-', '*', '/', '%', + '.', ',', ';', ':' + ), + 2 => array( + '$','$$','%+','%?','%??' + ) ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, @@ -144,19 +524,21 @@ $language_data = array ( 2 => false, 3 => false, 4 => false, - 5 => false + 5 => false, + 6 => false ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #00007f; font-weight: bold;', - 2 => 'color: #0000ff; font-weight: bold;', - 3 => 'color: #00007f;', - 4 => 'color: #000000; font-weight: bold;', - 5 => 'color: #000000; font-weight: bold;' + 2 => 'color: #0000ff;', + 3 => 'color: #b00040;', + 4 => 'color: #46aa03; font-weight: bold;', + 5 => 'color: #0000ff; font-weight: bold;', + 6 => 'color: #0000ff; font-weight: bold;' ), 'COMMENTS' => array( 1 => 'color: #666666; font-style: italic;', - 2 => 'color: #adadad; font-style: italic;', + 2 => 'color: #adadad; font-style: italic;' ), 'ESCAPE_CHAR' => array( 0 => 'color: #000099; font-weight: bold;' @@ -168,16 +550,15 @@ $language_data = array ( 0 => 'color: #7f007f;' ), 'NUMBERS' => array( - 0 => 'color: #0000ff;' + 0 => 'color: #ff0000;' ), 'METHODS' => array( ), 'SYMBOLS' => array( - 0 => 'color: #339933;' + 1 => 'color: #339933;', + 2 => 'color: #0000ff; font-weight: bold;' ), 'REGEXPS' => array( -// 0 => 'color: #0000ff;', -// 1 => 'color: #0000ff;' ), 'SCRIPT' => array( ) @@ -187,7 +568,8 @@ $language_data = array ( 2 => '', 3 => '', 4 => '', - 5 => '' + 5 => '', + 6 => '' ), 'NUMBERS' => GESHI_NUMBER_BIN_PREFIX_PERCENT | @@ -203,10 +585,6 @@ $language_data = array ( 'OBJECT_SPLITTERS' => array( ), 'REGEXPS' => array( - //Hex numbers -// 0 => /* */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))", - //Binary numbers -// 1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))" ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( diff --git a/inc/geshi/asp.php b/inc/geshi/asp.php index c011de960..0096a169c 100644 --- a/inc/geshi/asp.php +++ b/inc/geshi/asp.php @@ -4,7 +4,7 @@ * -------- * Author: Amit Gupta (http://blog.igeek.info/) * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/13 * * ASP language file for GeSHi. diff --git a/inc/geshi/asymptote.php b/inc/geshi/asymptote.php new file mode 100644 index 000000000..8683588e5 --- /dev/null +++ b/inc/geshi/asymptote.php @@ -0,0 +1,194 @@ +<?php +/************************************************************************************* + * asymptote.php + * ------------- + * Author: Manuel Yguel (manuel.yguel.robotics@gmail.com) + * Copyright: (c) 2012 Manuel Yguel (http://manuelyguel.eu) + * Release Version: 1.0.8.11 + * Date Started: 2012/05/24 + * + * asymptote language file for GeSHi. + * + * CHANGES + * ------- + * 2012/05/24 (1.0.0.0) + * - First Release + * + * TODO (updated 2012/05/24) + * ------------------------- + * * Split to several files - php4, php5 etc + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'asymptote', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'and','controls','tension','atleast','curl','if','else','while','for','do','return','break','continue','struct','typedef','new','access','import','unravel','from','include','quote','static','public','private','restricted','this','explicit','true','false','null','cycle','newframe','operator' + ), + 2 => array( + 'Braid','FitResult','Label','Legend','Segment','Solution','TreeNode','abscissa','arc','arrowhead','binarytree','binarytreeNode','block','bool','bool3','bounds','bqe','circle','conic','coord','coordsys','cputime','ellipse','file','filltype','frame','grid3','guide','horner','hsv','hyperbola','indexedTransform','int','inversion','key','light','line','linefit','marginT','marker','mass','object','pair','parabola','path','path3','pen','picture','point','position','projection','real','revolution','scaleT','scientific','segment','side','slice','solution','splitface','string','surface','tensionSpecifier','ticklocate','ticksgridT','tickvalues','transform','transformation','tree','triangle','trilinear','triple','vector','vertex','void'), + 3 => array( + 'AND','Arc','ArcArrow','ArcArrows','Arrow','Arrows','Automatic','AvantGarde','BBox','BWRainbow','BWRainbow2','Bar','Bars','BeginArcArrow','BeginArrow','BeginBar','BeginDotMargin','BeginMargin','BeginPenMargin','Blank','Bookman','Bottom','BottomTop','Bounds','Break','Broken','BrokenLog','CLZ','CTZ','Ceil','Circle','CircleBarIntervalMarker','Cos','Courier','CrossIntervalMarker','DOSendl','DOSnewl','DefaultFormat','DefaultLogFormat','Degrees','Dir','DotMargin','DotMargins','Dotted','Draw','Drawline','Embed','EndArcArrow','EndArrow','EndBar','EndDotMargin','EndMargin','EndPenMargin','Fill','FillDraw','Floor','Format','Full','Gaussian','Gaussrand','Gaussrandpair', + 'Gradient','Grayscale','Helvetica','Hermite','HookHead','InOutTicks','InTicks','Jn','Label','Landscape','Left','LeftRight','LeftTicks','Legend','Linear','Link','Log','LogFormat','Margin','Margins','Mark','MidArcArrow','MidArrow','NOT','NewCenturySchoolBook','NoBox','NoMargin','NoModifier','NoTicks','NoTicks3','NoZero','NoZeroFormat','None','OR','OmitFormat','OmitTick','OmitTickInterval','OmitTickIntervals','OutTicks','Ox','Oy','Palatino','PaletteTicks','Pen','PenMargin','PenMargins','Pentype','Portrait','RadialShade','RadialShadeDraw','Rainbow','Range','Relative','Right','RightTicks','Rotate','Round','SQR','Scale','ScaleX','ScaleY','ScaleZ','Seascape','Segment','Shift','Sin','Slant','Spline','StickIntervalMarker','Straight','Symbol','Tan','TeXify','Ticks','Ticks3','TildeIntervalMarker','TimesRoman','Top','TrueMargin','UnFill','UpsideDown','Wheel','X','XEquals','XOR','XY','XYEquals','XYZero','XYgrid','XZEquals','XZZero','XZero','XZgrid','Y','YEquals','YXgrid','YZ','YZEquals','YZZero','YZero','YZgrid','Yn','Z','ZX','ZXgrid','ZYgrid','ZapfChancery','ZapfDingbats','_begingroup3','_cputime','_draw','_eval','_image','_labelpath','_projection','_strokepath','_texpath','aCos','aSin','aTan','abort','abs','accel','acos','acosh','acot','acsc','activatequote','add', + 'addArrow','addMargins','addSaveFunction','addpenarc','addpenline','adjust','alias','align','all','altitude','angabscissa','angle','angpoint','animate','annotate','anticomplementary','antipedal','apply','approximate','arc','arcarrowsize','arccircle','arcdir','arcfromcenter','arcfromfocus','arclength','arcnodesnumber','arcpoint','arcsubtended','arcsubtendedcenter','arctime','arctopath','array','arrow','arrow2','arrowbase','arrowbasepoints','arrowsize','asec','asin','asinh','ask','assert','asy','asycode','asydir','asyfigure','asyfilecode','asyinclude','asywrite','atan','atan2','atanh','atbreakpoint','atexit','attach','attract','atupdate','autoformat','autoscale','autoscale3','axes','axes3','axialshade','axis','axiscoverage','azimuth','babel','background','bangles','bar','barmarksize','barsize','basealign','baseline','bbox','beep','begin','beginclip','begingroup','beginpoint','between','bevel','bezier','bezierP','bezierPP','bezierPPP','bezulate','bibliography','bibliographystyle','binarytree','binarytreeNode','binomial','binput','bins','bisector','bisectorpoint','bispline','blend','blockconnector','boutput','box','bqe','breakpoint','breakpoints','brick','buildRestoreDefaults','buildRestoreThunk','buildcycle','bulletcolor','byte','calculateScaling','canonical','canonicalcartesiansystem','cartesiansystem','case1','case2','case3','case4','cbrt','cd','ceil','center','centerToFocus', + 'centroid','cevian','change2','changecoordsys','checkSegment','checkconditionlength','checker','checkincreasing','checklengths','checkposition','checktriangle','choose','circle','circlebarframe','circlemarkradius','circlenodesnumber','circumcenter','circumcircle','clamped','clear','clip','clipdraw','close','cmyk','code','colatitude','collect','collinear','color','colorless','colors','colorspace','comma','compassmark','complement','complementary','concat','concurrent','cone','conic','conicnodesnumber','conictype','conj','connect','connected','connectedindex','containmentTree','contains','contour','contour3','contouredges','controlSpecifier','convert','coordinates','coordsys','copy','copyPairOrTriple','cos','cosh','cot','countIntersections','cputime','crop','cropcode','cross', + 'crossframe','crosshatch','crossmarksize','csc','cubicroots','curabscissa','curlSpecifier','curpoint','currentarrow','currentexitfunction','currentmomarrow','currentpolarconicroutine','curve','cut','cutafter','cutbefore','cyclic','cylinder','deactivatequote','debugger','deconstruct','defaultdir','defaultformat','defaultpen','defined','degenerate','degrees','delete','deletepreamble','determinant','diagonal','diamond','diffdiv','dir','dirSpecifier','dirtime','display','distance', + 'divisors','do_overpaint','dot','dotframe','dotsize','downcase','draw','drawAll','drawDoubleLine','drawFermion','drawGhost','drawGluon','drawMomArrow','drawPRCcylinder','drawPRCdisk','drawPRCsphere','drawPRCtube','drawPhoton','drawScalar','drawVertex','drawVertexBox','drawVertexBoxO','drawVertexBoxX','drawVertexO','drawVertexOX','drawVertexTriangle','drawVertexTriangleO','drawVertexX','drawarrow','drawarrow2','drawline','drawpixel','drawtick','duplicate','elle','ellipse','ellipsenodesnumber','embed','embed3','empty','enclose','end','endScript','endclip','endgroup','endgroup3','endl','endpoint','endpoints','eof','eol','equation','equations','erase','erasestep','erf','erfc','error','errorbar','errorbars','eval','excenter','excircle','exit','exitXasyMode','exitfunction','exp','expfactors','expi','expm1','exradius','extend','extension','extouch','fabs','factorial','fermat','fft','fhorner','figure','file','filecode','fill','filldraw','filloutside','fillrule','filltype','find','finite','finiteDifferenceJacobian','firstcut','firstframe','fit','fit2','fixedscaling','floor','flush','fmdefaults','fmod','focusToCenter','font','fontcommand','fontsize','foot','format','frac','frequency','fromCenter','fromFocus','fspline','functionshade','gamma','generate_random_backtrace','generateticks','gergonne','getc','getint','getpair','getreal','getstring','gettriple','gluon','gouraudshade','graph','graphic','gray','grestore','grid','grid3','gsave','halfbox','hatch','hdiffdiv','hermite','hex','histogram','history','hline','hprojection', + 'hsv','hyperbola','hyperbolanodesnumber','hyperlink','hypot','identity','image','incenter','incentral','incircle','increasing','incrementposition','indexedTransform','indexedfigure','initXasyMode','initdefaults','input','inradius','insert','inside','integrate','interactive','interior','interp','interpolate','intersect','intersection','intersectionpoint','intersectionpoints','intersections','intouch','inverse','inversion','invisible','is3D','isCCW','isDuplicate','isogonal','isogonalconjugate','isotomic','isotomicconjugate','isparabola','italic','item','jobname','key','kurtosis','kurtosisexcess','label','labelaxis','labelmargin','labelpath','labels','labeltick','labelx','labelx3','labely','labely3','labelz','labelz3','lastcut','latex','latitude','latticeshade','layer','layout','ldexp','leastsquares','legend','legenditem','length','lexorder','lift','light','limits','line','linear','linecap','lineinversion','linejoin','linemargin','lineskip','linetype','linewidth','link','list','lm_enorm','lm_evaluate_default','lm_lmdif','lm_lmpar','lm_minimize','lm_print_default','lm_print_quiet','lm_qrfac','lm_qrsolv','locale','locate', + 'locatefile','location','log','log10','log1p','logaxiscoverage','longitude','lookup','makeNode','makedraw','makepen','map','margin','markangle','markangleradius','markanglespace','markarc','marker','markinterval','marknodes','markrightangle','markuniform','mass','masscenter','massformat','math','max','max3','maxAfterTransform','maxbezier','maxbound','maxcoords','maxlength','maxratio','maxtimes','mean','medial','median','midpoint','min','min3','minAfterTransform','minbezier','minbound','minipage','minratio','mintimes','miterlimit','mktemp','momArrowPath','momarrowsize','monotonic','multifigure','nativeformat','natural','needshipout','newl','newpage','newslide','newton','newtree','nextframe','nextnormal','nextpage','nib','nodabscissa','none','norm','normalvideo','notaknot','nowarn','numberpage','nurb','object','offset','onpath','opacity','opposite','orientation','origin','orthic','orthocentercenter','outformat','outline','outname','outprefix','output','overloadedMessage','overwrite','pack','pad','pairs','palette','parabola','parabolanodesnumber','parallel','parallelogram','partialsum','path','path3','pattern','pause','pdf','pedal','periodic','perp','perpendicular','perpendicularmark','phantom','phi1','phi2','phi3','photon','piecewisestraight','point','polar','polarconicroutine','polargraph','polygon','postcontrol','postscript','pow10','ppoint','prc','prc0','precision','precontrol','prepend','printBytecode','print_random_addresses','project','projection','purge','pwhermite','quadrant','quadraticroots','quantize','quarticroots','quotient','radialshade','radians','radicalcenter','radicalline','radius','rand','randompath','rd','readline','realmult','realquarticroots','rectangle','rectangular','rectify','reflect','relabscissa','relative','relativedistance','reldir','relpoint','reltime','remainder','remark','removeDuplicates','rename','replace','report','resetdefaultpen','restore','restoredefaults','reverse','reversevideo','rf','rfind','rgb','rgba','rgbint','rms', + 'rotate','rotateO','rotation','round','roundbox','roundedpath','roundrectangle','same','samecoordsys','sameside','sample','save','savedefaults','saveline','scale','scale3','scaleO','scaleT','scaleless','scientific','search','searchindex','searchtree','sec','secondaryX','secondaryY','seconds','section','sector','seek','seekeof','segment','sequence','setcontour','setpens','sgn','sgnd','sharpangle','sharpdegrees','shift','shiftless','shipout','shipout3','show','side','simeq','simpson','sin','sinh','size','size3','skewness','skip','slant','sleep','slope','slopefield','solve','solveBVP','sort','sourceline','sphere','split','sqrt','square','srand','standardizecoordsys','startScript','stdev','step','stickframe','stickmarksize','stickmarkspace','stop','straight','straightness','string','stripdirectory','stripextension','stripfile','stripsuffix','strokepath','subdivide','subitem','subpath','substr','sum','surface','symmedial','symmedian','system', + 'tab','tableau','tan','tangent','tangential','tangents','tanh','tell','tensionSpecifier','tensorshade','tex','texcolor','texify','texpath','texpreamble','texreset','texshipout','texsize','textpath','thick','thin','tick','tickMax','tickMax3','tickMin','tickMin3','ticklabelshift','ticklocate','tildeframe','tildemarksize','tile','tiling','time','times','title','titlepage','topbox','transform','transformation','transpose','trembleFuzz','triangle','triangleAbc','triangleabc','triangulate','tricoef','tridiagonal','trilinear','trim','truepoint','tube','uncycle','unfill','uniform','unique','unit','unitrand','unitsize','unityroot','unstraighten','upcase','updatefunction','uperiodic','upscale','uptodate','usepackage','usersetting','usetypescript','usleep','value','variance','variancebiased','vbox','vector','vectorfield','verbatim','view','vline','vperiodic','vprojection','warn','warning','windingnumber','write','xaxis','xaxis3','xaxis3At','xaxisAt','xequals','xinput','xlimits','xoutput','xpart','xscale','xscaleO','xtick','xtick3','xtrans','yaxis','yaxis3','yaxis3At','yaxisAt','yequals','ylimits','ypart','yscale','yscaleO','ytick','ytick3','ytrans','zaxis3','zaxis3At','zero','zero3','zlimits','zpart','ztick','ztick3','ztrans' + ), + 4 => array( + 'AliceBlue','Align','Allow','AntiqueWhite','Apricot','Aqua','Aquamarine','Aspect','Azure','BeginPoint','Beige','Bisque','Bittersweet','Black','BlanchedAlmond','Blue','BlueGreen','BlueViolet','Both','Break','BrickRed','Brown','BurlyWood','BurntOrange','CCW','CW','CadetBlue','CarnationPink','Center','Centered','Cerulean','Chartreuse','Chocolate','Coeff','Coral','CornflowerBlue','Cornsilk','Crimson','Crop','Cyan','Dandelion','DarkBlue','DarkCyan','DarkGoldenrod','DarkGray','DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','DarkOrange','DarkOrchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateGray','DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DefaultHead','DimGray','DodgerBlue','Dotted','Down','Draw','E','ENE','EPS','ESE','E_Euler','E_PC','E_RK2','E_RK3BS','Emerald','EndPoint','Euler','Fill','FillDraw','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsboro','GhostWhite','Gold','Goldenrod','Gray','Green','GreenYellow','Honeydew','HookHead','Horizontal','HotPink','I','IgnoreAspect','IndianRed','Indigo','Ivory','JOIN_IN','JOIN_OUT','JungleGreen','Khaki','LM_DWARF','LM_MACHEP','LM_SQRT_DWARF','LM_SQRT_GIANT','LM_USERTOL','Label','Lavender','LavenderBlush','LawnGreen','Left','LeftJustified','LeftSide','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGoldenrodYellow', + 'LightGreen','LightGrey','LightPink','LightSalmon','LightSeaGreen','LightSkyBlue','LightSlateGray','LightSteelBlue','LightYellow','Lime','LimeGreen','Linear','Linen','Log','Logarithmic','Magenta','Mahogany','Mark','MarkFill','Maroon','Max','MediumAquamarine','MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateBlue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','Melon','MidPoint','MidnightBlue','Min','MintCream','MistyRose','Moccasin','Move','MoveQuiet','Mulberry','N','NE','NNE','NNW','NW','NavajoWhite','Navy','NavyBlue','NoAlign','NoCrop','NoFill','NoSide','OldLace','Olive','OliveDrab','OliveGreen','Orange','OrangeRed','Orchid','Ox','Oy','PC','PaleGoldenrod','PaleGreen','PaleTurquoise','PaleVioletRed','PapayaWhip','Peach','PeachPuff','Periwinkle','Peru','PineGreen','Pink','Plum','PowderBlue','ProcessBlue','Purple','RK2','RK3','RK3BS','RK4','RK5','RK5DP','RK5F','RawSienna','Red','RedOrange','RedViolet','Rhodamine','Right','RightJustified','RightSide','RosyBrown','RoyalBlue','RoyalPurple','RubineRed','S','SE','SSE','SSW','SW','SaddleBrown','Salmon','SandyBrown','SeaGreen','Seashell','Sepia','Sienna','Silver','SimpleHead','SkyBlue','SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Suppress','SuppressQuiet','Tan','TeXHead','Teal','TealBlue','Thistle','Ticksize','Tomato', + 'Turquoise','UnFill','Up','VERSION','Value','Vertical','Violet','VioletRed','W','WNW','WSW','Wheat','White','WhiteSmoke','WildStrawberry','XYAlign','YAlign','Yellow','YellowGreen','YellowOrange','addpenarc','addpenline','align','allowstepping','angularsystem','animationdelay','appendsuffix','arcarrowangle','arcarrowfactor','arrow2sizelimit','arrowangle','arrowbarb','arrowdir','arrowfactor','arrowhookfactor','arrowlength','arrowsizelimit','arrowtexfactor','authorpen','axis','axiscoverage','axislabelfactor','background','backgroundcolor','backgroundpen','barfactor','barmarksizefactor','basealign','baselinetemplate','beveljoin','bigvertexpen','bigvertexsize','black','blue','bm','bottom','bp','brown','bullet','byfoci','byvertices','camerafactor','chartreuse','circlemarkradiusfactor','circlenodesnumberfactor','circleprecision','circlescale','cm','codefile','codepen','codeskip','colorPen','coloredNodes','coloredSegments', + 'conditionlength','conicnodesfactor','count','cputimeformat','crossmarksizefactor','currentcoordsys','currentlight','currentpatterns','currentpen','currentpicture','currentposition','currentprojection','curvilinearsystem','cuttings','cyan','darkblue','darkbrown','darkcyan','darkgray','darkgreen','darkgrey','darkmagenta','darkolive','darkred','dashdotted','dashed','datepen','dateskip','debuggerlines','debugging','deepblue','deepcyan','deepgray','deepgreen','deepgrey','deepmagenta','deepred','default','defaultControl','defaultS','defaultbackpen','defaultcoordsys','defaultexcursion','defaultfilename','defaultformat','defaultmassformat','defaultpen','diagnostics','differentlengths','dot','dotfactor','dotframe','dotted','doublelinepen','doublelinespacing','down','duplicateFuzz','edge','ellipsenodesnumberfactor','eps','epsgeo','epsilon','evenodd','expansionfactor','extendcap','exterior','fermionpen','figureborder','figuremattpen','file3','firstnode','firststep','foregroundcolor','fuchsia','fuzz','gapfactor','ghostpen','gluonamplitude','gluonpen','gluonratio','gray','green','grey','hatchepsilon','havepagenumber','heavyblue','heavycyan','heavygray','heavygreen','heavygrey','heavymagenta','heavyred','hline','hwratio','hyperbola','hyperbolanodesnumberfactor','identity4','ignore','inXasyMode','inch','inches','includegraphicscommand','inf','infinity','institutionpen','intMax','intMin','interior','invert','invisible','itempen','itemskip','itemstep','labelmargin','landscape','lastnode','left','legendhskip','legendlinelength', + 'legendmargin','legendmarkersize','legendmaxrelativewidth','legendvskip','lightblue','lightcyan','lightgray','lightgreen','lightgrey','lightmagenta','lightolive','lightred','lightyellow','line','linemargin','lm_infmsg','lm_shortmsg','longdashdotted','longdashed','magenta','magneticRadius','mantissaBits','markangleradius','markangleradiusfactor','markanglespace','markanglespacefactor','mediumblue','mediumcyan','mediumgray','mediumgreen','mediumgrey','mediummagenta','mediumred','mediumyellow','middle','minDistDefault','minblockheight','minblockwidth','mincirclediameter','minipagemargin','minipagewidth','minvertexangle','miterjoin','mm','momarrowfactor','momarrowlength','momarrowmargin','momarrowoffset','momarrowpen','monoPen','morepoints','nCircle','newbulletcolor','ngraph','nil','nmesh','nobasealign','nodeMarginDefault','nodesystem','nomarker','nopoint','noprimary','nullpath','nullpen','numarray','ocgindex','oldbulletcolor','olive','orange','origin','overpaint','page','pageheight','pagemargin','pagenumberalign','pagenumberpen','pagenumberposition','pagewidth','paleblue','palecyan','palegray','palegreen','palegrey', + 'palemagenta','palered','paleyellow','parabolanodesnumberfactor','perpfactor','phi','photonamplitude','photonpen','photonratio','pi','pink','plain','plain_bounds','plain_scaling','plus','preamblenodes','pt','purple','r3','r4a','r4b','randMax','realDigits','realEpsilon','realMax','realMin','red','relativesystem','reverse','right','roundcap','roundjoin','royalblue','salmon','saveFunctions','scalarpen','sequencereal','settings','shipped','signedtrailingzero','solid','springgreen','sqrtEpsilon','squarecap','squarepen','startposition','stdin','stdout','stepfactor','stepfraction','steppagenumberpen','stepping','stickframe','stickmarksizefactor','stickmarkspacefactor','swap','textpen','ticksize','tildeframe','tildemarksizefactor','tinv','titlealign','titlepagepen','titlepageposition','titlepen','titleskip','top','trailingzero','treeLevelStep','treeMinNodeWidth','treeNodeStep','trembleAngle','trembleFrequency','trembleRandom','undefined','unitcircle','unitsquare','up','urlpen','urlskip','version','vertexpen','vertexsize','viewportmargin','viewportsize','vline','white','wye','xformStack','yellow','ylabelwidth','zerotickfuzz','zerowinding' + ) + ), + 'SYMBOLS' => array( + 0 => array( + '(', ')', '{', '}', '[', ']' + ), + 1 => array('<', '>','='), + 2 => array('+', '-', '*', '/', '%'), + 3 => array('!', '^', '&', '|'), + 4 => array('?', ':', ';'), + 5 => array('..') + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #990000;', + 4 => 'color: #009900; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 2 => 'color: #339900;', + 'MULTI' => 'color: #ff0000; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #008000;' + ), + 'STRINGS' => array( + 0 => 'color: #FF0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #007788;', + 2 => 'color: #007788;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;', + 1 => 'color: #000080;', + 2 => 'color: #000040;', + 3 => 'color: #000040;', + 4 => 'color: #008080;', + 5 => 'color: #009080;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + 2 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])" + ) + ) +); + +?> diff --git a/inc/geshi/autoconf.php b/inc/geshi/autoconf.php index 901125bdc..7a0f1ee9c 100644 --- a/inc/geshi/autoconf.php +++ b/inc/geshi/autoconf.php @@ -4,7 +4,7 @@ * ----- * Author: Mihai Vasilian (grayasm@gmail.com) * Copyright: (c) 2010 Mihai Vasilian - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/01/25 * * autoconf language file for GeSHi. diff --git a/inc/geshi/autohotkey.php b/inc/geshi/autohotkey.php index c162f7ade..970684daf 100644 --- a/inc/geshi/autohotkey.php +++ b/inc/geshi/autohotkey.php @@ -4,7 +4,7 @@ * -------- * Author: Naveen Garg (naveen.garg@gmail.com) * Copyright: (c) 2009 Naveen Garg and GeSHi - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/06/11 * * Autohotkey language file for GeSHi. diff --git a/inc/geshi/autoit.php b/inc/geshi/autoit.php index 7f69d2bd5..ab401b4cd 100644 --- a/inc/geshi/autoit.php +++ b/inc/geshi/autoit.php @@ -4,7 +4,7 @@ * -------- * Author: big_daddy (robert.i.anthony@gmail.com) * Copyright: (c) 2006 and to GESHi ;) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/01/26 * * AutoIT language file for GeSHi. diff --git a/inc/geshi/avisynth.php b/inc/geshi/avisynth.php index 949d0ecb6..88f662886 100644 --- a/inc/geshi/avisynth.php +++ b/inc/geshi/avisynth.php @@ -4,7 +4,7 @@ * -------- * Author: Ryan Jones (sciguyryan@gmail.com) * Copyright: (c) 2008 Ryan Jones - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/10/08 * * AviSynth language file for GeSHi. diff --git a/inc/geshi/awk.php b/inc/geshi/awk.php index a1ab68ef1..1ec239b70 100644 --- a/inc/geshi/awk.php +++ b/inc/geshi/awk.php @@ -4,7 +4,7 @@ * ------- * Author: George Pollard (porges@porg.es) * Copyright: (c) 2009 George Pollard - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/01/28 * * Awk language file for GeSHi. diff --git a/inc/geshi/bascomavr.php b/inc/geshi/bascomavr.php index 8270fb26e..864f74e8d 100644 --- a/inc/geshi/bascomavr.php +++ b/inc/geshi/bascomavr.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: aquaticus.info * Copyright: (c) 2008 aquaticus.info - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/01/09 * * BASCOM AVR language file for GeSHi. diff --git a/inc/geshi/bash.php b/inc/geshi/bash.php index 8edb3f30e..c69f0054f 100644 --- a/inc/geshi/bash.php +++ b/inc/geshi/bash.php @@ -4,7 +4,7 @@ * -------- * Author: Andreas Gohr (andi@splitbrain.org) * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/20 * * BASH language file for GeSHi. @@ -157,8 +157,8 @@ $language_data = array ( 'ed', 'egrep', 'env', 'expr', - 'false', 'fbset', 'ffmpeg', 'fgconsole','fgrep', 'file', 'find', - 'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser', + 'false', 'fbset', 'fdisk', 'ffmpeg', 'fgconsole','fgrep', 'file', + 'find', 'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser', 'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes', 'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote', diff --git a/inc/geshi/basic4gl.php b/inc/geshi/basic4gl.php index ce409e8a4..35c927406 100644 --- a/inc/geshi/basic4gl.php +++ b/inc/geshi/basic4gl.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Matthew Webb (bmatthew1@blueyonder.co.uk) * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/09/15 * * Basic4GL language file for GeSHi. diff --git a/inc/geshi/bf.php b/inc/geshi/bf.php index 0529ec3c5..c06ca5bf6 100644 --- a/inc/geshi/bf.php +++ b/inc/geshi/bf.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/31 * * Brainfuck language file for GeSHi. @@ -63,7 +63,7 @@ $language_data = array ( 1 => 'color: #666666; font-style: italic;' ), 'BRACKETS' => array( - 0 => 'color: #66cc66;' + 0 => 'color: #660000;' ), 'STRINGS' => array( 0 => 'color: #ff0000;' @@ -76,8 +76,8 @@ $language_data = array ( 0 => 'color: #006600;', 1 => 'color: #660000;', 2 => 'color: #000066;', - 3 => 'color: #660066;', - 4 => 'color: #666600;' + 3 => 'color: #666600;', + 4 => 'color: #660066;' ), 'ESCAPE_CHAR' => array( ), @@ -102,8 +102,9 @@ $language_data = array ( 'PARSER_CONTROL' => array( 'ENABLE_FLAGS' => array( 'STRINGS' => GESHI_NEVER, - 'NUMBERS' => GESHI_NEVER - ), + 'NUMBERS' => GESHI_NEVER, + 'BRACKETS' => GESHI_NEVER + ), 'KEYWORDS' => array( 'DISALLOW_BEFORE' => '', 'DISALLOW_AFTER' => '' @@ -111,4 +112,4 @@ $language_data = array ( ) ); -?> +?>
\ No newline at end of file diff --git a/inc/geshi/bibtex.php b/inc/geshi/bibtex.php index 13685608b..51cb4cebd 100644 --- a/inc/geshi/bibtex.php +++ b/inc/geshi/bibtex.php @@ -4,7 +4,7 @@ * ----- * Author: Quinn Taylor (quinntaylor@mac.com) * Copyright: (c) 2009 Quinn Taylor (quinntaylor@mac.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/04/29 * * BibTeX language file for GeSHi. diff --git a/inc/geshi/blitzbasic.php b/inc/geshi/blitzbasic.php index 15f24fdbe..1d3c08d05 100644 --- a/inc/geshi/blitzbasic.php +++ b/inc/geshi/blitzbasic.php @@ -4,7 +4,7 @@ * -------------- * Author: P�draig O`Connel (info@moonsword.info) * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 16.10.2005 * * BlitzBasic language file for GeSHi. @@ -56,7 +56,7 @@ $language_data = array ( 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( 1 => array( - 'If','EndIf','ElseIf','Else If','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select', + 'If','EndIf','ElseIf','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select', 'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float', 'String','Before','Not' ), diff --git a/inc/geshi/bnf.php b/inc/geshi/bnf.php index 7cec792a9..ca15cf9eb 100644 --- a/inc/geshi/bnf.php +++ b/inc/geshi/bnf.php @@ -4,7 +4,7 @@ * -------- * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us) * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/09/28 * * BNF (Backus-Naur form) language file for GeSHi. diff --git a/inc/geshi/boo.php b/inc/geshi/boo.php index f56afee5f..b68d442f7 100644 --- a/inc/geshi/boo.php +++ b/inc/geshi/boo.php @@ -4,7 +4,7 @@ * -------- * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com) * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/09/10 * * Boo language file for GeSHi. diff --git a/inc/geshi/c.php b/inc/geshi/c.php index 7db6d3d50..35d5b019d 100644 --- a/inc/geshi/c.php +++ b/inc/geshi/c.php @@ -7,7 +7,7 @@ * - Jack Lloyd (lloyd@randombit.net) * - Michael Mol (mikemol@gmail.com) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * C language file for GeSHi. diff --git a/inc/geshi/c_loadrunner.php b/inc/geshi/c_loadrunner.php index 4e5429cda..42b3d7721 100644 --- a/inc/geshi/c_loadrunner.php +++ b/inc/geshi/c_loadrunner.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Stuart Moncrieff (stuart at myloadtest dot com) * Copyright: (c) 2010 Stuart Moncrieff (http://www.myloadtest.com/loadrunner-syntax-highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010-07-25 * * C (for LoadRunner) language file for GeSHi. diff --git a/inc/geshi/c_mac.php b/inc/geshi/c_mac.php index f80dc2ed2..41c21ce54 100644 --- a/inc/geshi/c_mac.php +++ b/inc/geshi/c_mac.php @@ -4,7 +4,7 @@ * --------- * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net) * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * C for Macs language file for GeSHi. diff --git a/inc/geshi/caddcl.php b/inc/geshi/caddcl.php index 6587cfed9..8b8b2f248 100644 --- a/inc/geshi/caddcl.php +++ b/inc/geshi/caddcl.php @@ -4,7 +4,7 @@ * ---------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * CAD DCL (Dialog Control Language) language file for GeSHi. diff --git a/inc/geshi/cadlisp.php b/inc/geshi/cadlisp.php index 00e3c6c5b..3fa7ead09 100644 --- a/inc/geshi/cadlisp.php +++ b/inc/geshi/cadlisp.php @@ -4,7 +4,7 @@ * ----------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * AutoCAD/IntelliCAD Lisp language file for GeSHi. diff --git a/inc/geshi/cfdg.php b/inc/geshi/cfdg.php index 31d32fa45..e40963f06 100644 --- a/inc/geshi/cfdg.php +++ b/inc/geshi/cfdg.php @@ -4,7 +4,7 @@ * -------- * Author: John Horigan <john@glyphic.com> * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/ - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/03/11 * * CFDG language file for GeSHi. diff --git a/inc/geshi/cfm.php b/inc/geshi/cfm.php index f340c39ac..2d165bd68 100644 --- a/inc/geshi/cfm.php +++ b/inc/geshi/cfm.php @@ -4,7 +4,7 @@ * ------- * Author: Diego * Copyright: (c) 2006 Diego - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/02/25 * * ColdFusion language file for GeSHi. diff --git a/inc/geshi/chaiscript.php b/inc/geshi/chaiscript.php index dcd05dbf5..f9d0a8681 100644 --- a/inc/geshi/chaiscript.php +++ b/inc/geshi/chaiscript.php @@ -6,7 +6,7 @@ * Copyright: (c) 2010 Jason Turner (lefticus@gmail.com), * (c) 2009 Jonathan Turner, * (c) 2004 Ben Keen (ben.keen@gmail.com), Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/07/03 * * ChaiScript language file for GeSHi. @@ -52,7 +52,7 @@ $language_data = array ( 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( 1 => array( - 'break', 'else', 'else if', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally', + 'break', 'else', 'elseif', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally', ), 2 => array( 'def', 'false', 'fun', 'true', 'var', 'attr', diff --git a/inc/geshi/cil.php b/inc/geshi/cil.php index 975572c64..9872e755f 100644 --- a/inc/geshi/cil.php +++ b/inc/geshi/cil.php @@ -4,7 +4,7 @@ * -------- * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com) * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/10/24 * * CIL (Common Intermediate Language) language file for GeSHi. diff --git a/inc/geshi/clojure.php b/inc/geshi/clojure.php index bf21c7603..0ad4e4ad7 100644 --- a/inc/geshi/clojure.php +++ b/inc/geshi/clojure.php @@ -4,7 +4,7 @@ * -------- * Author: Jess Johnson (jess@grok-code.com) * Copyright: (c) 2009 Jess Johnson (http://grok-code.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/09/20 * * Clojure language file for GeSHi. diff --git a/inc/geshi/cmake.php b/inc/geshi/cmake.php index fcf45c691..67277aa9c 100644 --- a/inc/geshi/cmake.php +++ b/inc/geshi/cmake.php @@ -4,7 +4,7 @@ * ------- * Author: Daniel Nelson (danieln@eng.utah.edu) * Copyright: (c) 2009 Daniel Nelson - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/04/06 * * CMake language file for GeSHi. diff --git a/inc/geshi/cobol.php b/inc/geshi/cobol.php index c3ed01d4c..b07be48a1 100644 --- a/inc/geshi/cobol.php +++ b/inc/geshi/cobol.php @@ -4,7 +4,7 @@ * ---------- * Author: BenBE (BenBE@omorphia.org) * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/07/02 * * COBOL language file for GeSHi. diff --git a/inc/geshi/coffeescript.php b/inc/geshi/coffeescript.php index f85541973..194aecd08 100644 --- a/inc/geshi/coffeescript.php +++ b/inc/geshi/coffeescript.php @@ -4,7 +4,7 @@ * ---------- * Author: Trevor Burnham (trevorburnham@gmail.com) * Copyright: (c) 2010 Trevor Burnham (http://iterative.ly) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/08 * * CoffeeScript language file for GeSHi. diff --git a/inc/geshi/cpp-qt.php b/inc/geshi/cpp-qt.php index 3f6aa3079..36626c90d 100644 --- a/inc/geshi/cpp-qt.php +++ b/inc/geshi/cpp-qt.php @@ -4,10 +4,10 @@ * ------- * Author: Iulian M * Copyright: (c) 2006 Iulian M - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/09/27 * - * C++ (with QT extensions) language file for GeSHi. + * C++ (with Qt extensions) language file for GeSHi. * * CHANGES * ------- @@ -41,7 +41,7 @@ ************************************************************************************/ $language_data = array ( - 'LANG_NAME' => 'C++ (QT)', + 'LANG_NAME' => 'C++ (Qt)', 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), 'COMMENT_MULTI' => array('/*' => '*/'), 'COMMENT_REGEXP' => array( diff --git a/inc/geshi/cpp.php b/inc/geshi/cpp.php index 289ab9947..42ab311cc 100644 --- a/inc/geshi/cpp.php +++ b/inc/geshi/cpp.php @@ -7,7 +7,7 @@ * - M. Uli Kusterer (witness.of.teachtext@gmx.net) * - Jack Lloyd (lloyd@randombit.net) * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/09/27 * * C++ language file for GeSHi. diff --git a/inc/geshi/csharp.php b/inc/geshi/csharp.php index e73f22d50..26024e91a 100644 --- a/inc/geshi/csharp.php +++ b/inc/geshi/csharp.php @@ -5,13 +5,15 @@ * Author: Alan Juden (alan@judenware.org) * Revised by: Michael Mol (mikemol@gmail.com) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * C# language file for GeSHi. * * CHANGES * ------- + * 2012/06/18 (1.0.8.11) + * - Added missing keywords (Christian Stelzmann) * 2009/04/03 (1.0.8.6) * - Added missing keywords identified by Rosetta Code users. * 2008/05/25 (1.0.7.22) @@ -60,14 +62,15 @@ $language_data = array ( 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( 1 => array( - 'as', 'auto', 'base', 'break', 'case', 'catch', 'const', 'continue', + 'abstract', 'add', 'as', 'base', 'break', 'by', 'case', 'catch', 'const', 'continue', 'default', 'do', 'else', 'event', 'explicit', 'extern', 'false', - 'finally', 'fixed', 'for', 'foreach', 'from', 'goto', 'if', - 'implicit', 'in', 'internal', 'lock', 'namespace', 'null', + 'finally', 'fixed', 'for', 'foreach', 'from', 'get', 'goto', 'group', 'if', + 'implicit', 'in', 'into', 'internal', 'join', 'lock', 'namespace', 'null', 'operator', 'out', 'override', 'params', 'partial', 'private', - 'protected', 'public', 'readonly', 'ref', 'return', 'sealed', - 'select', 'stackalloc', 'static', 'switch', 'this', 'throw', 'true', - 'try', 'unsafe', 'using', 'virtual', 'where', 'while', 'yield' + 'protected', 'public', 'readonly', 'remove', 'ref', 'return', 'sealed', + 'select', 'set', 'stackalloc', 'static', 'switch', 'this', 'throw', 'true', + 'try', 'unsafe', 'using', 'var', 'value', 'virtual', 'volatile', 'where', + 'while', 'yield' ), 2 => array( '#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if', @@ -78,7 +81,7 @@ $language_data = array ( ), 4 => array( 'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double', - 'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte', + 'dynamic', 'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte', 'short', 'string', 'struct', 'uint', 'ulong', 'ushort', 'void' ), 5 => array( diff --git a/inc/geshi/css.php b/inc/geshi/css.php index a8706bd26..d09bea7da 100644 --- a/inc/geshi/css.php +++ b/inc/geshi/css.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/18 * * CSS language file for GeSHi. @@ -72,6 +72,8 @@ $language_data = array ( 'aqua', 'azimuth', 'background-attachment', 'background-color', 'background-image', 'background-position', 'background-repeat', 'background', 'black', 'blue', 'border-bottom-color', + 'border-radius', 'border-top-left-radius', 'border-top-right-radius', + 'border-bottom-right-radius', 'border-bottom-left-radius', 'border-bottom-style', 'border-bottom-width', 'border-left-color', 'border-left-style', 'border-left-width', 'border-right', 'border-right-color', 'border-right-style', 'border-right-width', @@ -215,7 +217,8 @@ $language_data = array ( 'TAB_WIDTH' => 4, 'PARSER_CONTROL' => array( 'KEYWORDS' => array( - 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])' + 'DISALLOWED_AFTER' => '(?![\-a-zA-Z0-9_\|%\\-&\.])', + 'DISALLOWED_BEFORE' => '(?<![\-a-zA-Z0-9_\|%\\~&\.])' ) ) ); diff --git a/inc/geshi/cuesheet.php b/inc/geshi/cuesheet.php index e994a0aa3..ebaca955f 100644 --- a/inc/geshi/cuesheet.php +++ b/inc/geshi/cuesheet.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (benbe@geshi.org) * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/12/21 * * Cuesheet language file for GeSHi. diff --git a/inc/geshi/d.php b/inc/geshi/d.php index 107d07b1a..7f3e9857a 100644 --- a/inc/geshi/d.php +++ b/inc/geshi/d.php @@ -3,14 +3,18 @@ * d.php * ----- * Author: Thomas Kuehne (thomas@kuehne.cn) + * Contributors: + * - Jimmy Cao * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/04/22 * * D language file for GeSHi. * * CHANGES * ------- + * 2011/06/28 (0.0.3) (Jimmy Cao) + * - added D2 features * 2005/04/22 (0.0.2) * - added _d_* and sizeof/ptrdiff_t * 2005/04/20 (0.0.1) @@ -45,7 +49,7 @@ $language_data = array ( 'LANG_NAME' => 'D', 'COMMENT_SINGLE' => array(2 => '///', 1 => '//'), - 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_MULTI' => array('/*' => '*/', '/+' => '+/'), 'COMMENT_REGEXP' => array( // doxygen comments 3 => '#/\*\*(?![\*\/]).*\*/#sU', @@ -126,63 +130,39 @@ $language_data = array ( 1 => array( 'break', 'case', 'continue', 'do', 'else', 'for', 'foreach', 'goto', 'if', 'return', - 'switch', 'while' + 'switch', 'while', 'foreach_reverse' ), 2 => array( 'alias', 'asm', 'assert', 'body', 'cast', 'catch', 'default', 'delegate', 'delete', 'extern', 'false', 'finally', 'function', - 'import', 'in', 'inout', 'interface', - 'invariant', 'is', 'mixin', 'module', 'new', + 'import', 'in', 'inout', + 'invariant', 'is', 'lazy', 'mixin', 'module', 'new', 'null', 'out', 'pragma', 'ref', 'super', 'this', - 'throw', 'true', 'try', 'typedef', 'typeid', - 'typeof', 'union', 'with' + 'throw', 'true', 'try', 'typeid', + 'typeof', 'union', 'with', 'scope' ), 3 => array( - 'ArrayBoundsError', 'AssertError', 'ClassInfo', 'Error', 'Exception', - 'Interface', 'ModuleInfo', 'Object', - 'OutOfMemoryException', 'SwitchError', - 'TypeInfo', '_d_arrayappend', - '_d_arrayappendb', '_d_arrayappendc', - '_d_arrayappendcb', '_d_arraycast', - '_d_arraycast_frombit', '_d_arraycat', - '_d_arraycatb', '_d_arraycatn', - '_d_arraycopy', '_d_arraycopybit', - '_d_arraysetbit', '_d_arraysetbit2', - '_d_arraysetlength', '_d_arraysetlengthb', - '_d_callfinalizer', - '_d_create_exception_object', - '_d_criticalenter', '_d_criticalexit', - '_d_delarray', '_d_delclass', - '_d_delinterface', '_d_delmemory', - '_d_dynamic_cast', '_d_exception', - '_d_exception_filter', '_d_framehandler', - '_d_interface_cast', '_d_interface_vtbl', - '_d_invariant', '_d_isbaseof', - '_d_isbaseof2', '_d_local_unwind', - '_d_monitorenter', '_d_monitorexit', - '_d_monitorrelease', '_d_monitor_epilog', - '_d_monitor_handler', '_d_monitor_prolog', - '_d_new', '_d_newarrayi', '_d_newbitarray', - '_d_newclass', '_d_obj_cmp', '_d_obj_eq', - '_d_OutOfMemory', '_d_switch_dstring', - '_d_switch_string', '_d_switch_ustring', - '_d_throw', + 'Interface', 'Object', 'IMonitor', + 'OffsetTypeInfo', 'Throwable', + 'TypeInfo_Class', 'TypeInfo', '__traits', + '__EOF__', '__FILE__', '__LINE__', ), 4 => array( 'abstract', 'align', 'auto', 'bit', 'bool', - 'byte', 'cdouble', 'cent', 'cfloat', 'char', - 'class', 'const', 'creal', 'dchar', 'debug', + 'byte', 'cdouble', 'cfloat', 'char', + 'class', 'const', 'creal', 'dchar', 'dstring', 'debug', 'deprecated', 'double', 'enum', 'export', - 'final', 'float', 'idouble', 'ifloat', 'int', - 'ireal', 'long', 'override', 'package', - 'private', 'protected', 'ptrdiff_t', - 'public', 'real', 'short', 'size_t', - 'static', 'struct', 'synchronized', + 'final', 'float', 'idouble', 'ifloat', 'immutable', 'int', + 'interface', 'ireal', 'long', 'nothrow', 'override', + 'package', 'private', 'protected', 'ptrdiff_t', + 'public', 'real', 'short', 'shared', 'size_t', + 'static', 'string', 'struct', 'synchronized', 'template', 'ubyte', 'ucent', 'uint', 'ulong', 'unittest', 'ushort', 'version', - 'void', 'volatile', 'wchar' + 'void', 'volatile', 'wchar', 'wstring', + '__gshared', '@disable', '@property', 'pure', 'safe' ) ), 'SYMBOLS' => array( diff --git a/inc/geshi/dcl.php b/inc/geshi/dcl.php new file mode 100644 index 000000000..db12a4c4e --- /dev/null +++ b/inc/geshi/dcl.php @@ -0,0 +1,192 @@ +<?php +/************************************************************************************* + * dcl.php + * -------- + * Author: Petr Hendl (petr@hendl.cz) + * Copyright: (c) 2011 Petr Hendl http://hendl.cz/geshi/ + * Release Version: 1.0.8.11 + * Date Started: 2011/02/17 + * + * DCL language file for GeSHi. + * + * CHANGES + * ------- + * 2011-02-17 (1.0.8.11) + * - First Release + * + * TODO + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'DCL', + 'COMMENT_SINGLE' => array('$!', '!'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 2 => '/(?<=\$)\s*sql\s+.*?(?:quit|exit);?\s*?$/sim' // do not highlight inline sql + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'HARDESCAPE' => array(), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + 1 => "/''[a-zA-Z\\-_]+'/" + ), + 'KEYWORDS' => array( + 1 => array( // commands + 'ACCOUNTING', 'ALLOCATE', 'ANALYZE', 'APPEND', 'ASSIGN', 'ATTACH', 'BACKUP', + 'CALL', 'CANCEL', 'CHECKSUM', 'CLOSE', 'CONNECT', 'CONTINUE', 'CONVERT', + 'COPY', 'CREATE', 'DEALLOCATE', 'DEASSIGN', 'DEBUG', 'DECK', + 'DECRYPT', 'DEFINE', 'DELETE', 'DEPOSIT', 'DIFFERENCES', 'DIRECTORY', + 'DISABLE', 'AUTOSTART', 'DISCONNECT', 'DISMOUNT', 'DUMP', 'EDIT', 'ENABLE', + 'ENCRYPT', 'ENDSUBROUTINE', 'EOD', 'EOJ', 'EXAMINE', 'EXCHANGE', + 'EXIT', 'FONT', 'GOSUB', 'GOTO', 'HELP', 'IF', 'THEN', 'ELSE', 'ENDIF', 'INITIALIZE', 'INQUIRE', + 'INSTALL', 'JAVA', 'JOB', 'LIBRARY', 'LICENSE', 'LINK', 'LOGIN', 'LOGOUT', + 'MACRO', 'MAIL', 'MERGE', 'MESSAGE', 'MONITOR', 'MOUNT', 'NCS', 'ON', 'OPEN', + 'PASSWORD', 'PATCH', 'PHONE', 'PIPE', 'PPPD', 'PRINT', 'PRODUCT', 'PURGE', + 'READ', 'RECALL', 'RENAME', 'REPLY', 'REQUEST', 'RETURN', 'RMU', 'RUN', 'RUNOFF', + 'SEARCH', 'SET', 'SET AUDIT', 'SET BOOTBLOCK', 'SET BROADCAST', + 'SET CACHE', 'SET CARD_READER', 'SET CLUSTER', 'SET COMMAND', 'SET CONTROL', + 'SET CPU', 'SET DAY', 'SET DEFAULT', 'SET DEVICE', 'SET DIRECTORY', + 'SET DISPLAY', 'SET ENTRY', 'SET FILE', 'SET HOST', 'SET IMAGE', 'SET KEY', + 'SET LOGINS', 'SET MAGTAPE', 'SET MESSAGE', 'SET NETWORK', 'SET ON', 'SET OUTPUT_RATE', + 'SET PASSWORD', 'SET PREFERRED_PATH', 'SET PREFIX', 'SET PRINTER', 'SET PROCESS', + 'SET PROMPT', 'SET PROTECTION', 'SET QUEUE', 'SET RESTART_VALUE', + 'SET RIGHTS_LIST', 'SET RMS_DEFAULT', 'SET ROOT', 'SET SECURITY', + 'SET SERVER ACME_SERVER', 'SET SERVER REGISTRY_SERVER', 'SET SERVER SECURITY_SERVER', + 'SET SHADOW', 'SET SYMBOL', 'SET TERMINAL', 'SET TIME', 'SET VERIFY', + 'SET VOLUME', 'SET WORKING_SET', 'SHOW', 'SHOW AUDIT', + 'SHOW BROADCAST', 'SHOW CLUSTER', 'SHOW CPU', 'SHOW DEFAULT', 'SHOW DEVICES', + 'SHOW DISPLAY', 'SHOW ENTRY', 'SHOW ERROR', 'SHOW FASTPATH', 'SHOW IMAGE', + 'SHOW INTRUSION', 'SHOW KEY', 'SHOW LICENSE', 'SHOW LOGICAL', 'SHOW MEMORY', + 'SHOW NETWORK', 'SHOW PRINTER', 'SHOW PROCESS', 'SHOW PROTECTION', 'SHOW QUEUE', + 'SHOW QUOTA', 'SHOW RMS_DEFAULT', 'SHOW ROOT', 'SHOW SECURITY', + 'SHOW SERVER ACME_SERVER', 'SHOW SERVER REGISTRY_SERVER', 'SHOW SHADOW', + 'SHOW STATUS', 'SHOW SYMBOL', 'SHOW SYSTEM', 'SHOW TERMINAL', 'SHOW TIME', + 'SHOW TRANSLATION', 'SHOW USERS', 'SHOW WORKING_SET', 'SHOW ZONE', 'SORT', + 'SPAWN', 'START', 'STOP', 'SUBMIT', 'SUBROUTINE', 'SYNCHRONIZE', 'TYPE', + 'UNLOCK', 'VIEW', 'WAIT', 'WRITE', 'XAUTH' + ), + 2 => array( // lexical functions + 'F$CONTEXT', 'F$CSID', 'F$CUNITS', 'F$CVSI', 'F$CVTIME', 'F$CVUI', + 'F$DELTA_TIME', 'F$DEVICE', 'F$DIRECTORY', 'F$EDIT', 'F$ELEMENT', + 'F$ENVIRONMENT', 'F$EXTRACT', 'F$FAO', 'F$FID_TO_NAME', 'F$FILE_ATTRIBUTES', + 'F$GETDVI', 'F$GETENV', 'F$GETJPI', 'F$GETQUI', 'F$GETSYI', 'F$IDENTIFIER', + 'F$INTEGER', 'F$LENGTH', 'F$LICENSE', 'F$LOCATE', 'F$MATCH_WILD', 'F$MESSAGE', + 'F$MODE', 'F$MULTIPATH', 'F$PARSE', 'F$PID', 'F$PRIVILEGE', 'F$PROCESS', + 'F$SEARCH', 'F$SETPRV', 'F$STRING', 'F$TIME', 'F$TRNLNM', 'F$TYPE', 'F$UNIQUE', + 'F$USER', 'F$VERIFY' + ), + 3 => array( // special variables etc + 'sql$database', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', + '$status', '$severity', 'sys$login', 'sys$system', + 'sys$input', 'sys$output', 'sys$pipe' + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '@', '&', '|', '<', '>', '-', + '.eqs.', '.eq.', '.lt.', '.lts.', '.gt.', '.gts.', '.ne.', '.nes.', + '.le.', '.ge.', '.ges.', '.les.', + '.EQS.', '.EQ.', '.LT.', '.LTS.', '.GT.', '.GTS.', '.NE.', '.NES.', + '.LE.', '.GE.', '.GES.', '.LES.', + '.and.', '.or.', '.not.', + '.AND.', '.OR.', '.NOT.', + '==', ':==', '=', ':=' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #0066FF;', + 3 => 'color: #993300;' + ), + 'COMMENTS' => array( + 0 => 'color: #666666; font-style: italic;', + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #9999FF; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #006666;', + 1 => 'color: #0099FF;', + 2 => 'color: red;', + 3 => 'color: #007800;', + 4 => 'color: #007800;', + 5 => 'color: #780078;' + ), + 'BRACKETS' => array( + 0 => 'color: #7a0874; font-weight: bold;' + ), + 'STRINGS' => array( + 0 => 'color: #009900;' + ), + 'NUMBERS' => array( + 0 => 'color: #000000;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #000000; font-weight: bold;' + ), + 'REGEXPS' => array( + 0 => 'color: #0099FF;', // variables + 1 => 'color: #0000FF;', // qualifiers + 2 => 'color: #FF6600; font-weight: bold;' // labels + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + // variables + 0 => "'[a-zA-Z_\\-$]+'", + // qualifiers and parameters + 1 => "(?:\/[a-zA-Z_\/]+)[\s=]", + // labels + 2 => '(?<=\$)\s*[a-zA-Z\-_]+:' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'COMMENTS' => array( + ), + 'KEYWORDS' => array( + ) + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/dcpu16.php b/inc/geshi/dcpu16.php new file mode 100644 index 000000000..5fcb25e51 --- /dev/null +++ b/inc/geshi/dcpu16.php @@ -0,0 +1,131 @@ +<?php +/************************************************************************************* + * dcpu16.php + * ------- + * Author: Benny Baumann (BenBE@omorphia.de) + * Copyright: (c) 2007-2012 Benny Baumann (http://geshi.org/) + * Release Version: 1.0.8.11 + * Date Started: 2012/04/12 + * + * DCPU/16 Assembly language file for GeSHi. + * Syntax definition based on http://0x10c.com/doc/dcpu-16.txt + * + * CHANGES + * ------- + * 2012/04/12 (1.0.0) + * - First Release + * + * TODO (updated 2012/04/12) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'DCPU-16 Assembly', + 'COMMENT_SINGLE' => array(1 => ';'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_HEX_PREFIX, + 'KEYWORDS' => array( + /*CPU*/ + 1 => array( + 'set','add','sub','mul','div','mod','shl','shr','and','bor','xor', + 'ife','ifn','ifg','ifb', + 'jsr' + ), + /*registers*/ + 2 => array( + 'a','b','c','x','y','z','i','j', + 'pc','sp','o', + 'pop','peek','push' //Special cases with DCPU-16 + ), + ), + 'SYMBOLS' => array( + '[', ']', '+', '-', ',' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000088; font-weight:bold;', + 2 => 'color: #0000ff;' + ), + 'COMMENTS' => array( + 1 => 'color: #adadad; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000088;' + ), + 'STRINGS' => array( + 0 => 'color: #7f007f;' + ), + 'NUMBERS' => array( + 0 => 'color: #880000;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;' + ), + 'REGEXPS' => array( + 2 => 'color: #993333;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => 'http://0x10c.com/doc/dcpu-16.txt', + 2 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + //Hex numbers + //0 => '0[0-9a-fA-F]{1,32}[hH]', + //Binary numbers + //1 => '\%[01]{1,64}|[01]{1,64}[bB]?(?![^<]*>)', + //Labels + 2 => '^:[_a-zA-Z][_a-zA-Z0-9]?(?=\s|$)' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#\/])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])" + ) + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/dcs.php b/inc/geshi/dcs.php index bac2beea8..d32cfc5b9 100644 --- a/inc/geshi/dcs.php +++ b/inc/geshi/dcs.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Stelio Passaris (GeSHi@stelio.net) * Copyright: (c) 2009 Stelio Passaris (http://stelio.net/stiki/GeSHi) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/01/20 * * DCS language file for GeSHi. diff --git a/inc/geshi/delphi.php b/inc/geshi/delphi.php index d7f19f832..d5596e0cd 100644 --- a/inc/geshi/delphi.php +++ b/inc/geshi/delphi.php @@ -4,13 +4,17 @@ * ---------- * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/26 * * Delphi (Object Pascal) language file for GeSHi. * * CHANGES * ------- + * 2012/06/27 (1.0.8.11) + * - Added some keywords + * - fixed hex numbers and hex char literals (including WideChar) + * - Added support for FPC-Style generics * 2008/05/23 (1.0.7.22) * - Added description of extra language features (SF#1970248) * 2005/11/19 (1.0.3) @@ -51,27 +55,28 @@ $language_data = array ( 'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'), //Compiler directives 'COMMENT_REGEXP' => array(2 => '/\\{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'), - 'CASE_KEYWORDS' => 0, + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'"), 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( 1 => array( 'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case', - 'Class', 'Const', 'Constructor', 'Contains', 'Destructor', + 'Class', 'Const', 'Constructor', 'Contains', 'Default', 'delayed', 'Destructor', 'DispInterface', 'Div', 'Do', 'DownTo', 'Else', 'End', 'Except', - 'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally', - 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', - 'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library', - 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override', + 'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally', 'For', + 'Function', 'Generic', 'Goto', 'If', 'Implementation', 'In', 'Inherited', + 'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library', 'Message', + 'Mod', 'Nil', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override', 'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property', - 'Protected', 'Public', 'Published', 'Raise', 'Record', 'Register', - 'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then', - 'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var', - 'Virtual', 'While', 'With', 'Xor', 'assembler', 'far', + 'Protected', 'Public', 'Published', 'Read', 'Raise', 'Record', 'Register', + 'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Specialize', 'Stored', + 'Then', 'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var', + 'Virtual', 'While', 'With', 'Write', 'Xor', 'assembler', 'far', 'near', 'pascal', 'cdecl', 'safecall', 'stdcall', 'varargs' ), 2 => array( - 'nil', 'false', 'self', 'true', 'var', 'type', 'const' + 'false', 'self', 'true', ), 3 => array( 'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan', @@ -250,7 +255,7 @@ $language_data = array ( 1 => 'color: #006600;' ), 'REGEXPS' => array( - 0 => 'color: #9ac;', + 0 => 'color: #0000cc;', 1 => 'color: #ff0000;' ), 'SYMBOLS' => array( @@ -274,16 +279,23 @@ $language_data = array ( ), 'REGEXPS' => array( //Hex numbers - 0 => '\$[0-9a-fA-F]+', + 0 => '(?<!\#)\$[0-9a-fA-F]+(?!\w)', //Characters - 1 => '\#(?:\$[0-9a-fA-F]{1,2}|\d{1,3})' + 1 => '\#(?:\$[0-9a-fA-F]{1,4}|\d{1,5})' ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( ), - 'TAB_WIDTH' => 2 + 'TAB_WIDTH' => 2, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 3 => array( + 'DISALLOWED_AFTER' => '(?=\s*[(;])' + ) + ) + ) ); -?>
\ No newline at end of file +?> diff --git a/inc/geshi/diff.php b/inc/geshi/diff.php index 09cc50873..5b6817178 100644 --- a/inc/geshi/diff.php +++ b/inc/geshi/diff.php @@ -4,7 +4,7 @@ * -------- * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu) * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/12/29 * * Diff-output language file for GeSHi. diff --git a/inc/geshi/div.php b/inc/geshi/div.php index e8de7a525..aa11795ac 100644 --- a/inc/geshi/div.php +++ b/inc/geshi/div.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Gabriel Lorenzo (ermakina@gmail.com) * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/06/19 * * DIV language file for GeSHi. diff --git a/inc/geshi/dos.php b/inc/geshi/dos.php index e84e1550a..36d99836b 100644 --- a/inc/geshi/dos.php +++ b/inc/geshi/dos.php @@ -4,7 +4,7 @@ * ------- * Author: Alessandro Staltari (staltari@geocities.com) * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/07/05 * * DOS language file for GeSHi. @@ -171,7 +171,7 @@ $language_data = array ( /* Variable assignement */ 1 => array( /* GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\s\n]+)([\s]*=)',*/ - GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\n]+)([\s]*=)', + GESHI_SEARCH => '(SET\s+(?si:\\/A\s+|\\/P\s+)?)([^=\n]+)(\s*=)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => 'si', GESHI_BEFORE => '\\1', @@ -180,7 +180,7 @@ $language_data = array ( /* Arguments or variable evaluation */ 2 => array( /* GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/ - GESHI_SEARCH => '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((?<!%\d)%|)', + GESHI_SEARCH => '(!(?:!(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^!>\n]*(?=!))((?<!%\d)%|)(?!!>)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => 'si', GESHI_BEFORE => '\\1', @@ -189,7 +189,7 @@ $language_data = array ( /* Arguments or variable evaluation */ 3 => array( /* GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/ - GESHI_SEARCH => '(!(?:!(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^!>\n]*(?=!))((?<!%\d)%|)(?!!>)', + GESHI_SEARCH => '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((?<!%\d)%|)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => 'si', GESHI_BEFORE => '\\1', diff --git a/inc/geshi/dot.php b/inc/geshi/dot.php index 1d5036d36..bdf240a1f 100644 --- a/inc/geshi/dot.php +++ b/inc/geshi/dot.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Adrien Friggeri (adrien@friggeri.net) * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/05/30 * * dot language file for GeSHi. diff --git a/inc/geshi/e.php b/inc/geshi/e.php index 9bdbc137b..319bee016 100644 --- a/inc/geshi/e.php +++ b/inc/geshi/e.php @@ -4,7 +4,7 @@ * -------- * Author: Kevin Reid (kpreid@switchb.org) * Copyright: (c) 2010 Kevin Reid (http://switchb.org/kpreid/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/04/16 * * E language file for GeSHi. diff --git a/inc/geshi/ecmascript.php b/inc/geshi/ecmascript.php index e220c839b..69a55c9aa 100644 --- a/inc/geshi/ecmascript.php +++ b/inc/geshi/ecmascript.php @@ -4,7 +4,7 @@ * -------------- * Author: Michel Mariani (http://www.tonton-pixel.com/site/) * Copyright: (c) 2010 Michel Mariani (http://www.tonton-pixel.com/site/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/01/08 * * ECMAScript language file for GeSHi. diff --git a/inc/geshi/eiffel.php b/inc/geshi/eiffel.php index 66427acc7..baa13c319 100644 --- a/inc/geshi/eiffel.php +++ b/inc/geshi/eiffel.php @@ -4,7 +4,7 @@ * ---------- * Author: Zoran Simic (zsimic@axarosenberg.com) * Copyright: (c) 2005 Zoran Simic - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/06/30 * * Eiffel language file for GeSHi. diff --git a/inc/geshi/email.php b/inc/geshi/email.php index 68f875499..8a313d483 100644 --- a/inc/geshi/email.php +++ b/inc/geshi/email.php @@ -4,7 +4,7 @@ * --------------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/10/19 * * Email (mbox \ eml \ RFC format) language file for GeSHi. @@ -152,7 +152,19 @@ $language_data = array ( 4 => array( GESHI_SEARCH => "(?<=\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\s)|". "(?<=\[)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\])|". - "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)", + "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)|". + + "(?<=\s)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=\s)|". + "(?<=\[)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=\])|". + "(?<==)(?:[a-f\d]{1,4}\:)+(?:[a-f\d]{0,4})?(?:\:[a-f\d]{1,4})+(?=<)|". + + "(?<=\s)\:(?:\:[a-f\d]{1,4})+(?=\s)|". + "(?<=\[)\:(?:\:[a-f\d]{1,4})+(?=\])|". + "(?<==)\:(?:\:[a-f\d]{1,4})+(?=<)|". + + "(?<=\s)(?:[a-f\d]{1,4}\:)+\:(?=\s)|". + "(?<=\[)(?:[a-f\d]{1,4}\:)+\:(?=\])|". + "(?<==)(?:[a-f\d]{1,4}\:)+\:(?=<)", GESHI_REPLACE => "\\0", GESHI_MODIFIERS => "i", GESHI_BEFORE => "", diff --git a/inc/geshi/epc.php b/inc/geshi/epc.php index 764461fc2..c575c0c63 100644 --- a/inc/geshi/epc.php +++ b/inc/geshi/epc.php @@ -4,7 +4,7 @@ * -------- * Author: Thorsten Muehlfelder (muehlfelder@enertex.de) * Copyright: (c) 2010 Enertex Bayern GmbH - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/08/26 * * Enerscript language file for GeSHi. diff --git a/inc/geshi/erlang.php b/inc/geshi/erlang.php index ede55917c..4b8d406b0 100644 --- a/inc/geshi/erlang.php +++ b/inc/geshi/erlang.php @@ -7,7 +7,7 @@ * - Uwe Dauernheim (uwe@dauernheim.net) * - Dan Forest-Barbier (dan@twisted.in) * Copyright: (c) 2008 Uwe Dauernheim (http://www.kreisquadratur.de/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008-09-27 * * Erlang language file for GeSHi. diff --git a/inc/geshi/euphoria.php b/inc/geshi/euphoria.php index afd4ad7c4..7bbf88460 100644 --- a/inc/geshi/euphoria.php +++ b/inc/geshi/euphoria.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Nicholas Koceja (nerketur@hotmail.com) * Copyright: (c) 2010 Nicholas Koceja - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 11/24/2010 * * Euphoria language file for GeSHi. diff --git a/inc/geshi/f1.php b/inc/geshi/f1.php index 13056b78b..7d7676085 100644 --- a/inc/geshi/f1.php +++ b/inc/geshi/f1.php @@ -4,7 +4,7 @@ * ------- * Author: Juro Bystricky (juro@f1compiler.com) * Copyright: K2 Software Corp. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/07/06 * * Formula One language file for GeSHi. diff --git a/inc/geshi/falcon.php b/inc/geshi/falcon.php index ce75f2057..2111d9e8e 100644 --- a/inc/geshi/falcon.php +++ b/inc/geshi/falcon.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: billykater (billykater+geshi@gmail.com) * Copyright: (c) 2010 billykater (http://falconpl.org/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/07 * * Falcon language file for GeSHi. diff --git a/inc/geshi/fo.php b/inc/geshi/fo.php index e472f2271..ba4a59244 100644 --- a/inc/geshi/fo.php +++ b/inc/geshi/fo.php @@ -4,7 +4,7 @@ * -------- * Author: Tan-Vinh Nguyen (tvnguyen@web.de) * Copyright: (c) 2009 Tan-Vinh Nguyen - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/03/23 * * fo language file for GeSHi. diff --git a/inc/geshi/fortran.php b/inc/geshi/fortran.php index 247e3e4b4..c21ccd192 100644 --- a/inc/geshi/fortran.php +++ b/inc/geshi/fortran.php @@ -4,7 +4,7 @@ * ----------- * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr) * Copyright: (C) 2006 Cetric Arrabie - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/04/22 * * Fortran language file for GeSHi. diff --git a/inc/geshi/freebasic.php b/inc/geshi/freebasic.php index 8ac2904eb..b23f39bc7 100644 --- a/inc/geshi/freebasic.php +++ b/inc/geshi/freebasic.php @@ -4,7 +4,7 @@ * ------------- * Author: Roberto Rossi * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/08/19 * * FreeBasic (http://www.freebasic.net/) language file for GeSHi. diff --git a/inc/geshi/freeswitch.php b/inc/geshi/freeswitch.php new file mode 100644 index 000000000..c6fff2767 --- /dev/null +++ b/inc/geshi/freeswitch.php @@ -0,0 +1,168 @@ +<?php +/************************************************************************************* + * freeswitch.php + * -------- + * Author: James Rose (james.gs@stubbornroses.com) + * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info + * Release Version: 1.0.8.11n/a + * Date Started: 2011/11/18 + * + * FreeSWITCH language file for GeSHi. + * + * This file is based on robots.php + * + * 2011/11/18 (1.0.0) + * - First Release + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'FreeSWITCH', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array(1 => "/^Comment:.*?$/m"), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( +// 1 => array( +// 'Disallow', 'Request-rate', 'Robot-version', +// 'Sitemap', 'User-agent', 'Visit-time' +// ) + ), + 'SYMBOLS' => array( +// ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false + ), + +//order is important. regexes will overwrite most things.... + 'STYLES' => array( + 'KEYWORDS' => array( +// 1 => 'color: #FF0000; font-weight: bold;',//red + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( +// 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( +// 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( +// 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( +// 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + 0 => 'color: firebrick; font-weight: bold;', + 1 => 'color: cornflowerblue; font-weight: bold;', + 2 => 'color: goldenrod; font-weight: bold;', + 3 => 'color: green; font-weight: bold;', + 4 => 'color: dimgrey; font-style: italic;', + 5 => 'color: green; font-weight: bold;', + 6 => 'color: firebrick; font-weight: bold;', + 7 => 'color: indigo; font-weight: italic;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( +// 1 => 'http://www.robotstxt.org/wc/norobots.html' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 0 => array( + GESHI_SEARCH => '(^.*ERROR.*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'im', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 1 => array( + GESHI_SEARCH => '(^.*NOTICE.*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'im', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 2 => array( + GESHI_SEARCH => '(^.*DEBUG.*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'm', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 3 => array( + GESHI_SEARCH => '(^.*INFO.*|.*info\(.*|^Channel.*|^Caller.*|^variable.*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'm', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 4 => array( + GESHI_SEARCH => '(^Dialplan.*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'im', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 5 => array( + GESHI_SEARCH => '(Regex\ \(PASS\))', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 6 => array( + GESHI_SEARCH => '(Regex\ \(FAIL\))', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 7 => array( + GESHI_SEARCH => '(\d{7,15})', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ), + + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> diff --git a/inc/geshi/fsharp.php b/inc/geshi/fsharp.php index a900e4b60..d85a7c757 100644 --- a/inc/geshi/fsharp.php +++ b/inc/geshi/fsharp.php @@ -4,7 +4,7 @@ * ---------- * Author: julien ortin (jo_spam-divers@yahoo.fr) * Copyright: (c) 2009 julien ortin - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/09/20 * * F# language file for GeSHi. @@ -44,7 +44,7 @@ $language_data = array( 'LANG_NAME' => 'F#', 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), 'COMMENT_MULTI' => array('/*' => '*/'), - 'COMMENT_REGEXP' => array(3 => '/\(\*(?!\)).*?\*\)/'), + 'COMMENT_REGEXP' => array(3 => '/\(\*(?!\)).*?\*\)/s'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'HARDQUOTE' => array('@"', '"'), diff --git a/inc/geshi/gambas.php b/inc/geshi/gambas.php index b89db0382..352830ebb 100644 --- a/inc/geshi/gambas.php +++ b/inc/geshi/gambas.php @@ -5,7 +5,7 @@ * Author: Jesus Guardon (jguardon@telefonica.net) * Copyright: (c) 2009 Jesus Guardon (http://gambas-es.org), * Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/20 * * GAMBAS language file for GeSHi. diff --git a/inc/geshi/gdb.php b/inc/geshi/gdb.php index 284b589a0..0a5e32c30 100644 --- a/inc/geshi/gdb.php +++ b/inc/geshi/gdb.php @@ -4,7 +4,7 @@ * -------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2009 Milian Wolff - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/06/24 * * GDB language file for GeSHi. diff --git a/inc/geshi/genero.php b/inc/geshi/genero.php index 1d70d752c..e1b20b3e8 100644 --- a/inc/geshi/genero.php +++ b/inc/geshi/genero.php @@ -4,7 +4,7 @@ * ---------- * Author: Lars Gersmann (lars.gersmann@gmail.com) * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/07/01 * * Genero (FOURJ's Genero 4GL) language file for GeSHi. diff --git a/inc/geshi/genie.php b/inc/geshi/genie.php index 898f9ef10..db05ec062 100644 --- a/inc/geshi/genie.php +++ b/inc/geshi/genie.php @@ -4,7 +4,7 @@ * ---------- * Author: Nicolas Joseph (nicolas.joseph@valaide.org) * Copyright: (c) 2009 Nicolas Joseph - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/04/29 * * Genie language file for GeSHi. diff --git a/inc/geshi/gettext.php b/inc/geshi/gettext.php index 1dc8f8d24..80b531c10 100644 --- a/inc/geshi/gettext.php +++ b/inc/geshi/gettext.php @@ -4,7 +4,7 @@ * -------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/05/25 * * GNU Gettext .po/.pot language file for GeSHi. diff --git a/inc/geshi/glsl.php b/inc/geshi/glsl.php index d810db3f0..3615cfe71 100644 --- a/inc/geshi/glsl.php +++ b/inc/geshi/glsl.php @@ -4,7 +4,7 @@ * ----- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/03/20 * * glSlang language file for GeSHi. diff --git a/inc/geshi/gml.php b/inc/geshi/gml.php index 57c42d4c8..999251b22 100644 --- a/inc/geshi/gml.php +++ b/inc/geshi/gml.php @@ -4,7 +4,7 @@ * -------- * Author: Jos� Jorge Enr�quez (jenriquez@users.sourceforge.net) * Copyright: (c) 2005 Jos� Jorge Enr�quez Rodr�guez (http://www.zonamakers.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/06/21 * * GML language file for GeSHi. diff --git a/inc/geshi/gnuplot.php b/inc/geshi/gnuplot.php index 59b343eb1..d8445eabb 100644 --- a/inc/geshi/gnuplot.php +++ b/inc/geshi/gnuplot.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/07/07 * * Gnuplot script language file for GeSHi. diff --git a/inc/geshi/go.php b/inc/geshi/go.php index a71c2515e..5b7a47db6 100644 --- a/inc/geshi/go.php +++ b/inc/geshi/go.php @@ -4,7 +4,7 @@ * -------- * Author: Markus Jarderot (mizardx at gmail dot com) * Copyright: (c) 2010 Markus Jarderot - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/05/20 * * Go language file for GeSHi. diff --git a/inc/geshi/groovy.php b/inc/geshi/groovy.php index 8a250245a..45290d2fc 100644 --- a/inc/geshi/groovy.php +++ b/inc/geshi/groovy.php @@ -4,7 +4,7 @@ * ---------- * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com) * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/04/29 * * Groovy language file for GeSHi. diff --git a/inc/geshi/gwbasic.php b/inc/geshi/gwbasic.php index e35a322a4..ecc16341d 100644 --- a/inc/geshi/gwbasic.php +++ b/inc/geshi/gwbasic.php @@ -4,7 +4,7 @@ * ---------- * Author: José Gabriel Moya Yangüela (josemoya@gmail.com) * Copyright: (c) 2010 José Gabriel Moya Yangüela (http://doc.apagada.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/01/30 * * GwBasic language file for GeSHi. diff --git a/inc/geshi/haskell.php b/inc/geshi/haskell.php index ce1b3bf69..adae11168 100644 --- a/inc/geshi/haskell.php +++ b/inc/geshi/haskell.php @@ -4,7 +4,7 @@ * ---------- * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/08/27 * * Haskell language file for GeSHi. @@ -46,8 +46,8 @@ $language_data = array ( 3 => "/{-(?:(?R)|.)-}/s", //Nested Comments ), 'CASE_KEYWORDS' => 0, - 'QUOTEMARKS' => array('"'), - 'ESCAPE_CHAR' => "\\", + 'QUOTEMARKS' => array('"',"'"), + 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( /* main haskell keywords */ 1 => array( @@ -95,7 +95,7 @@ $language_data = array ( 'product', 'concat', 'concatMap', 'maximum', 'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1', 'iterate', 'repeat', 'cycle', 'take', 'drop', - 'splitAt', 'teakWhile', 'dropWhile', 'span', + 'splitAt', 'takeWhile', 'dropWhile', 'span', 'break', 'elem', 'notElem', 'lookup', 'zip', 'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3', 'lines', 'words', 'unlines', diff --git a/inc/geshi/haxe.php b/inc/geshi/haxe.php new file mode 100644 index 000000000..778637e2b --- /dev/null +++ b/inc/geshi/haxe.php @@ -0,0 +1,161 @@ +<?php +/************************************************************************************* + * haxe.php + * -------- + * Author: Andy Li (andy@onthewings.net) + * John Liao (colorhook@gmail.com) + * Copyright: (c) 2012 onthewings (http://www.onthewings.net/) + * 2010 colorhook (http://colorhook.com/) + * Release Version: 1.0.8.11 + * Date Started: 2010/10/05 + * + * Haxe language file for GeSHi. + * Haxe version: 2.10 + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Haxe', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Import and Package directives (Basic Support only) + 2 => '/(?:(?<=import[\\n\\s])|(?<=using[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i', + // Haxe comments + 3 => '#/\*\*(?![\*\/]).*\*/#sU', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + //http://haxe.org/ref/keywords + 'break', 'callback', 'case', 'cast', 'catch', 'class', 'continue', 'default', 'do', 'dynamic', + 'else', 'enum', 'extends', 'extern', /*'false',*/ 'for', 'function', 'here', 'if', + 'implements', 'import', 'in', 'inline', 'interface', 'never', 'new', /*'null',*/ 'override', + 'package', 'private', 'public', 'return', 'static', 'super', 'switch', 'this', 'throw', + 'trace', /*'true',*/ 'try', 'typedef', 'untyped', 'using', 'var', 'while', + 'macro', '$type', + ), + 2 => array( + //primitive values + 'null', 'false', 'true', + ), + 3 => array( + //global types + 'Array', 'ArrayAccess', /*'Bool',*/ 'Class', 'Date', 'DateTools', 'Dynamic', + 'EReg', 'Enum', 'EnumValue', /*'Float',*/ 'Hash', /*'Int',*/ 'IntHash', 'IntIter', + 'Iterable', 'Iterator', 'Lambda', 'List', 'Math', 'Null', 'Reflect', 'Std', + /*'String',*/ 'StringBuf', 'StringTools', 'Sys', 'Type', /*'UInt',*/ 'ValueType', + /*'Void',*/ 'Xml', 'XmlType', + ), + 4 => array( + //primitive types + 'Void', 'Bool', 'Int', 'Float', 'UInt', 'String', + ), + 5 => array( + //compiler switches + "#if", "#elseif", "#else", "#end", "#error", + ), + ), + 'SYMBOLS' => array( + //http://haxe.org/manual/operators + '++', '--', + '%', + '*', '/', + '+', '-', + '<<', '>>', '>>>', + '|', '&', '^', + '==', '!=', '>', '>=', '<', '<=', + '...', + '&&', + '||', + '?', ':', + '=', '+=', '-=', '/=', '*=', '<<=', '>>=', '>>>=', '|=', '&=', '^=', + '(', ')', '[', ']', '{', '}', ';', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #6699cc; font-weight: bold;', + 2 => 'color: #000066; font-weight: bold;', + 3 => 'color: #03F; ', + 4 => 'color: #000033; font-weight: bold;', + 5 => 'color: #330000; font-weight: bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #006699;', + 3 => 'color: #008000; font-style: italic; font-weight: bold;', + 3 => 'color: #008000; font-style: italic; font-weight: bold;', + 'MULTI' => 'color: #666666; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + ), + 'BRACKETS' => array( + 0 => 'color: #000000;', + ), + 'STRINGS' => array( + 0 => 'color: #FF0000;', + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 1 => 'color: #006633;', + 2 => 'color: #006633;', + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;', + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), +); + +?>
\ No newline at end of file diff --git a/inc/geshi/hicest.php b/inc/geshi/hicest.php index 67d8d114a..78a2bc206 100644 --- a/inc/geshi/hicest.php +++ b/inc/geshi/hicest.php @@ -4,7 +4,7 @@ * -------- * Author: Georg Petrich (spt@hicest.com) * Copyright: (c) 2010 Georg Petrich (http://www.HicEst.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/03/15 * * HicEst language file for GeSHi. diff --git a/inc/geshi/hq9plus.php b/inc/geshi/hq9plus.php index 2cce643df..7ba1a73c1 100644 --- a/inc/geshi/hq9plus.php +++ b/inc/geshi/hq9plus.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/31 * * HQ9+ language file for GeSHi. diff --git a/inc/geshi/html4strict.php b/inc/geshi/html4strict.php index 68ba72328..97392fa84 100644 --- a/inc/geshi/html4strict.php +++ b/inc/geshi/html4strict.php @@ -4,7 +4,7 @@ * --------------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * * HTML 4.01 strict language file for GeSHi. @@ -58,7 +58,7 @@ $language_data = array ( 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( 2 => array( - 'a', 'abbr', 'acronym', 'address', 'applet', + 'a', 'abbr', 'acronym', 'address', 'applet', 'area', 'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b', 'caption', 'center', 'cite', 'code', 'colgroup', 'col', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', diff --git a/inc/geshi/html5.php b/inc/geshi/html5.php index 7ffd4a05d..0d9755945 100644 --- a/inc/geshi/html5.php +++ b/inc/geshi/html5.php @@ -4,10 +4,10 @@ * --------------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * - * HTML 4.01 strict language file for GeSHi. + * HTML 5 language file for GeSHi. * * CHANGES * ------- @@ -50,7 +50,7 @@ ************************************************************************************/ $language_data = array ( - 'LANG_NAME' => 'HTML', + 'LANG_NAME' => 'HTML5', 'COMMENT_SINGLE' => array(), 'COMMENT_MULTI' => array(), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, @@ -58,7 +58,7 @@ $language_data = array ( 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( 2 => array( - 'a', 'abbr', 'address', 'article', 'aside', 'audio'. + 'a', 'abbr', 'address', 'article', 'area', 'aside', 'audio', 'base', 'bdo', 'blockquote', 'body', 'br', 'button', 'b', diff --git a/inc/geshi/icon.php b/inc/geshi/icon.php index e68c2f17f..06383ea5d 100644 --- a/inc/geshi/icon.php +++ b/inc/geshi/icon.php @@ -4,7 +4,7 @@ * -------- * Author: Matt Oates (mattoates@gmail.com) * Copyright: (c) 2010 Matt Oates (http://mattoates.co.uk) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/04/24 * * Icon language file for GeSHi. diff --git a/inc/geshi/idl.php b/inc/geshi/idl.php index 84e57f30b..69bd14ff4 100644 --- a/inc/geshi/idl.php +++ b/inc/geshi/idl.php @@ -4,7 +4,7 @@ * ------- * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org) * Copyright: (c) 2006 Cedric Bosdonnat - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/08/20 * * Unoidl language file for GeSHi. diff --git a/inc/geshi/ini.php b/inc/geshi/ini.php index 2ca7feb0b..8e6ca76db 100644 --- a/inc/geshi/ini.php +++ b/inc/geshi/ini.php @@ -4,7 +4,7 @@ * -------- * Author: deguix (cevo_deguix@yahoo.com.br) * Copyright: (c) 2005 deguix - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/03/27 * * INI language file for GeSHi. diff --git a/inc/geshi/inno.php b/inc/geshi/inno.php index b0878e298..1e2ee8bef 100644 --- a/inc/geshi/inno.php +++ b/inc/geshi/inno.php @@ -4,7 +4,7 @@ * ---------- * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from J�rja Norbert (jnorbi@vipmail.hu) * Copyright: (c) 2004 J�rja Norbert, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/07/29 * * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi. diff --git a/inc/geshi/intercal.php b/inc/geshi/intercal.php index 06fd2b41b..3c81b81cc 100644 --- a/inc/geshi/intercal.php +++ b/inc/geshi/intercal.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/31 * * INTERCAL language file for GeSHi. diff --git a/inc/geshi/io.php b/inc/geshi/io.php index 3d6341fee..51fad43a7 100644 --- a/inc/geshi/io.php +++ b/inc/geshi/io.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/09/23 * * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help diff --git a/inc/geshi/j.php b/inc/geshi/j.php index 5d464c922..5565bb499 100644 --- a/inc/geshi/j.php +++ b/inc/geshi/j.php @@ -4,7 +4,7 @@ * -------- * Author: Ric Sherlock (tikkanz@gmail.com) * Copyright: (c) 2009 Ric Sherlock - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/11/10 * * J language file for GeSHi. diff --git a/inc/geshi/java.php b/inc/geshi/java.php index 2f3d9fb96..652b8ddd3 100644 --- a/inc/geshi/java.php +++ b/inc/geshi/java.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * * Java language file for GeSHi. @@ -964,7 +964,7 @@ $language_data = array ( 'URLS' => array( 1 => '', 2 => '', - 3 => 'http://www.google.com/search?hl=en&q=allinurl%3A{FNAMEL}+java.sun.com&btnI=I%27m%20Feeling%20Lucky', + 3 => 'http://www.google.com/search?hl=en&q=allinurl%3Adocs.oracle.com+javase+docs+api+{FNAMEL}', 4 => '' ), 'OOLANG' => true, diff --git a/inc/geshi/java5.php b/inc/geshi/java5.php index 6163995f8..af16bd1e6 100644 --- a/inc/geshi/java5.php +++ b/inc/geshi/java5.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * * Java language file for GeSHi. @@ -850,169 +850,169 @@ $language_data = array ( 2 => '', 3 => '', 4 => '', - 5 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/applet/{FNAME}.html', - 6 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/{FNAME}.html', - 7 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/color/{FNAME}.html', - 8 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/datatransfer/{FNAME}.html', - 9 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/dnd/{FNAME}.html', - 10 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/event/{FNAME}.html', - 11 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/font/{FNAME}.html', - 12 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/geom/{FNAME}.html', - 13 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/im/{FNAME}.html', - 14 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/im/spi/{FNAME}.html', - 15 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/image/{FNAME}.html', - 16 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/image/renderable/{FNAME}.html', - 17 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/print/{FNAME}.html', - 18 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/beans/{FNAME}.html', - 19 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/beans/beancontext/{FNAME}.html', - 20 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/{FNAME}.html', - 21 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/{FNAME}.html', - 22 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/annotation/{FNAME}.html', - 23 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/instrument/{FNAME}.html', - 24 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/management/{FNAME}.html', - 25 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/ref/{FNAME}.html', - 26 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/reflect/{FNAME}.html', - 27 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/math/{FNAME}.html', - 28 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/net/{FNAME}.html', - 29 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/{FNAME}.html', - 30 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/{FNAME}.html', - 31 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/spi/{FNAME}.html', - 32 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/charset/{FNAME}.html', - 33 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/charset/spi/{FNAME}.html', - 34 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/{FNAME}.html', - 35 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/activation/{FNAME}.html', - 36 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/dgc/{FNAME}.html', - 37 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/registry/{FNAME}.html', - 38 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/server/{FNAME}.html', - 39 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/{FNAME}.html', - 40 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/acl/{FNAME}.html', - 41 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/cert/{FNAME}.html', - 42 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/interfaces/{FNAME}.html', - 43 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/spec/{FNAME}.html', - 44 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/sql/{FNAME}.html', - 45 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/text/{FNAME}.html', - 46 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/{FNAME}.html', - 47 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/{FNAME}.html', - 48 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/atomic/{FNAME}.html', - 49 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/locks/{FNAME}.html', - 50 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/jar/{FNAME}.html', - 51 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/logging/{FNAME}.html', - 52 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/prefs/{FNAME}.html', - 53 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/regex/{FNAME}.html', - 54 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/zip/{FNAME}.html', - 55 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/accessibility/{FNAME}.html', - 56 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/activity/{FNAME}.html', - 57 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/{FNAME}.html', - 58 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/interfaces/{FNAME}.html', - 59 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/spec/{FNAME}.html', - 60 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/{FNAME}.html', - 61 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/event/{FNAME}.html', - 62 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/metadata/{FNAME}.html', - 63 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html', - 64 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html', - 65 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/spi/{FNAME}.html', - 66 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/stream/{FNAME}.html', - 67 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/{FNAME}.html', - 68 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/loading/{FNAME}.html', - 69 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/modelmbean/{FNAME}.html', - 70 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/monitor/{FNAME}.html', - 71 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/openmbean/{FNAME}.html', - 72 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/relation/{FNAME}.html', - 73 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/remote/{FNAME}.html', - 74 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/remote/rmi/{FNAME}.html', - 75 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/timer/{FNAME}.html', - 76 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/{FNAME}.html', - 77 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/directory/{FNAME}.html', - 78 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/event/{FNAME}.html', - 79 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/ldap/{FNAME}.html', - 80 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/spi/{FNAME}.html', - 81 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/net/{FNAME}.html', - 82 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/net/ssl/{FNAME}.html', - 83 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/{FNAME}.html', - 84 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/attribute/{FNAME}.html', - 85 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/attribute/standard/{FNAME}.html', - 86 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/event/{FNAME}.html', - 87 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/{FNAME}.html', - 88 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/CORBA/{FNAME}.html', - 89 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/ssl/{FNAME}.html', - 90 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/{FNAME}.html', - 91 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/callback/{FNAME}.html', - 92 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/kerberos/{FNAME}.html', - 93 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/login/{FNAME}.html', - 94 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/spi/{FNAME}.html', - 95 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/x500/{FNAME}.html', - 96 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/sasl/{FNAME}.html', - 97 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/midi/{FNAME}.html', - 98 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/midi/spi/{FNAME}.html', - 99 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/sampled/{FNAME}.html', - 100 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/sampled/spi/{FNAME}.html', - 101 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/{FNAME}.html', - 102 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/{FNAME}.html', - 103 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/serial/{FNAME}.html', - 104 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/spi/{FNAME}.html', - 105 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/{FNAME}.html', - 106 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/border/{FNAME}.html', - 107 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/colorchooser/{FNAME}.html', - 108 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/event/{FNAME}.html', - 109 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/filechooser/{FNAME}.html', - 110 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/{FNAME}.html', - 111 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/basic/{FNAME}.html', - 112 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/metal/{FNAME}.html', - 113 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/multi/{FNAME}.html', - 114 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/synth/{FNAME}.html', - 115 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/table/{FNAME}.html', - 116 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/{FNAME}.html', - 117 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/html/{FNAME}.html', - 118 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/html/parser/{FNAME}.html', - 119 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/rtf/{FNAME}.html', - 120 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/tree/{FNAME}.html', - 121 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/undo/{FNAME}.html', - 122 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/transaction/{FNAME}.html', - 123 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/transaction/xa/{FNAME}.html', - 124 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/{FNAME}.html', - 125 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/datatype/{FNAME}.html', - 126 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/namespace/{FNAME}.html', - 127 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/parsers/{FNAME}.html', - 128 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/{FNAME}.html', - 129 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/dom/{FNAME}.html', - 130 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/sax/{FNAME}.html', - 131 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/stream/{FNAME}.html', - 132 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/validation/{FNAME}.html', - 133 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/xpath/{FNAME}.html', - 134 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/ietf/jgss/{FNAME}.html', - 135 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/{FNAME}.html', - 136 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html', - 137 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html', - 138 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/portable/{FNAME}.html', - 139 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/{FNAME}.html', - 140 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html', - 141 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html', - 142 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/Dynamic/{FNAME}.html', - 143 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/{FNAME}.html', - 144 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html', - 145 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html', - 146 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/{FNAME}.html', - 147 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html', - 148 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html', - 149 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/Messaging/{FNAME}.html', - 150 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableInterceptor/{FNAME}.html', - 151 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html', - 152 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/{FNAME}.html', - 153 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html', - 154 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html', - 155 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html', - 156 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html', - 157 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/SendingContext/{FNAME}.html', - 158 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/stub/java/rmi/{FNAME}.html', - 159 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/{FNAME}.html', - 160 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html', - 161 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/events/{FNAME}.html', - 162 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/ls/{FNAME}.html', - 163 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/{FNAME}.html', - 164 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/ext/{FNAME}.html', - 165 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/helpers/{FNAME}.html', + 5 => 'http://docs.oracle.com/javase/7/docs/api/java/applet/{FNAME}.html', + 6 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/{FNAME}.html', + 7 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/color/{FNAME}.html', + 8 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/datatransfer/{FNAME}.html', + 9 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/dnd/{FNAME}.html', + 10 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/event/{FNAME}.html', + 11 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/font/{FNAME}.html', + 12 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/geom/{FNAME}.html', + 13 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/im/{FNAME}.html', + 14 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/im/spi/{FNAME}.html', + 15 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/image/{FNAME}.html', + 16 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/image/renderable/{FNAME}.html', + 17 => 'http://docs.oracle.com/javase/7/docs/api/java/awt/print/{FNAME}.html', + 18 => 'http://docs.oracle.com/javase/7/docs/api/java/beans/{FNAME}.html', + 19 => 'http://docs.oracle.com/javase/7/docs/api/java/beans/beancontext/{FNAME}.html', + 20 => 'http://docs.oracle.com/javase/7/docs/api/java/io/{FNAME}.html', + 21 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/{FNAME}.html', + 22 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/{FNAME}.html', + 23 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/{FNAME}.html', + 24 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/management/{FNAME}.html', + 25 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/ref/{FNAME}.html', + 26 => 'http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/{FNAME}.html', + 27 => 'http://docs.oracle.com/javase/7/docs/api/java/math/{FNAME}.html', + 28 => 'http://docs.oracle.com/javase/7/docs/api/java/net/{FNAME}.html', + 29 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/{FNAME}.html', + 30 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/channels/{FNAME}.html', + 31 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/{FNAME}.html', + 32 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/charset/{FNAME}.html', + 33 => 'http://docs.oracle.com/javase/7/docs/api/java/nio/charset/spi/{FNAME}.html', + 34 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/{FNAME}.html', + 35 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/activation/{FNAME}.html', + 36 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/dgc/{FNAME}.html', + 37 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/registry/{FNAME}.html', + 38 => 'http://docs.oracle.com/javase/7/docs/api/java/rmi/server/{FNAME}.html', + 39 => 'http://docs.oracle.com/javase/7/docs/api/java/security/{FNAME}.html', + 40 => 'http://docs.oracle.com/javase/7/docs/api/java/security/acl/{FNAME}.html', + 41 => 'http://docs.oracle.com/javase/7/docs/api/java/security/cert/{FNAME}.html', + 42 => 'http://docs.oracle.com/javase/7/docs/api/java/security/interfaces/{FNAME}.html', + 43 => 'http://docs.oracle.com/javase/7/docs/api/java/security/spec/{FNAME}.html', + 44 => 'http://docs.oracle.com/javase/7/docs/api/java/sql/{FNAME}.html', + 45 => 'http://docs.oracle.com/javase/7/docs/api/java/text/{FNAME}.html', + 46 => 'http://docs.oracle.com/javase/7/docs/api/java/util/{FNAME}.html', + 47 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/{FNAME}.html', + 48 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/{FNAME}.html', + 49 => 'http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/{FNAME}.html', + 50 => 'http://docs.oracle.com/javase/7/docs/api/java/util/jar/{FNAME}.html', + 51 => 'http://docs.oracle.com/javase/7/docs/api/java/util/logging/{FNAME}.html', + 52 => 'http://docs.oracle.com/javase/7/docs/api/java/util/prefs/{FNAME}.html', + 53 => 'http://docs.oracle.com/javase/7/docs/api/java/util/regex/{FNAME}.html', + 54 => 'http://docs.oracle.com/javase/7/docs/api/java/util/zip/{FNAME}.html', + 55 => 'http://docs.oracle.com/javase/7/docs/api/javax/accessibility/{FNAME}.html', + 56 => 'http://docs.oracle.com/javase/7/docs/api/javax/activity/{FNAME}.html', + 57 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/{FNAME}.html', + 58 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/interfaces/{FNAME}.html', + 59 => 'http://docs.oracle.com/javase/7/docs/api/javax/crypto/spec/{FNAME}.html', + 60 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/{FNAME}.html', + 61 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/event/{FNAME}.html', + 62 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/metadata/{FNAME}.html', + 63 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/plugins/bmp/{FNAME}.html', + 64 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html', + 65 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/spi/{FNAME}.html', + 66 => 'http://docs.oracle.com/javase/7/docs/api/javax/imageio/stream/{FNAME}.html', + 67 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/{FNAME}.html', + 68 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/loading/{FNAME}.html', + 69 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/modelmbean/{FNAME}.html', + 70 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/monitor/{FNAME}.html', + 71 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/openmbean/{FNAME}.html', + 72 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/relation/{FNAME}.html', + 73 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/remote/{FNAME}.html', + 74 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/remote/rmi/{FNAME}.html', + 75 => 'http://docs.oracle.com/javase/7/docs/api/javax/management/timer/{FNAME}.html', + 76 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/{FNAME}.html', + 77 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/directory/{FNAME}.html', + 78 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/event/{FNAME}.html', + 79 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/ldap/{FNAME}.html', + 80 => 'http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/{FNAME}.html', + 81 => 'http://docs.oracle.com/javase/7/docs/api/javax/net/{FNAME}.html', + 82 => 'http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/{FNAME}.html', + 83 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/{FNAME}.html', + 84 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/attribute/{FNAME}.html', + 85 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/attribute/standard/{FNAME}.html', + 86 => 'http://docs.oracle.com/javase/7/docs/api/javax/print/event/{FNAME}.html', + 87 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/{FNAME}.html', + 88 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/CORBA/{FNAME}.html', + 89 => 'http://docs.oracle.com/javase/7/docs/api/javax/rmi/ssl/{FNAME}.html', + 90 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/{FNAME}.html', + 91 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/callback/{FNAME}.html', + 92 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/kerberos/{FNAME}.html', + 93 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/{FNAME}.html', + 94 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/spi/{FNAME}.html', + 95 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/auth/x500/{FNAME}.html', + 96 => 'http://docs.oracle.com/javase/7/docs/api/javax/security/sasl/{FNAME}.html', + 97 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/{FNAME}.html', + 98 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/midi/spi/{FNAME}.html', + 99 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/{FNAME}.html', + 100 => 'http://docs.oracle.com/javase/7/docs/api/javax/sound/sampled/spi/{FNAME}.html', + 101 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/{FNAME}.html', + 102 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/{FNAME}.html', + 103 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/serial/{FNAME}.html', + 104 => 'http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/spi/{FNAME}.html', + 105 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/{FNAME}.html', + 106 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/border/{FNAME}.html', + 107 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/colorchooser/{FNAME}.html', + 108 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/event/{FNAME}.html', + 109 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/filechooser/{FNAME}.html', + 110 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/{FNAME}.html', + 111 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/basic/{FNAME}.html', + 112 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/metal/{FNAME}.html', + 113 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/multi/{FNAME}.html', + 114 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/synth/{FNAME}.html', + 115 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/table/{FNAME}.html', + 116 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/{FNAME}.html', + 117 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/{FNAME}.html', + 118 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/html/parser/{FNAME}.html', + 119 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/text/rtf/{FNAME}.html', + 120 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/tree/{FNAME}.html', + 121 => 'http://docs.oracle.com/javase/7/docs/api/javax/swing/undo/{FNAME}.html', + 122 => 'http://docs.oracle.com/javase/7/docs/api/javax/transaction/{FNAME}.html', + 123 => 'http://docs.oracle.com/javase/7/docs/api/javax/transaction/xa/{FNAME}.html', + 124 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/{FNAME}.html', + 125 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/datatype/{FNAME}.html', + 126 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/{FNAME}.html', + 127 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/parsers/{FNAME}.html', + 128 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/{FNAME}.html', + 129 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/dom/{FNAME}.html', + 130 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/sax/{FNAME}.html', + 131 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/stream/{FNAME}.html', + 132 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/validation/{FNAME}.html', + 133 => 'http://docs.oracle.com/javase/7/docs/api/javax/xml/xpath/{FNAME}.html', + 134 => 'http://docs.oracle.com/javase/7/docs/api/org/ietf/jgss/{FNAME}.html', + 135 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/{FNAME}.html', + 136 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html', + 137 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html', + 138 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CORBA/portable/{FNAME}.html', + 139 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/{FNAME}.html', + 140 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html', + 141 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html', + 142 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/Dynamic/{FNAME}.html', + 143 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/{FNAME}.html', + 144 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html', + 145 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html', + 146 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/{FNAME}.html', + 147 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html', + 148 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html', + 149 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/Messaging/{FNAME}.html', + 150 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableInterceptor/{FNAME}.html', + 151 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html', + 152 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/{FNAME}.html', + 153 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html', + 154 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html', + 155 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html', + 156 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html', + 157 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/SendingContext/{FNAME}.html', + 158 => 'http://docs.oracle.com/javase/7/docs/api/org/omg/stub/java/rmi/{FNAME}.html', + 159 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/{FNAME}.html', + 160 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/bootstrap/{FNAME}.html', + 161 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/events/{FNAME}.html', + 162 => 'http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/ls/{FNAME}.html', + 163 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/{FNAME}.html', + 164 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/ext/{FNAME}.html', + 165 => 'http://docs.oracle.com/javase/7/docs/api/org/xml/sax/helpers/{FNAME}.html', /* ambiguous class names (appear in more than one package) */ - 166 => 'http://www.google.com/search?sitesearch=java.sun.com&q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}' + 166 => 'http://www.google.com/search?sitesearch=docs.oracle.com&q=allinurl%3Ajavase+docs+api+{FNAME}' ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( @@ -1034,4 +1034,4 @@ $language_data = array ( ) ); -?>
\ No newline at end of file +?> diff --git a/inc/geshi/javascript.php b/inc/geshi/javascript.php index 93997a70c..b96d1b5b6 100644 --- a/inc/geshi/javascript.php +++ b/inc/geshi/javascript.php @@ -4,13 +4,15 @@ * -------------- * Author: Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/20 * * JavaScript language file for GeSHi. * * CHANGES * ------- + * 2012/06/27 (1.0.8.11) + * - Reordered Keyword Groups to reflect syntactical meaning of keywords * 2008/05/23 (1.0.7.22) * - Added description of extra language features (SF#1970248) * 2004/11/27 (1.0.1) @@ -54,23 +56,38 @@ $language_data = array ( 'ESCAPE_CHAR' => '\\', 'KEYWORDS' => array( 1 => array( - 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do', - 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item', - 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void', - 'while', 'write', 'with' + //reserved/keywords; also some non-reserved keywords + 'break','case','catch','const','continue', + 'default','delete','do', + 'else', + 'finally','for','function', + 'get','goto', + 'if','in','instanceof', + 'new', + 'prototype', + 'return', + 'set','static','switch', + 'this','throw','try','typeof', + 'var','void' ), 2 => array( - 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false', - 'function', 'import', 'namespace', 'new', 'null', 'package', 'private', - 'protected', 'public', 'super', 'true', 'use', 'var' + //reserved/non-keywords; metaconstants + 'false','null','true','undefined','NaN','Infinity' ), 3 => array( - // common functions for Window object - 'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home', - 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove', - 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status', - 'stop', - ) + //magic properties/functions + '__proto__','__defineGetter__','__defineSetter__','hasOwnProperty','hasProperty' + ), + 4 => array( + //type constructors + 'Object', 'Function', 'Date', 'Math', 'String', 'Number', 'Boolean', 'Array' + ), + 5 => array( + //reserved, but invalid in language + 'abstract','boolean','byte','char','class','debugger','double','enum','export','extends', + 'final','float','implements','import','int','interface','long','native', + 'short','super','synchronized','throws','transient','volatile' + ), ), 'SYMBOLS' => array( '(', ')', '[', ']', '{', '}', @@ -81,15 +98,18 @@ $language_data = array ( ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, - 1 => false, - 2 => false, - 3 => false + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #000066; font-weight: bold;', 2 => 'color: #003366; font-weight: bold;', - 3 => 'color: #000066;' + 3 => 'color: #000066;', + 5 => 'color: #FF0000;' ), 'COMMENTS' => array( 1 => 'color: #006600; font-style: italic;', @@ -126,8 +146,10 @@ $language_data = array ( 'URLS' => array( 1 => '', 2 => '', - 3 => '' - ), + 3 => '', + 4 => '', + 5 => '' + ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( 1 => '.' diff --git a/inc/geshi/jquery.php b/inc/geshi/jquery.php index 9374ec1ca..a75320d5c 100644 --- a/inc/geshi/jquery.php +++ b/inc/geshi/jquery.php @@ -4,7 +4,7 @@ * -------------- * Author: Rob Loach (http://www.robloach.net) * Copyright: (c) 2009 Rob Loach (http://www.robloach.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/07/20 * * jQuery 1.3 language file for GeSHi. diff --git a/inc/geshi/kixtart.php b/inc/geshi/kixtart.php index f3f29e2e3..5b9091989 100644 --- a/inc/geshi/kixtart.php +++ b/inc/geshi/kixtart.php @@ -4,7 +4,7 @@ * -------- * Author: Riley McArdle (riley@glyff.net) * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/08/31 * * PHP language file for GeSHi. diff --git a/inc/geshi/klonec.php b/inc/geshi/klonec.php index 553763d61..5f86e78dc 100644 --- a/inc/geshi/klonec.php +++ b/inc/geshi/klonec.php @@ -4,7 +4,7 @@ * -------- * Author: AUGER Mickael * Copyright: Synchronic - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/04/16 * * KLone with C language file for GeSHi. diff --git a/inc/geshi/klonecpp.php b/inc/geshi/klonecpp.php index 6fe0df1ef..6564c6b7b 100644 --- a/inc/geshi/klonecpp.php +++ b/inc/geshi/klonecpp.php @@ -4,7 +4,7 @@ * -------- * Author: AUGER Mickael * Copyright: Synchronic - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/04/16 * * KLone with C++ language file for GeSHi. diff --git a/inc/geshi/latex.php b/inc/geshi/latex.php index 91c034236..386a0b989 100644 --- a/inc/geshi/latex.php +++ b/inc/geshi/latex.php @@ -4,7 +4,7 @@ * ----- * Author: efi, Matthias Pospiech (matthias@pospiech.eu) * Copyright: (c) 2006 efi, Matthias Pospiech (matthias@pospiech.eu), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/09/23 * * LaTeX language file for GeSHi. @@ -67,7 +67,7 @@ $language_data = array ( 'colorbox','date','dedication','def','definecolor','documentclass', 'edef','else','email','emph','eqref','extratitle','fbox','fi', 'flushleft','flushright','footnote','frac','frontmatter', - 'graphicspath','hfill','hline','hspace','huge','ifx','include', + 'graphicspath','hfil','hfill','hfilll','hline','hspace','huge','ifx','include', 'includegraphics','infty','input','int','item','itemsep', 'KOMAoption','KOMAoptions','label','LaTeX','left','let','limits', 'listfiles','listoffigures','listoftables','lowertitleback', @@ -81,7 +81,7 @@ $language_data = array ( 'table','tableofcontents','textbf','textcolor','textit', 'textnormal','textsuperscript','texttt','textwidth','thanks','title', 'titlehead','today','ttfamily','uppertitleback','urlstyle', - 'usepackage','vspace' + 'usepackage','vfil','vfill','vfilll','vspace' ) ), 'SYMBOLS' => array( diff --git a/inc/geshi/lb.php b/inc/geshi/lb.php index 390fe19a9..6c2882894 100644 --- a/inc/geshi/lb.php +++ b/inc/geshi/lb.php @@ -4,7 +4,7 @@ * -------- * Author: Chris Iverson (cj.no.one@gmail.com) * Copyright: (c) 2010 Chris Iverson - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/07/18 * * Liberty BASIC language file for GeSHi. diff --git a/inc/geshi/ldif.php b/inc/geshi/ldif.php new file mode 100644 index 000000000..424818380 --- /dev/null +++ b/inc/geshi/ldif.php @@ -0,0 +1,116 @@ +<?php +/************************************************************************************* + * ldif.php + * -------- + * Author: Bruno Harbulot (Bruno.Harbulot@manchester.ac.uk) + * Copyright: (c) 2005 deguix, (c) 2010 Bruno Harbulot + * Release Version: 1.0.8.11 + * Date Started: 2010/03/01 + * + * LDIF language file for GeSHi. + * + * CHANGES + * ------- + * 2010/03/01 (1.0.8.11) + * - First Release + * - Derived from ini.php (INI language), (c) 2005 deguix + * + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'LDIF', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + ), + 'SYMBOLS' => array( + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => '' + ), + 'BRACKETS' => array( + 0 => '' + ), + 'STRINGS' => array( + 0 => 'color: #933;' + ), + 'NUMBERS' => array( + 0 => '' + ), + 'METHODS' => array( + 0 => '' + ), + 'SYMBOLS' => array( + ), + 'REGEXPS' => array( + 0 => 'color: #000066; font-weight: bold;', + 1 => 'color: #FF0000;' + ), + 'SCRIPT' => array( + 0 => '' + ) + ), + 'URLS' => array( + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 0 => array( + GESHI_SEARCH => '([a-zA-Z0-9_]+):(.+)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => ':\\2' + ), + 1 => array( + // Evil hackery to get around GeSHi bug: <>" and ; are added so <span>s can be matched + // Explicit match on variable names because if a comment is before the first < of the span + // gets chewed up... + GESHI_SEARCH => '([<>";a-zA-Z0-9_]+):(.+)', + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1:', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/lisp.php b/inc/geshi/lisp.php index 82aa7f69b..be823a405 100644 --- a/inc/geshi/lisp.php +++ b/inc/geshi/lisp.php @@ -4,7 +4,7 @@ * -------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * Generic Lisp language file for GeSHi. diff --git a/inc/geshi/llvm.php b/inc/geshi/llvm.php index f58be2da8..580099b52 100644 --- a/inc/geshi/llvm.php +++ b/inc/geshi/llvm.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org), Azriel Fasten (azriel.fasten@gmail.com) * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/), Azriel Fasten (azriel.fasten@gmail.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/10/14 * * LLVM language file for GeSHi. diff --git a/inc/geshi/locobasic.php b/inc/geshi/locobasic.php index 55aacc263..61c8a3c83 100644 --- a/inc/geshi/locobasic.php +++ b/inc/geshi/locobasic.php @@ -4,7 +4,7 @@ * ------------- * Author: Nacho Cabanes * Copyright: (c) 2009 Nacho Cabanes (http://www.nachocabanes.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/03/22 * * Locomotive Basic (Amstrad CPC series) language file for GeSHi. diff --git a/inc/geshi/logtalk.php b/inc/geshi/logtalk.php index b4eba764c..05734663e 100644 --- a/inc/geshi/logtalk.php +++ b/inc/geshi/logtalk.php @@ -5,7 +5,7 @@ * * Author: Paulo Moura (pmoura@logtalk.org) * Copyright: (c) 2009-2011 Paulo Moura (http://logtalk.org/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/24 * * Logtalk language file for GeSHi. diff --git a/inc/geshi/lolcode.php b/inc/geshi/lolcode.php index bcbad11c6..ab6088b18 100644 --- a/inc/geshi/lolcode.php +++ b/inc/geshi/lolcode.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/31 * * LOLcode language file for GeSHi. diff --git a/inc/geshi/lotusformulas.php b/inc/geshi/lotusformulas.php index 5b755e55a..12257d748 100644 --- a/inc/geshi/lotusformulas.php +++ b/inc/geshi/lotusformulas.php @@ -4,7 +4,7 @@ * ------------------------ * Author: Richard Civil (info@richardcivil.net) * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/04/12 * * @Formula/@Command language file for GeSHi. diff --git a/inc/geshi/lotusscript.php b/inc/geshi/lotusscript.php index c2b2f45f5..b8b65f206 100644 --- a/inc/geshi/lotusscript.php +++ b/inc/geshi/lotusscript.php @@ -4,7 +4,7 @@ * ------------------------ * Author: Richard Civil (info@richardcivil.net) * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/04/12 * * LotusScript language file for GeSHi. diff --git a/inc/geshi/lscript.php b/inc/geshi/lscript.php index 51852414b..298af618c 100644 --- a/inc/geshi/lscript.php +++ b/inc/geshi/lscript.php @@ -4,7 +4,7 @@ * --------- * Author: Arendedwinter (admin@arendedwinter.com) * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 15/11/2008 * * Lightwave Script language file for GeSHi. diff --git a/inc/geshi/lsl2.php b/inc/geshi/lsl2.php index 828e2b91c..f80cf4f29 100644 --- a/inc/geshi/lsl2.php +++ b/inc/geshi/lsl2.php @@ -4,7 +4,7 @@ * -------- * Author: William Fry (william.fry@nyu.edu) * Copyright: (c) 2009 William Fry - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/02/04 * * Linden Scripting Language (LSL2) language file for GeSHi. diff --git a/inc/geshi/lua.php b/inc/geshi/lua.php index 2ec6c0b88..8a09ba20e 100644 --- a/inc/geshi/lua.php +++ b/inc/geshi/lua.php @@ -4,7 +4,7 @@ * ------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * * LUA language file for GeSHi. @@ -46,7 +46,7 @@ $language_data = array ( 'LANG_NAME' => 'Lua', 'COMMENT_SINGLE' => array(1 => "--"), 'COMMENT_MULTI' => array('--[[' => ']]'), - 'COMMENT_REGEXP' => array(2 => "/\[(=*)\[.*?\]\1\]/s"), + 'COMMENT_REGEXP' => array(2 => '/\[(=*)\[.*?\]\1\]/s'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', @@ -174,4 +174,4 @@ $language_data = array ( ) ); -?>
\ No newline at end of file +?> diff --git a/inc/geshi/m68k.php b/inc/geshi/m68k.php index 081578158..98321577b 100644 --- a/inc/geshi/m68k.php +++ b/inc/geshi/m68k.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/02/06 * * Motorola 68000 Assembler language file for GeSHi. diff --git a/inc/geshi/magiksf.php b/inc/geshi/magiksf.php index b6f431ea8..612e1603e 100644 --- a/inc/geshi/magiksf.php +++ b/inc/geshi/magiksf.php @@ -4,7 +4,7 @@ * -------- * Author: Sjoerd van Leent (svanleent@gmail.com) * Copyright: (c) 2010 Sjoerd van Leent - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/02/15 * * MagikSF language file for GeSHi. diff --git a/inc/geshi/make.php b/inc/geshi/make.php index 2d5d73425..885fa1765 100644 --- a/inc/geshi/make.php +++ b/inc/geshi/make.php @@ -4,7 +4,7 @@ * -------- * Author: Neil Bird <phoenix@fnxweb.com> * Copyright: (c) 2008 Neil Bird - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/08/26 * * make language file for GeSHi. diff --git a/inc/geshi/mapbasic.php b/inc/geshi/mapbasic.php index 7d365263d..8859c4831 100644 --- a/inc/geshi/mapbasic.php +++ b/inc/geshi/mapbasic.php @@ -4,7 +4,7 @@ * ------ * Author: Tomasz Berus (t.berus@gisodkuchni.pl) * Copyright: (c) 2009 Tomasz Berus (http://sourceforge.net/projects/mbsyntax/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/11/25 * * MapBasic language file for GeSHi. diff --git a/inc/geshi/matlab.php b/inc/geshi/matlab.php index 5c64a0d49..7cdd50e5e 100644 --- a/inc/geshi/matlab.php +++ b/inc/geshi/matlab.php @@ -4,7 +4,7 @@ * ----------- * Author: Florian Knorn (floz@gmx.de) * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/02/09 * * Matlab M-file language file for GeSHi. diff --git a/inc/geshi/mirc.php b/inc/geshi/mirc.php index e9e0346e6..fa2f307ee 100644 --- a/inc/geshi/mirc.php +++ b/inc/geshi/mirc.php @@ -4,7 +4,7 @@ * ----- * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com) * Copyright: (c) 2006 Alberto de Areba - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/05/29 * * mIRC Scripting language file for GeSHi. diff --git a/inc/geshi/mmix.php b/inc/geshi/mmix.php index 8e57ad7b9..60b6e28ce 100644 --- a/inc/geshi/mmix.php +++ b/inc/geshi/mmix.php @@ -4,7 +4,7 @@ * ------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/16 * * MMIX Assembler language file for GeSHi. @@ -41,13 +41,21 @@ $language_data = array ( 'LANG_NAME' => 'MMIX', - 'COMMENT_SINGLE' => array(1 => ';'), + 'COMMENT_SINGLE' => array(1 => ';', 2 => '%'), 'COMMENT_MULTI' => array(), //Line address prefix suppression - 'COMMENT_REGEXP' => array(2 => "/^\s*[0-9a-f]{12,16}+(?:\s+[0-9a-f]+(?:\.{3}[0-9a-f]{2,})?)?:/mi"), + 'COMMENT_REGEXP' => array( + 3 => "/^\s*(?!\s)[^\w].*$/m", + 4 => "/^\s*[0-9a-f]{12,16}+(?:\s+[0-9a-f]+(?:\.{3}[0-9a-f]{2,})?)?:/mi" + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', + 'NUMBERS' => array( + 1 => '(?<![\d\$#\w])[\da-fA-F]+(?!\w)', + 2 => '#[\da-fA-F]+', + 3 => '\$\d+' + ), 'KEYWORDS' => array( /*CPU*/ 1 => array( @@ -57,54 +65,61 @@ $language_data = array ( 'CSP','CSWAP','CSZ','DIV','DIVU','FADD','FCMP','FCMPE','FDIV', 'FEQL','FEQLE','FINT','FIX','FIXU','FLOT','FLOTU','FMUL','FREM', 'FSQRT','FSUB','FUN','FUNE','GET','GETA','GO','INCH','INCL','INCMH', - 'INCML','JMP','LDB','LDBU','LDHT','LDO','LDOU','LDSF','LDT','LDTU', - 'LDUNC','LDVTS','LDW','LDWU','MOR','MUL','MULU','MUX','MXOR','NAND', - 'NEG','NEGU','NOR','NXOR','ODIF','OR','ORH','ORL','ORMH','ORML', - 'ORN','PBEV','PBN','PBNN','PBNP','PBNZ','PBOD','PBP','PBZ','POP', - 'PREGO','PRELD','PREST','PUSHGO','PUSHJ','PUT','RESUME','SADD', + 'INCML','JMP','LDA','LDB','LDBU','LDHT','LDO','LDOU','LDSF','LDT', + 'LDTU','LDUNC','LDVTS','LDW','LDWU','MOR','MUL','MULU','MUX','MXOR', + 'NAND','NEG','NEGU','NOR','NXOR','ODIF','OR','ORH','ORL','ORMH', + 'ORML','ORN','PBEV','PBN','PBNN','PBNP','PBNZ','PBOD','PBP','PBZ', + 'POP','PREGO','PRELD','PREST','PUSHGO','PUSHJ','PUT','RESUME','SADD', 'SAVE','SETH','SETL','SETMH','SETML','SFLOT','SFLOTU','SL','SLU', 'SR','SRU','STB','STBU','STCO','STHT','STO','STOU','STSF','STT', 'STTU','STUNC','STW','STWU','SUB','SUBU','SWYM','SYNC','SYNCD', 'SYNCID','TDIF','TRAP','TRIP','UNSAVE','WDIF','XOR','ZSEV','ZSN', 'ZSNN','ZSNP','ZSNZ','ZSOD','ZSP','ZSZ' ), + 2 => array( + 'BSPEC','BYTE','ESPEC','GREG','IS','LOC','LOCAL','OCTA', + 'PREFIX','SET','TETRA','WYDE' + ), /*registers*/ 3 => array( 'rA','rB','rC','rD','rE','rF','rG','rH','rI','rJ','rK','rL','rM', 'rN','rO','rP','rQ','rR','rS','rT','rU','rV','rW','rX','rY','rZ', 'rBB','rTT','rWW','rXX','rYY','rZZ' ), - /*Directive*/ - 4 => array( - ), - /*Operands*/ - 5 => array( - ) +// /*Directive*/ +// 4 => array( +// ), +// /*Operands*/ +// 5 => array( +// ) ), 'SYMBOLS' => array( '[', ']', '(', ')', '+', '-', '*', '/', '%', - '.', ',', ';', ':' + '.', ',', ';', ':', + '<<','>>' ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, 1 => true, 2 => false, 3 => true, - 4 => false, - 5 => false +// 4 => false, +// 5 => false ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #00007f; font-weight: bold;', 2 => 'color: #0000ff; font-weight: bold;', 3 => 'color: #00007f;', - 4 => 'color: #000000; font-weight: bold;', - 5 => 'color: #000000; font-weight: bold;' +// 4 => 'color: #000000; font-weight: bold;', +// 5 => 'color: #000000; font-weight: bold;' ), 'COMMENTS' => array( 1 => 'color: #666666; font-style: italic;', - 2 => 'color: #adadad; font-style: italic;', + 2 => 'color: #666666; font-style: italic;', + 3 => 'color: #666666; font-style: italic;', + 4 => 'color: #adadad; font-style: italic;', ), 'ESCAPE_CHAR' => array( 0 => 'color: #000099; font-weight: bold;' @@ -116,7 +131,10 @@ $language_data = array ( 0 => 'color: #7f007f;' ), 'NUMBERS' => array( - 0 => 'color: #0000ff;' + 0 => 'color: #0000ff;', + 1 => 'color: #0000ff;', + 2 => 'color: #0000ff;', + 3 => 'color: #00007f;' ), 'METHODS' => array( ), @@ -134,9 +152,10 @@ $language_data = array ( 1 => '', 2 => '', 3 => '', - 4 => '', - 5 => '' +// 4 => '', +// 5 => '' ), +/* 'NUMBERS' => GESHI_NUMBER_BIN_PREFIX_PERCENT | GESHI_NUMBER_BIN_SUFFIX | @@ -147,6 +166,7 @@ $language_data = array ( GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_ZERO, +*/ 'OOLANG' => false, 'OBJECT_SPLITTERS' => array( ), diff --git a/inc/geshi/modula2.php b/inc/geshi/modula2.php index 131543baa..18508340b 100644 --- a/inc/geshi/modula2.php +++ b/inc/geshi/modula2.php @@ -4,7 +4,7 @@ * ----------- * Author: Benjamin Kowarsch (benjamin@modula2.net) * Copyright: (c) 2009 Benjamin Kowarsch (benjamin@modula2.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/11/05 * * Modula-2 language file for GeSHi. diff --git a/inc/geshi/modula3.php b/inc/geshi/modula3.php index 21b2e255d..ae08dcf97 100644 --- a/inc/geshi/modula3.php +++ b/inc/geshi/modula3.php @@ -4,7 +4,7 @@ * ---------- * Author: mbishop (mbishop@esoteriq.org) * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/01/21 * * Modula-3 language file for GeSHi. @@ -50,7 +50,7 @@ $language_data = array ( 'CONST', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EVAL', 'EXCEPT', 'EXCEPTION', 'EXIT', 'EXPORTS', 'FINALLY', 'FOR', 'FROM', 'GENERIC', 'IF', 'IMPORT', 'IN', 'INTERFACE', 'LOCK', 'LOOP', 'METHODS', 'MOD', 'MODULE', 'NOT', 'OBJECT', 'OF', - 'OR', 'OVERRIDE', 'PROCEDURE', 'RAISE', 'RAISES', 'READONLY', 'RECORD', 'REF', + 'OR', 'OVERRIDES', 'PROCEDURE', 'RAISE', 'RAISES', 'READONLY', 'RECORD', 'REF', 'REPEAT', 'RETURN', 'REVEAL', 'ROOT', 'SET', 'THEN', 'TO', 'TRY', 'TYPE', 'TYPECASE', 'UNSAFE', 'UNTIL', 'UNTRACED', 'VALUE', 'VAR', 'WHILE', 'WITH' ), diff --git a/inc/geshi/mpasm.php b/inc/geshi/mpasm.php index 70f12de48..f724a9414 100644 --- a/inc/geshi/mpasm.php +++ b/inc/geshi/mpasm.php @@ -4,7 +4,7 @@ * --------- * Author: Bakalex (bakalex@gmail.com) * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/12/6 * * Microchip Assembler language file for GeSHi. diff --git a/inc/geshi/mxml.php b/inc/geshi/mxml.php index 72a071aae..0cc8287a2 100644 --- a/inc/geshi/mxml.php +++ b/inc/geshi/mxml.php @@ -4,7 +4,7 @@ * ------- * Author: David Spurr * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/10/04 * * MXML language file for GeSHi. Based on the XML file by Nigel McNie diff --git a/inc/geshi/mysql.php b/inc/geshi/mysql.php index b85377d1c..507da2d09 100644 --- a/inc/geshi/mysql.php +++ b/inc/geshi/mysql.php @@ -4,7 +4,7 @@ * --------- * Author: Marjolein Katsma (marjolein.is.back@gmail.com) * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008-12-12 * * MySQL language file for GeSHi. @@ -74,9 +74,9 @@ $language_data = array ( // category, or have multiple usage/meanings 'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY', 'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL', - 'CASCADED','CASCADE','CHAIN','CHECK','COLUMNS','COLUMN','COMMENT', - 'COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL','CONSISTENT', - 'CONVERT','CREATE','CROSS','DATA','DATABASES', + 'CASCADED','CASCADE','CHAIN','CHANGE','CHECK','COLUMNS','COLUMN', + 'COMMENT','COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL', + 'CONSISTENT','CONVERT','CREATE','CROSS','DATA','DATABASES', 'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC', 'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO', 'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE', @@ -90,10 +90,10 @@ $language_data = array ( 'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA', 'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON', 'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT', - 'PARTIAL','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE','PURGE', - 'QUICK','READS SQL DATA','READ','REFERENCES','RELEASE','RENAME', - 'REPEATABLE','REQUIRE','RESTRICT','RETURNS','REVOKE', - 'ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT', + 'PARTIAL','PARTITION','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE', + 'PURGE','QUICK','READS SQL DATA','READ','REFERENCES','RELEASE', + 'RENAME','REORGANIZE','REPEATABLE','REQUIRE','RESTRICT','RETURNS', + 'REVOKE','ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT', 'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE', 'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT', 'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS', @@ -391,15 +391,15 @@ $language_data = array ( ) ), 'URLS' => array( - 1 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 2 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 3 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 4 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 5 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 6 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 7 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 8 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', - 9 => 'http://search.mysql.com/search?site=refman-%35%31&q={FNAME}', + 1 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 2 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 3 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 4 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 5 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 6 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 7 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 8 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', + 9 => 'http://search.oracle.com/search/search?group=MySQL&q={FNAME}', 10 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html', 11 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html', diff --git a/inc/geshi/nagios.php b/inc/geshi/nagios.php new file mode 100644 index 000000000..32cbaef9e --- /dev/null +++ b/inc/geshi/nagios.php @@ -0,0 +1,225 @@ +<?php +/************************************************************************************* + * nagios.php + * -------- + * Author: Albéric de Pertat <alberic@depertat.net> + * Copyright: (c) 2012 Albéric de Pertat (https://github.com/adepertat/geshi-nagios) + * Release Version: 1.0.8.11 + * Date Started: 2012/01/19 + * + * Nagios language file for GeSHi. + * + * CHANGES + * ------- + * 2012/01/19 (1.0.0) + * - First Release + * + * TODO (updated 2012/01/19) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Nagios', + 'COMMENT_SINGLE' => array(1 => ';', 2 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'HARDQUOTE' => array("'", "'"), + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\'', + 'KEYWORDS' => array( + 1 => array( + 'define' + ), + 2 => array( + 'command', 'contact', 'contactgroup', 'host', 'hostdependency', + 'hostescalation', 'hostextinfo', 'hostgroup', 'service', + 'servicedependency', 'serviceescalation', + 'serviceextinfo', 'servicegroup', 'timeperiod' + ), + 3 => array( + 'active_checks_enabled', 'passive_checks_enabled', 'alias', + 'display_name', 'host_name', 'address', 'hostgroups', 'parents', + 'hostgroup_members', 'members', 'service_description', + 'servicegroups', 'is_volatile', 'servicegroup_name', + 'servicegroup_members', 'contact_name', 'contactgroups', 'email', + 'pager', 'can_submit_commands', 'contactgroup_name', + 'contactgroup_members', 'host_notifications_enabled', + 'service_notifications_enabled', 'host_notification_period', + 'service_notification_period', 'host_notification_options', + 'service_notification_options', 'host_notification_commands', + 'service_notification_commands', 'check_command', + 'check_freshness', 'check_interval', 'check_period', 'contacts', + 'contact_groups', 'event_handler', 'event_handler_enabled', + 'flap_detection_enabled', 'flap_detection_options', + 'freshness_threshold', 'initial_state', 'low_flap_threshold', + 'high_flap_threshold', 'max_check_attempts', + 'notification_interval', 'first_notification_delay', + 'notification_period', 'notification_options', + 'notifications_enabled', 'stalking_options', 'notes', 'notes_url', + 'action_url', 'icon_image', 'icon_image_alt', 'vrml_image', + 'statusmap_image', '2d_coords', '3d_coords', 'obsess_over_host', + 'obsess_over_hostver_service', 'process_perf_data', + 'retain_status_information', 'retain_nonstatus_information', + 'retry_interval', 'register', 'use', 'name', 'timeperiod_name', + 'exclude', 'command_name', 'command_line', 'dependent_host_name', + 'dependent_hostgroup_name', 'dependent_service_description', + 'inherits_parent', 'execution_failure_criteria', + 'notification_failure_criteria', 'dependency_period', + 'first_notification', 'last_notification', 'escalation_period', + 'escalation_options' + ), + 4 => array( + 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', + 'sunday', 'january', 'february', 'march', 'april', 'may', 'june', + 'july', 'august', 'september', 'october', 'november', 'december', + 'day' + ) + ), + 'SYMBOLS' => array( + 0 => array( + '{', '}', ',', '+' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'font-weight:bold;color:#FFDCA8;', + 2 => 'font-weight:bold;color #FFA858;', + 3 => 'font-weight:bold;color:#00C0C0;', + 4 => 'font-weight:bold;color:#C0C0FF;' + ), + 'SYMBOLS' => array( + 0 => 'font-weight:bold;color:#000000;' + ), + 'NUMBERS' => array( + 0 => '' + ), + 'COMMENTS' => array( + 0 => 'color: #AAAAAA; font-style: italic;', + 1 => 'color: #AAAAAA; font-style: italic;', + 2 => 'color: #AAAAAA; font-style: italic;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #660066;', + 'HARD' => 'color: #660066;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'METHODS' => array( + 1 => 'color: #006600;' + ), + 'REGEXPS' => array( + 0 => 'font-weight:bold;color:#808080;', + 1 => 'font-weight:bold;color:#000080;', + 2 => 'font-weight:bold;color:red;', + 3 => 'font-weight:bold;color:#808000;', + 4 => 'font-weight:bold;color:blue;', + 5 => 'font-weight:bold;color:#C0FFC0;', + ), + 'SCRIPT' => array( + 0 => '', + ) + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '\\' + ), + 'REGEXPS' => array( + // Custom macros + 0 => array( + GESHI_SEARCH => '(\$[a-zA-Z_]+\$)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + // Custom macro definitions + 1 => array( + GESHI_SEARCH => '(\A|\s)(_[a-zA-Z_]+)', + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '', + ), + // $USERxx$ + 2 => array( + GESHI_SEARCH => '(\$USER[0-9]+\$)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + // $ARGxx$ + 3 => array( + GESHI_SEARCH => '(\$ARG[1-9]\$)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + // register 0 + 4 => array( + GESHI_SEARCH => '(\bregister[\\x20\\t]+[01])', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + // use + 5 => array( + GESHI_SEARCH => '(use[\\x20\\t]+[^\\x20\\t]+)([\\x20\\t]*[$;#])', + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '', + ), + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => false + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'ENABLE_FLAGS' => array( + 'NUMBERS' => GESHI_NEVER + ) + ) +); + +?> diff --git a/inc/geshi/netrexx.php b/inc/geshi/netrexx.php new file mode 100644 index 000000000..14a2d23fd --- /dev/null +++ b/inc/geshi/netrexx.php @@ -0,0 +1,163 @@ +<?php +/************************************************************************************* + * netrexx.php + * --------------------------------- + * Author: Jon Wolfers (sahananda@windhorse.biz) + * Contributors: + * - Walter Pachl (pachl@chello.at) + * Copyright: (c) 2008 Jon Wolfers, (c) 2012 Walter Pachl + * Release Version: 1.0.8.11 + * Date Started: 2008/01/07 + * + * NetRexx language file for GeSHi. + * + * CHANGES + * ------- + * 2012/07/29 (1.0.0) + * - tried to get it syntactically right + * + * TODO (updated 2012/07/29) + * ------------------------- + * - Get it working on rosettacode.org + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'NetRexx', + 'COMMENT_SINGLE' => array(1 => '--'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'class', 'do', 'exit', 'if', 'import', 'iterate', 'leave', + 'loop', 'nop', 'numeric', 'package', 'parse', 'properties', + 'return', 'say', 'select', 'signal', 'trace' + ), + 2 => array( + 'abstract', 'adapter', 'all', 'ask', 'binary', 'case', + 'constant', 'dependent', 'deprecated', 'extends', 'final', + 'implements', 'inheritable', 'interface', 'label', 'methods', + 'native', 'off', 'private', 'protect', 'public', 'results', + 'returns', 'shared', 'signals', 'source', 'static', + 'transient', 'unused', 'uses', 'version', 'volatile' + ), + 3 => array( + 'catch', 'else', 'end', 'finally', 'otherwise', 'then', 'when' + ), + 4 => array( + 'rc', 'result', 'self', 'sigl', 'super' + ), + 5 => array( + 'placeholderforoorexxdirectives' + ), + 6 => array( + 'abbrev', 'abs', 'b2x', 'c2d', 'c2x', 'center', 'centre', + 'changestr', 'compare', 'copies', 'copyindexed', 'countstr', + 'd2c', 'd2x', 'datatype', 'delstr', 'delword', 'exists', + 'formword', 'hashcode', 'insert', 'lastpos', 'left', 'lower', + 'max', 'min', 'noteq', 'noteqs', 'opadd', 'opand', 'opcc', + 'opccblank', 'opdiv', 'opdivi', 'opeq', 'opeqs', 'opgt', + 'opgteq', 'opgteqs', 'opgts', 'oplt', 'oplteq', 'oplteqs', + 'oplts', 'opminus', 'opmult', 'opnot', 'opor', 'opplus', + 'oppow', 'oprem', 'opsub', 'opxor', 'overlay', 'pos position', + 'reverse', 'right', 'sequence', 'setdigits', 'setform', + 'sign', 'space', 'strip', 'substr', 'subword', 'toboolean', + 'tobyte', 'tochar', 'todouble', 'tofloat', 'toint', 'tolong', + 'toshort', 'tostring', 'translate', 'trunc', 'upper', + 'verify', 'word', 'wordindex', 'wordlength', 'wordpos', + 'words', 'x2b', 'x2c', 'x2d' + ) + ), + 'SYMBOLS' => array( + '(', ')', '<', '>', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', + '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #ff0000; font-weight: bold;', + 3 => 'color: #00ff00; font-weight: bold;', + 4 => 'color: #0000ff; font-weight: bold;', + 5 => 'color: #880088; font-weight: bold;', + 6 => 'color: #888800; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 'MULTI' => 'color: #808080;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> diff --git a/inc/geshi/newlisp.php b/inc/geshi/newlisp.php index 508f116b7..0dc6c1619 100644 --- a/inc/geshi/newlisp.php +++ b/inc/geshi/newlisp.php @@ -4,7 +4,7 @@ * ---------- * Author: cormullion (cormullion@mac.com) Sept 2009 * Copyright: (c) 2009 Cormullion (http://unbalanced-parentheses.nfshost.com/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/09/30 * * newLISP language file for GeSHi. diff --git a/inc/geshi/nsis.php b/inc/geshi/nsis.php index ab05ed82b..35df9b4b8 100644 --- a/inc/geshi/nsis.php +++ b/inc/geshi/nsis.php @@ -4,7 +4,7 @@ * -------- * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/) * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/12/03 * * Nullsoft Scriptable Install System language file for GeSHi. diff --git a/inc/geshi/oberon2.php b/inc/geshi/oberon2.php index 33b828df5..b43f81408 100644 --- a/inc/geshi/oberon2.php +++ b/inc/geshi/oberon2.php @@ -4,7 +4,7 @@ * ---------- * Author: mbishop (mbishop@esoteriq.org) * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/02/10 * * Oberon-2 language file for GeSHi. diff --git a/inc/geshi/objc.php b/inc/geshi/objc.php index 3b2c593ef..2f5162d76 100644 --- a/inc/geshi/objc.php +++ b/inc/geshi/objc.php @@ -5,7 +5,7 @@ * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net) * Contributors: Quinn Taylor (quinntaylor@mac.com) * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * Objective-C language file for GeSHi. diff --git a/inc/geshi/objeck.php b/inc/geshi/objeck.php index 5ab3642e5..bf9dab564 100644 --- a/inc/geshi/objeck.php +++ b/inc/geshi/objeck.php @@ -4,7 +4,7 @@ * -------- * Author: Randy Hollines (objeck@gmail.com) * Copyright: (c) 2010 Randy Hollines (http://code.google.com/p/objeck-lang/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/07/01 * * Objeck Programming Language language file for GeSHi. diff --git a/inc/geshi/ocaml-brief.php b/inc/geshi/ocaml-brief.php index d988409e8..b518adf87 100644 --- a/inc/geshi/ocaml-brief.php +++ b/inc/geshi/ocaml-brief.php @@ -4,7 +4,7 @@ * ---------- * Author: Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/08/27 * * OCaml (Objective Caml) language file for GeSHi. diff --git a/inc/geshi/ocaml.php b/inc/geshi/ocaml.php index 4e36f3c30..ac6c29bcc 100644 --- a/inc/geshi/ocaml.php +++ b/inc/geshi/ocaml.php @@ -4,7 +4,7 @@ * ---------- * Author: Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/08/27 * * OCaml (Objective Caml) language file for GeSHi. diff --git a/inc/geshi/octave.php b/inc/geshi/octave.php new file mode 100644 index 000000000..ccffcd97a --- /dev/null +++ b/inc/geshi/octave.php @@ -0,0 +1,515 @@ +<?php +/************************************************************************************* + * octave.php + * ----------- + * Author: Carnë Draug (carandraug+dev@gmail.com) + * Juan Pablo Carbajal (carbajal@ifi.uzh.ch) + * Copyright: (c) 2012 Carnë Draug + * (c) 2012 Juan Pablo Carbajal + * Release Version: 1.0.8.11 + * Date Started: 2012/05/22 + * + * GNU Octave M-file language file for GeSHi. + * + * This file was heavily based on octave.lang from gtksourceview. If bugs are + * found and/or fixed on this file, please send them to the gtksourceview + * project or e-mail them to this file authors. Thanks in advance + * + * CHANGES + * ------- + * 2012/05/22 (1.0.8.11) + * - First Release + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'GNU Octave', + 'COMMENT_SINGLE' => array(1 => '#', 2 => '%'), + // we can't use COMMENT_MULTI since start and end of block comments need to + // be alone on the line (optionally, with whitespace). See COMMENT_REGEXP + 'COMMENT_MULTI' => array(), + // we can't use QUOTEMARKS, not even HARDQUOTE, see COMMENT_REGEXP + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '', + 'COMMENT_REGEXP' => array( + // Single quote strings: we can't use QUOTEMARKS here since new + // lines will break the string. Plus, single quote strings do not even + // allow for continuation markers, only double quote strings allow it. + // Also, to do not misdetect the transpose operator ' as the start of a + // string we assert to not follow a variable name (letters, digits and + // underscores) or a closing bracket (round, square or curly) or a dot + // (to form the array transpose operator ".'" ). + 3 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", + // Double quote strings: we also can't use QUOTEMARKS here (see single + // line quotes). However, with double quote strings both \ and ... can + // be used to make multiline strings. Continuation markers can be + // followed by whitespace + 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', + // Block comments: the ms modifiers treat strings as multiple lines (to + // be able to use ^ and $ instead of newline and thus support block + // comments on the first and last line of source) and make . also match + // a newline + 5 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", + // Packaging system: comes here so that pkg can also be used in the + // function form. The list of pkg commands is optional to the match so + // that at least pkg is highlighted if new commands are implemented + 6 => "/\bpkg(?!\s*\()\s+((un)?install|update|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)?\b/", + // Function handles + 7 => "/@([a-z_][a-z1-9_]*)?/i", + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_OCT_PREFIX | + GESHI_NUMBER_HEX_PREFIX | + GESHI_NUMBER_FLT_SCI_ZERO, + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'KEYWORDS' => array( + // Data types + 1 => array( + 'cell', 'char', 'double', 'uint8', 'uint16', 'uint32', 'uint64', + 'int8','int16', 'int32', 'int64', 'logical', 'single', 'struct' + ), + // Storage type + 2 => array( + 'global', 'persistent', 'static' + ), + // Internal variable + 3 => array( + 'ans' + ), + // Reserved words + 4 => array( + 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', + 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', + 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', + 'if', 'otherwise', 'parfor', 'return', + 'switch', 'try', 'until', 'unwind_protect', + 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' + ), + // Built in + 5 => array( + 'P_tmpdir', 'abs', 'acos', 'acosh', + 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', + 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', + 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', + 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', + 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', + 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', + 'cell2struct', 'cellstr', 'chdir', 'class', 'clc', + 'clear', 'columns', 'command_line_path', 'completion_append_char', + 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', + 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', + 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', + 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', + 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', + 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', + 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', + 'doc_cache_file', 'drawnow', 'dup2', 'echo', + 'echo_executing_commands', 'edit_history','eq', 'erf', 'erfc', + 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', + 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'fclear', + 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', + 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', + 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', + 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', + 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', + 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', + 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', + 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', + 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', + 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', + 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', + 'hypot', 'ifelse', 'ignore_function_time_stamp', 'imag', + 'inferiorto', 'info_file', 'info_program', 'inline', 'input', + 'intmax', 'intmin', 'ipermute', + 'is_absolute_filename', 'is_dq_string', 'is_function_handle', + 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', + 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', + 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', + 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', + 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', + 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', + 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', + 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', + 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', + 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', + 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', + 'log1p', 'log2', 'lower', 'lstat', 'lt', + 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', + 'merge', 'methods', 'mfilename', 'minus', 'mislocked', + 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', + 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', + 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', + 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', + 'octave_config_info', 'octave_core_file_limit', + 'octave_core_file_name', 'octave_core_file_options', + 'octave_tmp_file_name', 'onCleanup', 'ones', + 'optimize_subsasgn_calls', 'or', 'output_max_field_width', + 'output_precision', 'page_output_immediately', 'page_screen_output', + 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pipe', 'plus', + 'popen', 'popen2', 'power', 'print_empty_dimensions', + 'print_struct_array_contents', 'printf', 'prod', + 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', + 'quit', 'rats', 'rdivide', 're_read_readline_init_file', + 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', + 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', + 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', + 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', + 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', + 'save_header_format_string', 'save_precision', 'saving_history', + 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', + 'sigterm_dumps_octave_core', 'silent_functions', 'sin', + 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', + 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', + 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', + 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', + 'string_fill_char', 'strncmp', 'strncmpi', 'struct2cell', + 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', + 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', + 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', + 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', + 'transpose', 'typeinfo', + 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', + 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', + 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', + 'whos_line_format', 'yes_or_no', 'zeros' + ), + // Octave functions + 6 => array( + 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', + 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', + 'ancestor', 'anova', 'arch_fit', 'arch_rnd', 'arch_test', + 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', + 'assert', 'atand', 'autoreg_matrix', 'autumn', + 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', + 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', + 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', + 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', + 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', + 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', + 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', + 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', + 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', + 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', + 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', + 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clock', + 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', + 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', + 'comma', 'common_size', 'commutation_matrix', 'compan', + 'compare_versions', 'compass', 'computer', 'cond', 'condest', + 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', + 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', + 'cor_test', 'corr', 'cosd', 'cot', 'cotd', 'coth', 'cov', + 'cplxpair', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', + 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cylinder', + 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', + 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', + 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', + 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', + 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', + 'discrete_pdf', 'discrete_rnd', 'display', 'divergence', + 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', + 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', + 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', + 'empirical_pdf', 'empirical_rnd', 'eomday', 'errorbar', + 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', + 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', + 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', + 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', + 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', + 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', + 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', + 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', + 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', + 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammainc', + 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', + 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', + 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', + 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', + 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', + 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', + 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', + 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', + 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', + 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', + 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', + 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', + 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', + 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', + 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', + 'intersect', 'inv', 'invhilb', 'iqr', + 'is_leap_year', 'is_valid_file_id', + 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', + 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', + 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', + 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', + 'isrow', 'isscalar', 'issquare', 'isstrprop', 'issymmetric', + 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', + 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', + 'kruskal_wallis_test', 'krylov', 'kurtosis', 'laplace_cdf', + 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', + 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', + 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', + 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', + 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', + 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', + 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', + 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', + 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', + 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', + 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', + 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', + 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', + 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', + 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', + 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', + 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', + 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', + 'peaks', 'periodogram', 'perl', 'perms', 'pie', 'pie3', + 'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', + 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', + 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', + 'polyder', 'polyfit', 'polygcd', 'polyint', 'polyout', + 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', + 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', + 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', + 'print_usage', 'prism', 'probit', 'profexplore', 'profile', + 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', + 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', + 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', + 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', + 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', + 'regexptranslate', 'repmat', 'residue', 'rgb2hsv', + 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', + 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', + 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', + 'saveas', 'saveaudio', 'saveobj', 'savepath', 'scatter', + 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', + 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', + 'setdiff', 'setfield', 'setpref', 'setxor', 'shading', + 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', + 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', + 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', + 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', + 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', + 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', + 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', + 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', + 'stft', 'str2double', 'str2num', 'strcat', 'strchr', + 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', + 'strtrim', 'strtrunc', 'structfun', 'sub2ind', + 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', + 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', + 'swapbytes', 'syl', 'symbfact', 'symrcm', + 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', + 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', + 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', + 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', + 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', + 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', + 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', + 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', + 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', + 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', + 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', + 'urlwrite', 'usejava', 'validatestring', 'vander', 'var', + 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', + 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', + 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', + 'welch_test', 'what', 'which', + 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', + 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', + 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', + 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', + 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', + 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', + 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', + 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', + 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', + 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', + 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', + 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', + 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', + 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', + 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', + 'urlread' + ), + // Private builtin + 7 => array( + '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', + '__accumdim_sum__', '__builtins__', '__calc_dimensions__', + '__current_scope__', '__display_tokens__', '__dump_symtab_info__', + '__end__', '__get__', '__go_axes__', '__go_axes_init__', + '__go_delete__', '__go_execute_callback__', '__go_figure__', + '__go_figure_handles__', '__go_handles__', '__go_hggroup__', + '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', + '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', + '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', + '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', + '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', + '__keywords__', '__lexer_debug_flag__', '__list_functions__', + '__operators__', '__parent_classes__', '__parser_debug_flag__', + '__pathorig__', '__profiler_data__', '__profiler_enable__', + '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', + '__token_count__', '__varval__', '__version_info__', '__which__' + ), + // Private Octave functions + 8 => array( + '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', + '__dsearchn__', '__finish__', '__fltk_uigetfile__', + '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', + '__init_gnuplot__', '__lin_interpn__', '__magick_read__', + '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', + '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', + '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', + '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', + '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', + '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', + '__magick_write__' + ), + // Builtin Global Variables + 9 => array( + 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', + 'F_SETFL', 'IMAGE_PATH', 'OCTAVE_HOME', + 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', + 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', + 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', + 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', + 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', + 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', + 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' + ), + // Constant functions + 10 => array ( + 'e', 'eps', 'inf', 'Inf', 'nan', 'NaN', 'NA', 'pi', 'i', 'I', 'j', + 'J', 'true', 'false' + ), + ), + 'SYMBOLS' => array( + // Comparison & logical + 0 => array( + '!', '!=', '&', '&&','|', '||', '~', '~=', + '<', '<=', '==', '>', '>=' + ), + // Aritmethical + 1 => array( + '*', '**', '+', '++', '-', '--', '/', "\\","'" + ), + // Elementwise arithmetical + 2 => array( + '.*', '.**','./', '.^', '^',".\\",".'" + ), + // Arithmetical & assignation + 3 => array( + '*=','+=','-=','/=','\=','**=','^=', + '.*=','.+=','.-=','./=','.\=','.**=','.^=','=' + ), + // Indexer + 4 => array( + ':' + ), + // Delimiters + 5 => array( + ',', '...', ';' + ), + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, + 9 => true, + 10 => true, + ), + 'URLS' => array( + 1 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html', + 2 => '', + 3 => '', + 4 => '', + 5 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html', + 6 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html', + 7 => '', + 8 => '', + 9 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html', + 10 => 'http://octave.sourceforge.net/octave/function/{FNAME}.html', + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + ), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'STYLES' => array( + 'COMMENTS' => array( + 1 => 'color: #0000FF; font-style: italic;', // single quote strings + 2 => 'color: #0000FF; font-style: italic;', // double quote strings + 3 => 'color: #FF00FF; font-style: italic;', // single quote strings + 4 => 'color: #FF00FF; font-style: italic;', // double quote strings + 5 => 'color: #0000FF; font-style: italic;', // block comments + 6 => 'color: #996600; font-weight:bold;', // packaging system + 7 => 'color: #006600; font-weight:bold;', // function handles + 'MULTI' => 'color: #0000FF; font-style: italic;', + ), + 'KEYWORDS' => array( + 1 => 'color: #2E8B57; font-weight:bold;', // Data types + 2 => 'color: #2E8B57;', // Storage type + 3 => 'color: #0000FF; font-weight:bold;', // Internal variable + 4 => 'color: #990000; font-weight:bold;', // Reserved words + 5 => 'color: #008A8C; font-weight:bold;', // Built-in + 6 => 'color: #008A8C;', // Octave functions + 9 => 'color: #000000; font-weight:bold;', // Builtin Global Variables + 10 => 'color: #008A8C; font-weight:bold;', // Constant functions + ), + 'ESCAPE_CHAR' => array(), + 'BRACKETS' => array( + 0 => 'color: #080;', + ), + 'STRINGS' => array( + // strings were specified on the COMMENT_REGEXP section + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + ), + 'METHODS' => array(), + 'SYMBOLS' => array( + 0 => 'color: #FF9696; font-weight:bold;', // Comparison & logical + 1 => 'color: #CC0000; font-weight:bold;', // Aritmethical + 2 => 'color: #993333; font-weight:bold;', // Elementwise arithmetical + 3 => 'color: #FF0000; font-weight:bold;', // Arithmetical & assignation + 4 => 'color: #33F;', // Indexer + 5 => 'color: #33F;', // Delimiters + ), + 'REGEXPS' => array(), + 'SCRIPT' => array(), + ) +); + +?> diff --git a/inc/geshi/oobas.php b/inc/geshi/oobas.php index f4e15893a..ff75af65f 100644 --- a/inc/geshi/oobas.php +++ b/inc/geshi/oobas.php @@ -4,7 +4,7 @@ * --------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * OpenOffice.org Basic language file for GeSHi. diff --git a/inc/geshi/oorexx.php b/inc/geshi/oorexx.php new file mode 100644 index 000000000..62c6cc463 --- /dev/null +++ b/inc/geshi/oorexx.php @@ -0,0 +1,171 @@ +<?php +/************************************************************************************* + * oorexx.php + * --------------------------------- + * Author: Jon Wolfers (sahananda@windhorse.biz) + * Contributors: + * - Walter Pachl (pachl@chello.at) + * Copyright: (c) 2008 Jon Wolfers, (c) 2012 Walter Pachl + * Release Version: 1.0.8.11 + * Date Started: 2008/01/07 + * + * ooRexx language file for GeSHi. + * + * CHANGES + * ------- + * 2012/07/29 (1.0.0) + * - tried to get it syntactically right + * + * TODO (updated 2012/07/29) + * ------------------------- + * - Get it working on rosettacode.org + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'ooRexx', + 'COMMENT_SINGLE' => array(1 => '--'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'address', 'arg', 'attribute', 'call', 'constant', 'do', + 'drop', 'exit', 'if', + 'interpret', 'iterate', 'leave', 'loop', 'nop', 'numeric', + 'parse', 'procedure', 'pull', 'push', 'queue', + 'raise', 'reply', 'return', 'say', 'select', 'signal', + 'use' + ), + 2 => array( + 'abstract', 'any', 'arguments', 'array', 'by', + 'continue', 'digits', 'engineering', 'error', + 'expose', 'external', 'failure', 'for', 'forever', + 'forward', 'get', 'guard', 'guarded', 'halt', + 'inherit', 'library', 'lostdigits', 'message', + 'metaclass', 'mixinclass', 'name', 'nomethod', 'nostring', + 'notready', 'novalue', 'off', 'on', 'options', 'over', + 'private', 'protected', 'public', 'scientific', 'set', + 'source', 'subclass', 'syntax', 'to', 'unguarded', + 'unprotected', 'until', 'user', + 'version', 'while', 'with' + ), + 3 => array( + 'else', 'end', 'otherwise', 'then', 'when' + ), + 4 => array( + 'rc', 'result', 'self', 'sigl', 'super' + ), + 5 => array( + '::attribute', '::class', '::constant', '::method', + '::optins', '::requires', '::routine' + ), + 6 => array( + 'abbrev', 'abs', 'beep', 'bitand', 'bitor', + 'bitxor', 'b2x', 'center', 'centre', 'changestr', 'charin', + 'charout', 'chars', 'compare', 'condition', 'copies', + 'countstr', 'c2d', 'c2x', 'datatype', 'date', 'delstr', + 'delword', 'directory', 'd2c', 'd2x', 'endlocal', + 'errortext', 'filespec', 'form', 'format', 'fuzz', 'insert', + 'lastpos', 'left', 'length', 'linein', 'lineout', 'lines', + 'lower', 'max', 'min', 'overlay', 'pos', 'qualify', 'queued', + 'random', 'reverse', 'right', 'rxfuncadd', 'rxfuncdrop', + 'rxfuncquery', 'rxqueue', 'setlocal', 'sign', 'sourceline', + 'space', 'stream', 'strip', 'substr', 'subword', 'symbol', + 'time', 'trace', 'translate', 'trunc', 'upper', 'userid', + 'value', 'var', 'verify', 'word', 'wordindex', 'wordlength', + 'wordpos', 'words', 'xrange', 'x2b', 'x2c', 'x2d' + ) + ), + 'SYMBOLS' => array( + '(', ')', '<', '>', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', + '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #ff0000; font-weight: bold;', + 3 => 'color: #00ff00; font-weight: bold;', + 4 => 'color: #0000ff; font-weight: bold;', + 5 => 'color: #880088; font-weight: bold;', + 6 => 'color: #888800; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 'MULTI' => 'color: #808080;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> diff --git a/inc/geshi/oracle11.php b/inc/geshi/oracle11.php index bd3d30501..16259e695 100644 --- a/inc/geshi/oracle11.php +++ b/inc/geshi/oracle11.php @@ -6,7 +6,7 @@ * Contributions: * - Updated for 11i by Simon Redhead * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * Oracle 11i language file for GeSHi. diff --git a/inc/geshi/oracle8.php b/inc/geshi/oracle8.php index bc80735c4..145bda407 100644 --- a/inc/geshi/oracle8.php +++ b/inc/geshi/oracle8.php @@ -4,7 +4,7 @@ * ----------- * Author: Guy Wicks (Guy.Wicks@rbs.co.uk) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * Oracle 8 language file for GeSHi. diff --git a/inc/geshi/oxygene.php b/inc/geshi/oxygene.php index cfab3d34f..bc2ee6563 100644 --- a/inc/geshi/oxygene.php +++ b/inc/geshi/oxygene.php @@ -4,7 +4,7 @@ * ---------- * Author: Carlo Kok (ck@remobjects.com), J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/01/11 * * Delphi Prism (Oxygene) language file for GeSHi. @@ -12,6 +12,8 @@ * * CHANGES * ------- + * 2012/06/28 (1.0.8.11) + * - Added "write" keyword for properties * 2010/01/11 (1.0.0) * - First Release * @@ -66,7 +68,7 @@ $language_data = array ( 'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take', 'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params', 'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect', - 'volatile' + 'volatile', 'write' ), 3 => array( 'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote' diff --git a/inc/geshi/oz.php b/inc/geshi/oz.php index f371a6457..d24561bf0 100644 --- a/inc/geshi/oz.php +++ b/inc/geshi/oz.php @@ -4,7 +4,7 @@ * -------- * Author: Wolfgang Meyer (Wolfgang.Meyer@gmx.net) * Copyright: (c) 2010 Wolfgang Meyer - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/01/03 * * Oz language file for GeSHi. diff --git a/inc/geshi/parasail.php b/inc/geshi/parasail.php new file mode 100644 index 000000000..864eba1e9 --- /dev/null +++ b/inc/geshi/parasail.php @@ -0,0 +1,133 @@ +<?php +/************************************************************************************* + * parasail.php + * ------- + * Author: T. Taft (taft@adacore.com) + * Copyright: (c) 2012 AdaCore (http://adacore.com/) + * Release Version: 1.0.8.11 + * Date Started: 2012/08/02 + * + * ParaSail language file for GeSHi. + * + * Words are from SciTe configuration file + * + * CHANGES + * ------- + * 2012/08/02 (1.0.0) + * - First Release + * + * TODO (updated 2012/08/02) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'ParaSail', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('{' => '}'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'all', 'block', 'case', 'continue', 'each', + 'else', 'elsif', 'exit', 'for', + 'forward', 'if', 'loop', 'return', 'reverse', 'some', + 'then', 'until', 'while', 'with' + ), + 2 => array( + 'abs', 'and','in', 'mod', 'not', 'null', 'or', 'rem', 'xor' + ), + 3 => array( + 'abstract', 'class', + 'concurrent', 'const', + 'end', 'extends', 'exports', + 'func', 'global', 'implements', 'import', + 'interface', 'is', 'lambda', 'locked', + 'new', 'of', 'op', 'optional', + 'private', 'queued', 'ref', + 'separate', 'type', 'var', + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '<', '>' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00007f;', + 2 => 'color: #0000ff;', + 3 => 'color: #46aa03; font-weight:bold;', + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'COMMENTS' => array( + 1 => 'color: #adadad; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #7f007f;' + ), + 'NUMBERS' => array( + 0 => 'color: #ff0000;' + ), + 'METHODS' => array( + 1 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/parigp.php b/inc/geshi/parigp.php new file mode 100644 index 000000000..c9c73095b --- /dev/null +++ b/inc/geshi/parigp.php @@ -0,0 +1,277 @@ +<?php +/************************************************************************************* + * parigp.php + * -------- + * Author: Charles R Greathouse IV (charles@crg4.com) + * Copyright: 2011 Charles R Greathouse IV (http://math.crg4.com/) + * Release Version: 1.0.8.11 + * Date Started: 2011/05/11 + * + * PARI/GP language file for GeSHi. + * + * CHANGES + * ------- + * 2011/07/09 (1.0.8.11) + * - First Release + * + * TODO (updated 2011/07/09) + * ------------------------- + * + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'PARI/GP', + 'COMMENT_SINGLE' => array(1 => '\\\\'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'NUMBERS' => array( + # Integers + 1 => GESHI_NUMBER_INT_BASIC, + # Reals + 2 => GESHI_NUMBER_FLT_SCI_ZERO + ), + 'KEYWORDS' => array( + 1 => array( + 'addprimes','bestappr','bezout','bezoutres','bigomega','binomial', + 'chinese','content','contfrac','contfracpnqn','core','coredisc', + 'dirdiv','direuler','dirmul','divisors','eulerphi','factor', + 'factorback','factorcantor','factorff','factorial','factorint', + 'factormod','ffgen','ffinit','fflog','fforder','ffprimroot', + 'fibonacci','gcd','hilbert','isfundamental','ispower','isprime', + 'ispseudoprime','issquare','issquarefree','kronecker','lcm', + 'moebius','nextprime','numbpart','numdiv','omega','partitions', + 'polrootsff','precprime','prime','primepi','primes','qfbclassno', + 'qfbcompraw','qfbhclassno','qfbnucomp','qfbnupow','qfbpowraw', + 'qfbprimeform','qfbred','qfbsolve','quadclassunit','quaddisc', + 'quadgen','quadhilbert','quadpoly','quadray','quadregulator', + 'quadunit','removeprimes','sigma','sqrtint','stirling', + 'sumdedekind','zncoppersmith','znlog','znorder','znprimroot', + 'znstar','Col','List','Mat','Mod','Pol','Polrev','Qfb','Ser','Set', + 'Str','Strchr','Strexpand','Strtex','Vec','Vecrev','Vecsmall', + 'binary','bitand','bitneg','bitnegimply','bitor','bittest','bitxor', + 'ceil','centerlift','component','conj','conjvec','denominator', + 'floor','frac','imag','length','lift','norm','norml2','numerator', + 'numtoperm','padicprec','permtonum','precision','random','real', + 'round','simplify','sizebyte','sizedigit','truncate','valuation', + 'variable','ellL1','elladd','ellak','ellan','ellanalyticrank', + 'ellap','ellbil','ellchangecurve','ellchangepoint','ellconvertname', + 'elldivpol','elleisnum','elleta','ellgenerators','ellglobalred', + 'ellgroup','ellheight','ellheightmatrix','ellidentify','ellinit', + 'ellisoncurve','ellj','elllocalred','elllog','elllseries', + 'ellminimalmodel','ellmodulareqn','ellorder','ellordinate', + 'ellpointtoz','ellpow','ellrootno','ellsearch','ellsigma','ellsub', + 'elltaniyama','elltatepairing','elltors','ellweilpairing','ellwp', + 'ellzeta','ellztopoint','bnfcertify','bnfcompress', + 'bnfdecodemodule','bnfinit','bnfisintnorm','bnfisnorm', + 'bnfisprincipal','bnfissunit','bnfisunit','bnfnarrow','bnfsignunit', + 'bnfsunit','bnrL1','bnrclassno','bnrclassnolist','bnrconductor', + 'bnrconductorofchar','bnrdisc','bnrdisclist','bnrinit', + 'bnrisconductor','bnrisprincipal','bnrrootnumber','bnrstark', + 'dirzetak','factornf','galoisexport','galoisfixedfield', + 'galoisgetpol','galoisidentify','galoisinit','galoisisabelian', + 'galoisisnormal','galoispermtopol','galoissubcyclo', + 'galoissubfields','galoissubgroups','idealadd','idealaddtoone', + 'idealappr','idealchinese','idealcoprime','idealdiv','idealfactor', + 'idealfactorback','idealfrobenius','idealhnf','idealintersect', + 'idealinv','ideallist','ideallistarch','ideallog','idealmin', + 'idealmul','idealnorm','idealpow','idealprimedec','idealramgroups', + 'idealred','idealstar','idealtwoelt','idealval','matalgtobasis', + 'matbasistoalg','modreverse','newtonpoly','nfalgtobasis','nfbasis', + 'nfbasistoalg','nfdetint','nfdisc','nfeltadd','nfeltdiv', + 'nfeltdiveuc','nfeltdivmodpr','nfeltdivrem','nfeltmod','nfeltmul', + 'nfeltmulmodpr','nfeltnorm','nfeltpow','nfeltpowmodpr', + 'nfeltreduce','nfeltreducemodpr','nfelttrace','nfeltval','nffactor', + 'nffactorback','nffactormod','nfgaloisapply','nfgaloisconj', + 'nfhilbert','nfhnf','nfhnfmod','nfinit','nfisideal','nfisincl', + 'nfisisom','nfkermodpr','nfmodprinit','nfnewprec','nfroots', + 'nfrootsof1','nfsnf','nfsolvemodpr','nfsubfields','polcompositum', + 'polgalois','polred','polredabs','polredord','poltschirnhaus', + 'rnfalgtobasis','rnfbasis','rnfbasistoalg','rnfcharpoly', + 'rnfconductor','rnfdedekind','rnfdet','rnfdisc','rnfeltabstorel', + 'rnfeltdown','rnfeltreltoabs','rnfeltup','rnfequation', + 'rnfhnfbasis','rnfidealabstorel','rnfidealdown','rnfidealhnf', + 'rnfidealmul','rnfidealnormabs','rnfidealnormrel', + 'rnfidealreltoabs','rnfidealtwoelt','rnfidealup','rnfinit', + 'rnfisabelian','rnfisfree','rnfisnorm','rnfisnorminit','rnfkummer', + 'rnflllgram','rnfnormgroup','rnfpolred','rnfpolredabs', + 'rnfpseudobasis','rnfsteinitz','subgrouplist','zetak','zetakinit', + 'plot','plotbox','plotclip','plotcolor','plotcopy','plotcursor', + 'plotdraw','ploth','plothraw','plothsizes','plotinit','plotkill', + 'plotlines','plotlinetype','plotmove','plotpoints','plotpointsize', + 'plotpointtype','plotrbox','plotrecth','plotrecthraw','plotrline', + 'plotrmove','plotrpoint','plotscale','plotstring','psdraw', + 'psploth','psplothraw','O','deriv','diffop','eval','factorpadic', + 'intformal','padicappr','padicfields','polchebyshev','polcoeff', + 'polcyclo','poldegree','poldisc','poldiscreduced','polhensellift', + 'polhermite','polinterpolate','polisirreducible','pollead', + 'pollegendre','polrecip','polresultant','polroots','polrootsmod', + 'polrootspadic','polsturm','polsubcyclo','polsylvestermatrix', + 'polsym','poltchebi','polzagier','serconvol','serlaplace', + 'serreverse','subst','substpol','substvec','taylor','thue', + 'thueinit','break','for','fordiv','forell','forprime','forstep', + 'forsubgroup','forvec','if','next','return','until','while', + 'Strprintf','addhelp','alarm','alias','allocatemem','apply', + 'default','error','extern','externstr','getheap','getrand', + 'getstack','gettime','global','input','install','kill','print1', + 'print','printf','printtex','quit','read','readvec','select', + 'setrand','system','trap','type','version','warning','whatnow', + 'write1','write','writebin','writetex','divrem','lex','max','min', + 'shift','shiftmul','sign','vecmax','vecmin','derivnum','intcirc', + 'intfouriercos','intfourierexp','intfouriersin','intfuncinit', + 'intlaplaceinv','intmellininv','intmellininvshort','intnum', + 'intnuminit','intnuminitgen','intnumromb','intnumstep','prod', + 'prodeuler','prodinf','solve','sum','sumalt','sumdiv','suminf', + 'sumnum','sumnumalt','sumnuminit','sumpos','Euler','I','Pi','abs', + 'acos','acosh','agm','arg','asin','asinh','atan','atanh','bernfrac', + 'bernreal','bernvec','besselh1','besselh2','besseli','besselj', + 'besseljh','besselk','besseln','cos','cosh','cotan','dilog','eint1', + 'erfc','eta','exp','gamma','gammah','hyperu','incgam','incgamc', + 'lngamma','log','polylog','psi','sin','sinh','sqr','sqrt','sqrtn', + 'tan','tanh','teichmuller','theta','thetanullk','weber','zeta', + 'algdep','charpoly','concat','lindep','listcreate','listinsert', + 'listkill','listpop','listput','listsort','matadjoint', + 'matcompanion','matdet','matdetint','matdiagonal','mateigen', + 'matfrobenius','mathess','mathilbert','mathnf','mathnfmod', + 'mathnfmodid','matid','matimage','matimagecompl','matindexrank', + 'matintersect','matinverseimage','matisdiagonal','matker', + 'matkerint','matmuldiagonal','matmultodiagonal','matpascal', + 'matrank','matrix','matrixqz','matsize','matsnf','matsolve', + 'matsolvemod','matsupplement','mattranspose','minpoly','qfgaussred', + 'qfjacobi','qflll','qflllgram','qfminim','qfperfection','qfrep', + 'qfsign','setintersect','setisset','setminus','setsearch','cmp', + 'setunion','trace','vecextract','vecsort','vector','vectorsmall', + 'vectorv','ellheegner' + ), + + 2 => array( + 'void','bool','negbool','small','int',/*'real',*/'mp','var','lg','pol', + 'vecsmall','vec','list','str','genstr','gen','typ' + ), + + 3 => array( + 'TeXstyle','breakloop','colors','compatible','datadir','debug', + 'debugfiles','debugmem','echo','factor_add_primes','factor_proven', + 'format','graphcolormap','graphcolors','help','histfile','histsize', + 'lines','linewrap',/*'log',*/'logfile','new_galois_format','output', + 'parisize','path','prettyprinter','primelimit','prompt_cont', + 'prompt','psfile','readline','realprecision','recover','secure', + 'seriesprecision',/*'simplify',*/'strictmatch','timer' + ), + + 4 => array( + 'alarmer','archer','errpile','gdiver','impl','syntaxer','invmoder', + 'overflower','talker','typeer','user' + ) + ), + 'SYMBOLS' => array( + 1 => array( + '(',')','{','}','[',']','+','-','*','/','%','=','<','>','!','^','&','|','?',';',':',',','\\','\'' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #e07022;', + 3 => 'color: #00d2d2;', + 4 => 'color: #00d2d2;' + ), + 'COMMENTS' => array( + 1 => 'color: #008000;', + 'MULTI' => 'color: #008000;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #111111; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #002222;' + ), + 'STRINGS' => array( + 0 => 'color: #800080;' + ), + 'NUMBERS' => array( + 0 => 'color: #666666;', + 1 => 'color: #666666;', + 2 => 'color: #666666;' + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;' + ), + 'REGEXPS' => array( + 0 => 'color: #e07022', # Should be the same as keyword group 2 + 1 => 'color: #555555' + ), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + 0 => array( # types marked on variables + GESHI_SEARCH => '(?<!\\\\ )"(t_(?:INT|REAL|INTMOD|FRAC|FFELT|COMPLEX|PADIC|QUAD|POLMOD|POL|SER|RFRAC|QFR|QFI|VEC|COL|MAT|LIST|STR|VECSMALL|CLOSURE))"', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '"', + GESHI_AFTER => '"' + ), + 1 => array( # literal variables + GESHI_SEARCH => '(?<!\\\\)(\'[a-zA-Z][a-zA-Z0-9_]*)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + 2 => array( + '[a-zA-Z][a-zA-Z0-9_]*:' => '' + ), + 3 => array( + 'default(' => '' + ), + 4 => array( + 'trap(' => '' + ), + ), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); + +?> diff --git a/inc/geshi/pascal.php b/inc/geshi/pascal.php index 2252a11de..de5ca8717 100644 --- a/inc/geshi/pascal.php +++ b/inc/geshi/pascal.php @@ -4,7 +4,7 @@ * ---------- * Author: Tux (tux@inamil.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/26 * * Pascal language file for GeSHi. @@ -50,12 +50,13 @@ $language_data = array ( 'LANG_NAME' => 'Pascal', 'COMMENT_SINGLE' => array(1 => '//'), - 'COMMENT_MULTI' => array('{' => '}','(*' => '*)'), + 'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'), + //Compiler directives + 'COMMENT_REGEXP' => array(2 => '/\\{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"'), - 'HARDQUOTE' => array("'", "'"), - 'HARDESCAPE' => array("''"), - 'ESCAPE_CHAR' => '\\', + 'QUOTEMARKS' => array("'"), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( 1 => array( 'absolute','asm','assembler','begin','break','case','catch','cdecl', @@ -67,7 +68,7 @@ $language_data = array ( 'or','overload','override','private','procedure','program', 'property','protected','public','published','raise','repeat', 'resourcestring','shl','shr','stdcall','stored','switch','then', - 'to','try','type','unit','until','uses','var','while','xor' + 'to','try','type','unit','until','uses','var','while','with','xor' ), 2 => array( 'nil', 'false', 'true', @@ -83,9 +84,6 @@ $language_data = array ( 'record','set','shortint','smallint','string','union','word' ), ), - 'SYMBOLS' => array( - ',', ':', '=', '+', '-', '*', '/' - ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, 1 => false, @@ -93,6 +91,12 @@ $language_data = array ( 3 => false, 4 => false, ), + 'SYMBOLS' => array( + 0 => array('(', ')', '[', ']'), + 1 => array('.', ',', ':', ';'), + 2 => array('@', '^'), + 3 => array('=', '+', '-', '*', '/') + ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #000000; font-weight: bold;', @@ -101,30 +105,35 @@ $language_data = array ( 4 => 'color: #000066; font-weight: bold;' ), 'COMMENTS' => array( - 1 => 'color: #666666; font-style: italic;', - 'MULTI' => 'color: #666666; font-style: italic;' + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #008000; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' ), 'ESCAPE_CHAR' => array( - 0 => 'color: #000099; font-weight: bold;', - 'HARD' => 'color: #000099; font-weight: bold;' + 0 => 'color: #ff0000; font-weight: bold;' ), 'BRACKETS' => array( 0 => 'color: #009900;' ), 'STRINGS' => array( 0 => 'color: #ff0000;', - 'HARD' => 'color: #ff0000;' + //'HARD' => 'color: #ff0000;' ), 'NUMBERS' => array( 0 => 'color: #cc66cc;' ), 'METHODS' => array( - 1 => 'color: #0066ee;' - ), - 'SYMBOLS' => array( - 0 => 'color: #339933;' + 1 => 'color: #006600;' ), 'REGEXPS' => array( + 0 => 'color: #0000cc;', + 1 => 'color: #ff0000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #000066;', + 1 => 'color: #000066;', + 2 => 'color: #000066;', + 3 => 'color: #000066;' ), 'SCRIPT' => array( ) @@ -140,6 +149,10 @@ $language_data = array ( 1 => '.' ), 'REGEXPS' => array( + //Hex numbers + 0 => '\$[0-9a-fA-F]+', + //Characters + 1 => '\#(?:\$[0-9a-fA-F]{1,2}|\d{1,3})' ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( @@ -149,4 +162,4 @@ $language_data = array ( 'TAB_WIDTH' => 4 ); -?> +?>
\ No newline at end of file diff --git a/inc/geshi/pcre.php b/inc/geshi/pcre.php index 1944bfdb3..13a2e024d 100644 --- a/inc/geshi/pcre.php +++ b/inc/geshi/pcre.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/05/22 * * PCRE language file for GeSHi. diff --git a/inc/geshi/per.php b/inc/geshi/per.php index 9819c03f5..c42ddb58a 100644 --- a/inc/geshi/per.php +++ b/inc/geshi/per.php @@ -4,7 +4,7 @@ * -------- * Author: Lars Gersmann (lars.gersmann@gmail.com) * Copyright: (c) 2007 Lars Gersmann - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/06/03 * * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi. diff --git a/inc/geshi/perl.php b/inc/geshi/perl.php index 487fd0515..309ebd861 100644 --- a/inc/geshi/perl.php +++ b/inc/geshi/perl.php @@ -4,7 +4,7 @@ * -------- * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/20 * * Perl language file for GeSHi. diff --git a/inc/geshi/perl6.php b/inc/geshi/perl6.php index 701e0b59c..706eabcb5 100644 --- a/inc/geshi/perl6.php +++ b/inc/geshi/perl6.php @@ -4,7 +4,7 @@ * --------- * Author: Kodi Arfer (kodiarfer {at} warpmail {period} net); forked from perl.php 1.0.8 by Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2009 Kodi Arfer, (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/11/07 * * Perl 6 language file for GeSHi. diff --git a/inc/geshi/pf.php b/inc/geshi/pf.php index a89e97ff0..818e11bcb 100644 --- a/inc/geshi/pf.php +++ b/inc/geshi/pf.php @@ -4,7 +4,7 @@ * -------- * Author: David Berard (david@nfrance.com) * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/16 * Based on bash.php * diff --git a/inc/geshi/php-brief.php b/inc/geshi/php-brief.php index d47737883..a4804b4da 100644 --- a/inc/geshi/php-brief.php +++ b/inc/geshi/php-brief.php @@ -4,7 +4,7 @@ * ------------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/02 * * PHP (brief version) language file for GeSHi. @@ -169,7 +169,7 @@ $language_data = array ( ), 'REGEXPS' => array( //Variables - 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*" + 0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" ), 'STRICT_MODE_APPLIES' => GESHI_MAYBE, 'SCRIPT_DELIMITERS' => array( diff --git a/inc/geshi/php.php b/inc/geshi/php.php index b36544213..2827457b1 100644 --- a/inc/geshi/php.php +++ b/inc/geshi/php.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/20 * * PHP language file for GeSHi. @@ -96,8 +96,9 @@ $language_data = array( ), 2 => array( '&new','</script>','<?php','<script language', - 'class','const','declare','extends','function','global','interface', - 'namespace','new','private','protected','public','self','use','var' + 'abstract','class','const','declare','extends','function','global', + 'interface','namespace','new','private','protected','public','self', + 'use','var' ), 3 => array( 'abs','acos','acosh','addcslashes','addslashes','aggregate', @@ -1061,7 +1062,7 @@ $language_data = array( ), 'REGEXPS' => array( //Variables - 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*" + 0 => "[\\$]+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" ), 'STRICT_MODE_APPLIES' => GESHI_MAYBE, 'SCRIPT_DELIMITERS' => array( @@ -1083,22 +1084,24 @@ $language_data = array( "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|". "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|". "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|". - "\\/\\/(?>.*?$)|". + "\\/\\/(?>.*?(?:\\?>|$))|". + "#(?>.*?(?:\\?>|$))|". "\\/(?=[^*\\/])|". "<(?!<<)|". "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>". - ")*(?P<end>\\?>|\Z)/sm", + ")*?(?P<end>\\?>|\Z)/sm", 5 => "/(?P<start><%)(?:". "(?>[^\"'%\\/<]+)|". "%(?!>)|". "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|". "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|". "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|". - "\\/\\/(?>.*?$)|". + "\\/\\/(?>.*?(?:%>|$))|". + "#(?>.*?(?:%>|$))|". "\\/(?=[^*\\/])|". "<(?!<<)|". "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>". - ")*(?P<end>%>)/sm", + ")*?(?P<end>%>|\Z)/sm", ), 'HIGHLIGHT_STRICT_BLOCK' => array( 0 => true, @@ -1111,4 +1114,4 @@ $language_data = array( 'TAB_WIDTH' => 4 ); -?>
\ No newline at end of file +?> diff --git a/inc/geshi/pic16.php b/inc/geshi/pic16.php index 94e098293..46d7ac94d 100644 --- a/inc/geshi/pic16.php +++ b/inc/geshi/pic16.php @@ -4,7 +4,7 @@ * ------- * Author: Phil Mattison (mattison@ohmikron.com) * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/07/30 * * PIC16 Assembler language file for GeSHi. diff --git a/inc/geshi/pike.php b/inc/geshi/pike.php index a3de9082e..743f711b1 100644 --- a/inc/geshi/pike.php +++ b/inc/geshi/pike.php @@ -4,7 +4,7 @@ * -------- * Author: Rick E. (codeblock@eighthbit.net) * Copyright: (c) 2009 Rick E. - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/12/10 * * Pike language file for GeSHi. diff --git a/inc/geshi/pixelbender.php b/inc/geshi/pixelbender.php index b9fe1aff2..7b29ee6c3 100644 --- a/inc/geshi/pixelbender.php +++ b/inc/geshi/pixelbender.php @@ -4,7 +4,7 @@ * ---------------- * Author: Richard Olsson (r@richardolsson.se) * Copyright: (c) 2008 Richard Olsson (richardolsson.se) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/11/16 * * Pixel Bender 1.0 language file for GeSHi. diff --git a/inc/geshi/pli.php b/inc/geshi/pli.php index 1d6eefd9b..c29985140 100644 --- a/inc/geshi/pli.php +++ b/inc/geshi/pli.php @@ -4,7 +4,7 @@ * -------- * Author: Robert AH Prins (robert@prino.org) * Copyright: (c) 2011 Robert AH Prins (http://hitchwiki.org/en/User:Prino) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2011/02/09 * * PL/I language file for GeSHi. diff --git a/inc/geshi/plsql.php b/inc/geshi/plsql.php index 8428ff4b6..09f90a225 100644 --- a/inc/geshi/plsql.php +++ b/inc/geshi/plsql.php @@ -4,7 +4,7 @@ * ------- * Author: Victor Engmark <victor.engmark@gmail.com> * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/10/26 * * Oracle 9.2 PL/SQL language file for GeSHi. diff --git a/inc/geshi/postgresql.php b/inc/geshi/postgresql.php index 0245b33ad..662fdd760 100644 --- a/inc/geshi/postgresql.php +++ b/inc/geshi/postgresql.php @@ -5,7 +5,7 @@ * Author: Christophe Chauvet (christophe_at_kryskool_dot_org) * Contributors: Leif Biberg Kristensen <leif_at_solumslekt_dot_org> 2010-05-03 * Copyright: (c) 2007 Christophe Chauvet (http://kryskool.org/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/07/20 * * PostgreSQL language file for GeSHi. diff --git a/inc/geshi/povray.php b/inc/geshi/povray.php index eeda49f49..c0ce35ca1 100644 --- a/inc/geshi/povray.php +++ b/inc/geshi/povray.php @@ -4,7 +4,7 @@ * -------- * Author: Carl Fürstenberg (azatoth@gmail.com) * Copyright: © 2007 Carl Fürstenberg - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/07/11 * * Povray language file for GeSHi. diff --git a/inc/geshi/powerbuilder.php b/inc/geshi/powerbuilder.php index f978f3f5b..d3fcf615f 100644 --- a/inc/geshi/powerbuilder.php +++ b/inc/geshi/powerbuilder.php @@ -4,7 +4,7 @@ * ------ * Author: Doug Porter (powerbuilder.geshi@gmail.com) * Copyright: (c) 2009 Doug Porter - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/07/13 * * PowerBuilder (PowerScript) language file for GeSHi. diff --git a/inc/geshi/powershell.php b/inc/geshi/powershell.php index 1d9003030..bd78d7392 100644 --- a/inc/geshi/powershell.php +++ b/inc/geshi/powershell.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Frode Aarebrot (frode@aarebrot.net) * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/06/20 * * PowerShell language file for GeSHi. diff --git a/inc/geshi/proftpd.php b/inc/geshi/proftpd.php index dd57d9b0a..330db4b27 100644 --- a/inc/geshi/proftpd.php +++ b/inc/geshi/proftpd.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2011/01/25 * * ProFTPd language file for GeSHi. diff --git a/inc/geshi/progress.php b/inc/geshi/progress.php index affb62000..79900261b 100644 --- a/inc/geshi/progress.php +++ b/inc/geshi/progress.php @@ -4,7 +4,7 @@ * -------- * Author: Marco Aurelio de Pasqual (marcop@hdi.com.br) * Copyright: (c) 2008 Marco Aurelio de Pasqual, Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/07/11 * * Progress language file for GeSHi. diff --git a/inc/geshi/prolog.php b/inc/geshi/prolog.php index 74d03374c..a106a4e4e 100644 --- a/inc/geshi/prolog.php +++ b/inc/geshi/prolog.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/10/02 * * Prolog language file for GeSHi. diff --git a/inc/geshi/properties.php b/inc/geshi/properties.php index 08ba9a419..e1317b227 100644 --- a/inc/geshi/properties.php +++ b/inc/geshi/properties.php @@ -4,7 +4,7 @@ * -------- * Author: Edy Hinzen * Copyright: (c) 2009 Edy Hinzen - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/04/03 * * Property language file for GeSHi. diff --git a/inc/geshi/providex.php b/inc/geshi/providex.php index b7232873a..1e735bd0f 100644 --- a/inc/geshi/providex.php +++ b/inc/geshi/providex.php @@ -4,7 +4,7 @@ * ---------- * Author: Jeff Wilder (jeff@coastallogix.com) * Copyright: (c) 2008 Coastal Logix (http://www.coastallogix.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/10/18 * * ProvideX language file for GeSHi. diff --git a/inc/geshi/purebasic.php b/inc/geshi/purebasic.php index 213868d74..d78ffe97b 100644 --- a/inc/geshi/purebasic.php +++ b/inc/geshi/purebasic.php @@ -4,7 +4,7 @@ * ------- * Author: GuShH * Copyright: (c) 2009 Gustavo Julio Fiorenza - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 13/06/2009 * * PureBasic language file for GeSHi. diff --git a/inc/geshi/pycon.php b/inc/geshi/pycon.php index 141d521f9..ac2b34d07 100644 --- a/inc/geshi/pycon.php +++ b/inc/geshi/pycon.php @@ -4,7 +4,7 @@ * ---------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * Python language file for GeSHi. diff --git a/inc/geshi/pys60.php b/inc/geshi/pys60.php new file mode 100644 index 000000000..59c67fac7 --- /dev/null +++ b/inc/geshi/pys60.php @@ -0,0 +1,273 @@ +<?php +/************************************************************************************** + * pys60.php + * ---------- + * Author: Sohan Basak (ronnie.basak96 @gmail.com) + * Copyright: (c) 2012 Sohan Basak (http://tothepower.tk), Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) + * Release Version: 1.0.8.11 + * Date Started: 2012/05/03 + * + * Python for S60 language file for GeSHi. + * + * CHANGES + * ------- + * No Changes Till Date + * + * The python.php file is extended to pys60.php with required modifications + * + * NOTES + * + * -I have kept the ":" in Reserved chars, so that it gets highlighted differently than brackets and/or symbols + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Python for S60', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', "'", '"""',"'''",'""','""'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + + /* + ** Set 1: reserved words + ** http://python.org/doc/current/ref/keywords.html + */ + 1 => array( + 'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break', + 'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec', + 'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', "<<", ">>", "as" + ), + + /* + ** Set 2: builtins + ** http://python.org/doc/current/lib/built-in-funcs.html + */ + 2 => array( + '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp', + 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', + 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', + 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals', + 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range', + 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', + 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', + 'vars', 'xrange', 'zip', + // Built-in constants: http://python.org/doc/current/lib/node35.html + 'False', 'True', 'None', 'NotImplemented', 'Ellipsis', + // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html + 'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError', + 'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError', + 'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError', + 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError', + 'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError', + 'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError', + 'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning', + 'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning', + 'RuntimeWarning', 'FutureWarning', + //Symbian Errors + "SymbianError", "KernelError", + // self: this is a common python convention (but not a reserved word) + 'self' + ), + + /* + ** Set 3: standard library + ** http://python.org/doc/current/lib/modindex.html + */ + 3 => array( + '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm', + 'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer', + 'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi', + 'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop', + 'collections', 'colorsys', 'commands', 'compileall', 'compiler', + 'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt', + 'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE', + 'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm', + 'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl', + 'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl', + 'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob', + 'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib', + 'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect', + 'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap', + 'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify', + 'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator', + 'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes', + 'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile', + 'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random', + 're', 'readline', 'resource', 'rexec', 'rgbimg', 'rlcompleter', + 'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve', + 'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd', + 'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string', + 'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev', + 'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios', + 'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token', + 'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2', + 'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings', + 'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml', + 'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib', "os.path", "sys.path", + + //PythonS60 Standard Library + //http://pys60.garage.maemo.org/doc/s60/ + //These are the standard modules in the archive + + "appuifw", "globalui","e32", "telephone", "aosocket", "btsocket", + "sysinfo","camera","graphics","keycapture","key_codes","topwindow", "gles", + "glcanvas","sensor", "audio","messaging", "inbox","location","positioning", + "contacts", "e32calendar", "e32db","e32dbm","logs","scriptext", + "series60_console", + + //These are external but very often usable modules + + "appuifw2","ArchetypeUI","elementtree","lightblue", + "activaprofile","Adjustor","akntextutils","aosocketnativenew", + "appreciation","applicationmanager","appswitch","atextit","bt_teror","btconsole", + "btswitch","cElementTree","cenrep","cerealizer","cl_gui","clipboard", + "clipboard_CHN","debugger","decompile2", + "dir_iter","download","easydb","ECenrep","Edit_find","efeature","elocation","envy", + "EProfile","erestart","error","esyagent","Execwap","exprofile","fastcamera", + "feature","fgimage","filebrowser","firmware","fold","fonts","fraction","FTP", + "ftplibnew","fy_manager","fy_menu","gles_utils","gps_location","hack", + "HTML2TXT","iapconnect","icon_image","image_decoder", + "ini","interactive_console","inting","key_modifiers","key_tricks","keypress", + "landmarks","lite_fm","locationacq","locationrequestor", + "logo","markupbase","mbm","mbm2","minidb","miniinfo","MISC", + "misty","Msg","ntpath","odict","Paintbox","pathinfo","pexif","pickcolor", + "powlite_fm","powlite_fm2","powlite_fm3","powlite_fme","prgbar","prodb", + "profileengine","progressbar","progressbartw","progressnotes", + "ProgressBarTW2","proshivka","py_upload","pyConnection","PyFileMan", + "pykeylock","PyPyc","pyqq","pys60crypto","pys60usb","rfc822", + "RUSOS","scmk","scrollpage","SISFIELDS","SISFIELD","sisfile", + "SISINFO","sisreader","Sistools","smidi","smsreject","speechy","sre_compile", + "sre_constants","sre_parse","sre","sysagent","syslang","TextMan", + "textrenderer","TextWrap","topwind","tsocket","uikludge","uikludges","uitricks", + "walkfile","wallpaper","wfm_lite", + "wif_keys","wif","window","wlanmgmt","wlantools","wt_color","wt_requesters", + "zhkey", + + //These are recent additions + "miffile" + ), + + /* + ** Set 4: special methods + ** http://python.org/doc/current/ref/specialnames.html + */ + 4 => array( + ///* + //// Iterator types: http://python.org/doc/current/lib/typeiter.html + //'__iter__', 'next', + //// String types: http://python.org/doc/current/lib/string-methods.html + //'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', + //'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', + //'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust', + //'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', + //'translate', 'upper', 'zfill', + // */ + + // Basic customization: http://python.org/doc/current/ref/customization.html + '__new__', '__init__', '__del__', '__repr__', '__str__', + '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__', + '__hash__', '__nonzero__', '__unicode__', '__dict__', + // Attribute access: http://python.org/doc/current/ref/attribute-access.html + '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__', + '__delete__', '__slots__', + // Class creation, callable objects + '__metaclass__', '__call__', + // Container types: http://python.org/doc/current/ref/sequence-types.html + '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__', + '__getslice__', '__setslice__', '__delslice__', + // Numeric types: http://python.org/doc/current/ref/numeric-types.html + '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__', + '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__', + '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__', + '__long__','__lshift__', + '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__', + '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__', + '__rshift__','__rsub__','__rmul__','__rand__','__rxor__','__ror__', + '__sub__','__xor__' + ) + + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #006000;font-weight:bold;', // Reserved + 2 => 'color: #800950;font-size:105%', // Built-ins + self + 3 => 'color: #003399;font-size:106%', // Standard lib + 4 => 'color: #0000cd;' // Special methods + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style:italic;font-size:92%', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #930; font-weight: bold;font-size:105%' + ), + 'BRACKETS' => array( + 0 => 'color: maroon;font-size:102%;padding:2px' + ), + 'STRINGS' => array( + 0 => 'color: #666;' + ), + 'NUMBERS' => array( + 0 => 'color: #2356F8;' + ), + 'METHODS' => array( + 1 => 'color: navy;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66ccFF;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> diff --git a/inc/geshi/python.php b/inc/geshi/python.php index 38d9a0b02..ec9b17e6f 100644 --- a/inc/geshi/python.php +++ b/inc/geshi/python.php @@ -4,7 +4,7 @@ * ---------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * Python language file for GeSHi. diff --git a/inc/geshi/q.php b/inc/geshi/q.php index e4bb92da8..ade9928d0 100644 --- a/inc/geshi/q.php +++ b/inc/geshi/q.php @@ -4,7 +4,7 @@ * ----- * Author: Ian Roddis (ian.roddis@proteanmind.net) * Copyright: (c) 2008 Ian Roddis (http://proteanmind.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/01/21 * * q/kdb+ language file for GeSHi. diff --git a/inc/geshi/qbasic.php b/inc/geshi/qbasic.php index ff61449d0..3345e3c69 100644 --- a/inc/geshi/qbasic.php +++ b/inc/geshi/qbasic.php @@ -4,7 +4,7 @@ * ---------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/20 * * QBasic/QuickBASIC language file for GeSHi. @@ -62,6 +62,10 @@ $language_data = array ( 'CASE_KEYWORDS' => GESHI_CAPS_UPPER, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => '', + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | + GESHI_NUMBER_FLT_SCI_ZERO, 'KEYWORDS' => array( 1 => array( 'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF', diff --git a/inc/geshi/rails.php b/inc/geshi/rails.php index 0e825040e..65ddee884 100644 --- a/inc/geshi/rails.php +++ b/inc/geshi/rails.php @@ -4,7 +4,7 @@ * --------- * Author: Moises Deniz * Copyright: (c) 2005 Moises Deniz - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/03/21 * * Ruby (with Ruby on Rails Framework) language file for GeSHi. diff --git a/inc/geshi/rebol.php b/inc/geshi/rebol.php index 1e5dff626..ea86c21cd 100644 --- a/inc/geshi/rebol.php +++ b/inc/geshi/rebol.php @@ -4,7 +4,7 @@ * -------- * Author: Lecanu Guillaume (Guillaume@LyA.fr) * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/12/22 * * Rebol language file for GeSHi. diff --git a/inc/geshi/reg.php b/inc/geshi/reg.php index 9878f42f6..157b2bd24 100644 --- a/inc/geshi/reg.php +++ b/inc/geshi/reg.php @@ -4,7 +4,7 @@ * ------- * Author: Sean Hanna (smokingrope@gmail.com) * Copyright: (c) 2006 Sean Hanna - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 03/15/2006 * * Microsoft Registry Editor language file for GeSHi. diff --git a/inc/geshi/rexx.php b/inc/geshi/rexx.php new file mode 100644 index 000000000..b3cb93229 --- /dev/null +++ b/inc/geshi/rexx.php @@ -0,0 +1,162 @@ +<?php +/************************************************************************************* + * rexx.php + * --------------------------------- + * Author: Jon Wolfers (sahananda@windhorse.biz) + * Contributors: + * - Walter Pachl (pachl@chello.at) + * Copyright: (c) 2008 Jon Wolfers, (c) 2012 Walter Pachl + * Release Version: 1.0.8.11 + * Date Started: 2008/01/07 + * + * Rexx language file for GeSHi. + * + * CHANGES + * ------- + * 2012/07/29 (1.0.0) + * - tried to get it syntactically right + * + * TODO (updated 2012/07/29) + * ------------------------- + * - Get it working on rosettacode.org + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'rexx', + 'COMMENT_SINGLE' => array(1 => '--'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'address', 'arg', 'attribute', 'call', 'constant', 'do', + 'drop', 'exit', 'forward', 'if', + 'interpret', 'iterate', 'leave', 'loop', 'nop', 'numeric', + 'options', 'parse', 'procedure', 'pull', 'push', 'queue', + 'raise', 'return', 'say', 'select', 'signal', 'trace' + ), + 2 => array( + 'by', 'digits', 'engineering', 'error', 'expose', + 'failure', 'for', 'forever', 'form', 'fuzz', 'halt', + 'name', 'novalue', 'off', 'on', 'over', 'scientific', 'source', + 'syntax', 'to', 'until', 'upper', 'version', + 'while', 'with' + ), + 3 => array( + 'else', 'end', 'otherwise', 'then', 'when' + ), + 4 => array( + 'rc', 'result', 'sigl' + ), + 5 => array( + 'placeholderforoorexxdirectives' + ), + 6 => array( + 'abbrev', 'abs', 'beep', 'bitand', 'bitor', + 'bitxor', 'b2x', 'center', 'centre', 'changestr', 'charin', + 'charout', 'chars', 'compare', 'condition', 'copies', + 'countstr', 'c2d', 'c2x', 'datatype', 'date', 'delstr', + 'delword', 'directory', 'd2c', 'd2x', 'endlocal', + 'errortext', 'filespec', 'format', 'insert', + 'lastpos', 'left', 'length', 'linein', 'lineout', 'lines', + 'lower', 'max', 'min', 'overlay', 'pos', 'queued', 'random', + 'reverse', 'right', 'rxfuncadd', 'rxfuncdrop', 'rxfuncquery', + 'rxqueue', 'setlocal', 'sign', 'sourceline', 'space', + 'stream', 'strip', 'substr', 'subword', 'symbol', 'time', + 'translate', 'trunc', 'userid', 'value', + 'var', 'verify', 'word', 'wordindex', 'wordlength', 'wordpos', + 'words', 'xrange', 'x2b', 'x2c', 'x2d' + ) + ), + 'SYMBOLS' => array( + '(', ')', '<', '>', '=', '+', '-', '*', '**', '/', '|', '%', '^', '&', ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #ff0000; font-weight: bold;', + 3 => 'color: #00ff00; font-weight: bold;', + 4 => 'color: #0000ff; font-weight: bold;', + 5 => 'color: #880088; font-weight: bold;', + 6 => 'color: #888800; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 'MULTI' => 'color: #808080;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> diff --git a/inc/geshi/robots.php b/inc/geshi/robots.php index c0713a64c..0b75f7111 100644 --- a/inc/geshi/robots.php +++ b/inc/geshi/robots.php @@ -4,7 +4,7 @@ * -------- * Author: Christian Lescuyer (cl@goelette.net) * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/02/17 * * robots.txt language file for GeSHi. diff --git a/inc/geshi/rpmspec.php b/inc/geshi/rpmspec.php index 243df94c7..fd6a561f8 100644 --- a/inc/geshi/rpmspec.php +++ b/inc/geshi/rpmspec.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Paul Grinberg (gri6507 TA unity-linux TOD org) * Copyright: (c) 2010 Paul Grinberg - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/04/27 * * RPM Spec language file for GeSHi. diff --git a/inc/geshi/rsplus.php b/inc/geshi/rsplus.php index 41cdd158b..e8a4e722b 100644 --- a/inc/geshi/rsplus.php +++ b/inc/geshi/rsplus.php @@ -5,8 +5,9 @@ * Author: Ron Fredericks (ronf@LectureMaker.com) * Contributors: * - Benilton Carvalho (beniltoncarvalho@gmail.com) + * - Fernando Henrique Ferraz Pereira da Rosa (mentus@gmail.com) * Copyright: (c) 2009 Ron Fredericks (http://www.LectureMaker.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/03/28 * * R language file for GeSHi. @@ -440,18 +441,17 @@ $language_data = array ( 0 => 'color:#A020F0;' ), 'SCRIPT' => array( - 0 => '' - ) + 0 => '' ) ), 'URLS' => array( 1 => '', - 2 => 'http://astrostatistics.psu.edu/su07/R/html/graphics/html/{FNAME}.html', // http://sekhon.berkeley.edu/library/graphics/html/{FNAME}.html - 3 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/Normal.html', // http://sekhon.berkeley.edu/library/stats/html/Normal.html - 4 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/{FNAME}.html', // http://sekhon.berkeley.edu/library/stats/html/{FNAME}.html - 5 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/summary.lm.html', // http://sekhon.berkeley.edu/library/stats/html/summary.lm.html - 6 => 'http://astrostatistics.psu.edu/su07/R/html/base/html/Log.html', // http://sekhon.berkeley.edu/library/base/html/Log.html - 7 => '', - 8 => '' + 2 => 'http://stat.ethz.ch/R-manual/R-devel/library/base/html/{FNAME}.html', // Base Package + 3 => 'http://stat.ethz.ch/R-manual/R-devel/library/datasets/html/{FNAME}.html', // Datasets + 4 => 'http://stat.ethz.ch/R-manual/R-devel/library/graphics/html/{FNAME}.html', // Graphics Package + 5 => 'http://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/{FNAME}.html', // grDevices + 6 => 'http://stat.ethz.ch/R-manual/R-devel/library/methods/html/{FNAME}.html', // methods + 7 => 'http://stat.ethz.ch/R-manual/R-devel/library/stats/html/{FNAME}.html', // stats + 8 => 'http://stat.ethz.ch/R-manual/R-devel/library/utils/html/{FNAME}.html' // utils ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( diff --git a/inc/geshi/ruby.php b/inc/geshi/ruby.php index c38d5a218..f6eb1b1e3 100644 --- a/inc/geshi/ruby.php +++ b/inc/geshi/ruby.php @@ -4,7 +4,7 @@ * -------- * Author: Moises Deniz * Copyright: (c) 2007 Moises Deniz - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/03/21 * * Ruby language file for GeSHi. diff --git a/inc/geshi/sas.php b/inc/geshi/sas.php index 6f4ce285e..dbf95a14e 100644 --- a/inc/geshi/sas.php +++ b/inc/geshi/sas.php @@ -4,7 +4,7 @@ * ------- * Author: Galen Johnson (solitaryr@gmail.com) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/12/27 * * SAS language file for GeSHi. Based on the sas vim file. diff --git a/inc/geshi/scala.php b/inc/geshi/scala.php index 12462cf3b..405f59de0 100644 --- a/inc/geshi/scala.php +++ b/inc/geshi/scala.php @@ -4,7 +4,7 @@ * ---------- * Author: Franco Lombardo (franco@francolombardo.net) * Copyright: (c) 2008 Franco Lombardo, Benny Baumann - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/02/08 * * Scala language file for GeSHi. @@ -41,9 +41,20 @@ $language_data = array ( 'LANG_NAME' => 'Scala', 'COMMENT_SINGLE' => array(1 => '//'), 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array(2 => "/\\'(?!\w\\'|\\\\)\w+(?=\s)/"), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), + 'QUOTEMARKS' => array("'",'"'), 'ESCAPE_CHAR' => '\\', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[nfrtv\$\"\n\\\\]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{1,2}#i", + //Hexadecimal Char Specs (unicode) + 3 => "#\\\\u[\da-fA-F]{1,4}#", + //Hexadecimal Char Specs (Extended Unicode) + 4 => "#\\\\U[\da-fA-F]{1,8}#", + ), 'KEYWORDS' => array( 1 => array( 'abstract', 'case', 'catch', 'class', 'def', @@ -75,11 +86,16 @@ $language_data = array ( 2 => 'color: #9999cc; font-weight: bold;', ), 'COMMENTS' => array( - 1=> 'color: #008000; font-style: italic;', + 1 => 'color: #008000; font-style: italic;', + 2 => 'color: #CC66FF;', 'MULTI' => 'color: #00ff00; font-style: italic;' ), 'ESCAPE_CHAR' => array( - 0 => 'color: #0000ff; font-weight: bold;' + 0 => 'color: #6666ff; font-weight: bold;', + 1 => 'color: #6666ff; font-weight: bold;', + 2 => 'color: #5555ff; font-weight: bold;', + 3 => 'color: #4444ff; font-weight: bold;', + 4 => 'color: #3333ff; font-weight: bold;' ), 'BRACKETS' => array( 0 => 'color: #F78811;' @@ -119,4 +135,4 @@ $language_data = array ( ) ); -?> +?>
\ No newline at end of file diff --git a/inc/geshi/scheme.php b/inc/geshi/scheme.php index f687e79a7..a84b90809 100644 --- a/inc/geshi/scheme.php +++ b/inc/geshi/scheme.php @@ -4,7 +4,7 @@ * ---------- * Author: Jon Raphaelson (jonraphaelson@gmail.com) * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * Scheme language file for GeSHi. diff --git a/inc/geshi/scilab.php b/inc/geshi/scilab.php index cd1ca70f1..f011497dd 100644 --- a/inc/geshi/scilab.php +++ b/inc/geshi/scilab.php @@ -4,7 +4,7 @@ * -------- * Author: Christophe David (geshi@christophedavid.org) * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/08/04 * * SciLab language file for GeSHi. diff --git a/inc/geshi/sdlbasic.php b/inc/geshi/sdlbasic.php index 27aaf522b..381161fdf 100644 --- a/inc/geshi/sdlbasic.php +++ b/inc/geshi/sdlbasic.php @@ -4,7 +4,7 @@ * ------------ * Author: Roberto Rossi * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/08/19 * * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi. diff --git a/inc/geshi/smalltalk.php b/inc/geshi/smalltalk.php index 008bfcd1d..5b61badaf 100644 --- a/inc/geshi/smalltalk.php +++ b/inc/geshi/smalltalk.php @@ -4,7 +4,7 @@ * -------- * Author: Bananeweizen (Bananeweizen@gmx.de) * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/03/27 * * Smalltalk language file for GeSHi. diff --git a/inc/geshi/smarty.php b/inc/geshi/smarty.php index 1d8199936..86e9d44c0 100644 --- a/inc/geshi/smarty.php +++ b/inc/geshi/smarty.php @@ -4,7 +4,7 @@ * ---------- * Author: Alan Juden (alan@judenware.org) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/07/10 * * Smarty template language file for GeSHi. diff --git a/inc/geshi/spark.php b/inc/geshi/spark.php new file mode 100644 index 000000000..0284a1a47 --- /dev/null +++ b/inc/geshi/spark.php @@ -0,0 +1,132 @@ +<?php +/************************************************************************************* + * ada.php + * ------- + * Author: Phil Thornley (tux@inmail.cz) + * Copyright: (c) 2004 Phil Thornley (http://www.sparksure.com) + * Release Version: 1.0.8.11 + * Date Started: 2010/08/22 + * + * SPARK language file for GeSHi. + * + * Created by modifying Ada file version 1.0.2 + * Words are from SciTe configuration file + * + * CHANGES + * ------- + * 2010/08/28 (1.0.0) + * - First Release + * + * TODO (updated 2010/08/22) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'SPARK', + 'COMMENT_SINGLE' => array(1 => '--', 2 => '--#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if', + 'is', 'loop', 'while', 'then', 'end', 'select', 'case', 'until', + 'goto', 'return' + ), + 2 => array( + 'abs', 'and', 'at', 'mod', 'not', 'or', 'rem', 'xor' + ), + 3 => array( + 'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', + 'body', 'constant', 'delay', 'delta', 'digits', 'entry', 'exit', + 'function', 'generic', 'in', 'interface', 'limited', 'new', 'null', + 'of', 'others', 'out', 'overriding', 'package', 'pragma', 'private', + 'procedure', 'protected', 'raise', 'range', 'record', 'renames', + 'requeue', 'reverse', 'separate', 'subtype', 'synchronized', + 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with' + ) + ), + 'SYMBOLS' => array( + '(', ')' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00007f;', + 2 => 'color: #0000ff;', + 3 => 'color: #46aa03; font-weight:bold;', + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'COMMENTS' => array( + 1 => 'color: #adadad; font-style: italic;', + 2 => 'color: #adadad; font-style: italic; font-weight: bold;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #7f007f;' + ), + 'NUMBERS' => array( + 0 => 'color: #ff0000;' + ), + 'METHODS' => array( + 1 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?>
\ No newline at end of file diff --git a/inc/geshi/sparql.php b/inc/geshi/sparql.php new file mode 100644 index 000000000..282165a01 --- /dev/null +++ b/inc/geshi/sparql.php @@ -0,0 +1,155 @@ +<?php +/************************************************************************************* + * sparql.php + * ------- + * Author: Karima Rafes (karima.rafes@bordercloud.com) + * Copyright: (c) 2011 Bourdercloud.com + * Release Version: 1.0.8.11 + * Date Started: 2011/11/05 + * + * SPARQL language file for GeSHi. + * + * CHANGES + * ------- + * 2011/11/05 (1.0.0) + * - First Release + * + * TODO + * ---- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'SPARQL', + 'COMMENT_SINGLE' => array('#'), + 'COMMENT_MULTI' => array('/*' => '*/' ), + 'COMMENT_REGEXP' => array( + //IRI (it's not a comment ;) + 1 => "/<[^> ]*>/i" + ), + 'CASE_KEYWORDS' => 1, + 'QUOTEMARKS' => array("'", '"', '`'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'BASE','PREFIX','SELECT','DISTINCT','REDUCED','CONSTRUCT','DESCRIBE','ASK','FROM', + 'NAMED','WHERE','ORDER','BY','ASC','DESC','LIMIT','OFFSET','OPTIONAL','GRAPH', + 'UNION','FILTER','STR','LANG','LANGMATCHES','DATATYPE','BOUND','SAMETERM', + 'ISIRI','ISURI','ISBLANK', + 'ISLITERAL','REGEX','SUBSTR','TRUE', + 'FALSE','LOAD','CLEAR', + 'DROP','ADD','MOVE','COPY', + 'CREATE','DELETE','INSERT', + 'USING','SILENT','DEFAULT','ALL', + 'DATA','WITH','INTO','TO', + 'AS','GROUP','HAVING','UNDEF', + 'BINDINGS','SERVICE','BIND','MINUS_KEYWORD', + 'IRI','URI', 'BNODE', + 'RAND','ABS','CEIL','FLOOR','ROUND', + 'CONCAT','STRLEN', + 'UCASE','LCASE','ENCODE_FOR_URI', + 'CONTAINS','STRSTARTS', + 'STRENDS','STRBEFORE', + 'STRAFTER','REPLACE', + 'YEAR','MONTH', + 'DAY','HOURS', + 'MINUTES','SECONDS', + 'TIMEZONE','TZ', + 'NOW','MD5', + 'SHA1','SHA224', + 'SHA256','SHA384', + 'SHA512','COALESCE', + 'IF','STRLANG','STRDT', + 'ISNUMERIC','COUNT', + 'SUM','MIN', + 'MAX','AVG','SAMPLE', + 'GROUP_CONCAT ','NOT', + 'IN','EXISTS','SEPARATOR' + ) + ), + 'REGEXPS' => array( + //Variables without braces + 1 => "\\?[a-zA-Z_][a-zA-Z0-9_]*", + //prefix + 2 => "[a-zA-Z_.\\-0-9]*:", + //tag lang + 3 => "@[^ .)}]*", + ), + 'SYMBOLS' => array( + 0 => array( + '{', '}' , '.', ';' + ), + 1 => array( + '^^', + '<=','>=','!=','=','<','>','|', + '&&','||', + '(',')','[', ']', + '+','-','*','!','/' + ), + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #993333; font-weight: bold;' + ), + 'COMMENTS' => array( + 0 => 'color: #808080; font-style: italic;', + 1 => 'color: #000078;', + //2 => 'color: #808080; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array(), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #FF63C3;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #0000FF;', + 1 => 'color: #FF8000; font-weight: bold;' + ), + 'SCRIPT' => array(), + 'REGEXPS' => array( + 1 => 'color: #007800;', + 2 => 'color: #780078;', + 3 => 'color: #005078;' + ) + ), + 'URLS' => array( + 1 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); + +?>
\ No newline at end of file diff --git a/inc/geshi/sql.php b/inc/geshi/sql.php index 6f7870196..4d08a51fe 100644 --- a/inc/geshi/sql.php +++ b/inc/geshi/sql.php @@ -6,7 +6,7 @@ * Contributors: * - Jürgen Thomas (Juergen.Thomas@vs-polis.de) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * SQL language file for GeSHi. diff --git a/inc/geshi/stonescript.php b/inc/geshi/stonescript.php new file mode 100644 index 000000000..2844e885e --- /dev/null +++ b/inc/geshi/stonescript.php @@ -0,0 +1,307 @@ +<?php +/************************************************************************************* + * stonescript.php + * -------- + * Author: Archimmersion ( based on ruby.php by Moises Deniz ) + * Copyright: (c) 2011 Archimmersion ( http://www.archimmersion.com ) + * Release Version: 1.0.8.11 + * Date Started: 2011/03/30 + * + * StoneScript language file for GeSHi. + * + * StonesCript is a Lua based script language for the ShiVa3D game engine ( http://www.stonetrip.com ) + * + * More information can be found at http://www.stonetrip.com/developer/doc/api/introduction + * + * CHANGES + * ------- + * 2011/04/18 (1.0.8.11) + * - Initial release + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'StoneScript', + 'COMMENT_SINGLE' => array(1 => "--"), + 'COMMENT_MULTI' => array("--[[" => "]]"), + 'COMMENT_REGEXP' => array( + 4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', '`','\''), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + // Blue - General Keywords + 1 => array( + 'and', 'begin', 'break', 'do', 'else', 'elseif', 'end', + 'for', 'if', 'in', 'while', 'next', 'not', 'or', 'redo', + 'then', 'unless', 'until', 'when', 'false', 'nil', 'self', + 'true', 'local', 'this', 'return', + ), + // Dark Blue - Main API names + 2 => array( + 'animation', 'application', 'cache', 'camera', 'debug', + 'dynamics', 'group', 'hashtable', 'hud', 'input', 'light', + 'log', 'math', 'mesh', 'microphone', 'music', 'navigation', + 'network', 'object', 'pixelmap', 'projector', 'scene', + 'sensor', 'server', 'session', 'sfx', 'shape', 'sound', + 'string', 'system', 'table', 'user', 'video', 'xml', + // Plugin API names + 'plasma', 'watersim', + 'winDirectories', + 'ActionSheet', 'Alert', 'Mail', 'Picker', 'StatusBar', + ), + // Constants + // Can be commented out if performance is crucial -> then these keywords will appear in a slightly lighter color + 3 => array( + //Animation + 'kPlaybackModeLoop', 'kPlaybackModeLoopMirrored', 'kPlaybackModeLoopReversed', + 'kPlaybackModeOnce', 'kPlaybackModeOnceReversed', + //Application - Environment + 'kStatusLoading', 'kStatusReady', 'kStatusSaving', // 'kStatusNone' + //Application - Options + 'kOptionAudioMasterVolume', 'kOptionAutomaticVirtualKeyboard', 'kOptionDynamicShadowsBufferCount', + 'kOptionDynamicShadowsBufferSize', 'kOptionDynamicShadowsConstantSampling', 'kOptionDynamicShadowsPCFSampleCount', + 'kOptionDynamicShadowsQuality', 'kOptionDynamicShadowsScreenSpaceBlur', 'kOptionFullscreen', + 'kOptionFullscreenHeight', 'kOptionFullscreenWidth', 'kOptionHardwareOcclusion', + 'kOptionMaxEventBouncesPerFrame', 'kOptionNetworkStreams', 'kOptionNetworkStreamsUseBrowser', + 'kOptionPrioritizeEventBounces', 'kOptionRenderingEnabled', 'kOptionShadersQuality', + 'kOptionSwapInterval', 'kOptionTerrainsQuality', 'kOptionTexturesAnisotropyLevel', + 'kOptionTexturesMipmapBias', 'kOptionTexturesQuality', 'kOptionViewportRotation', + //Application - Resource Types + 'kResourceTypeAnimBank', 'kResourceTypeFont', 'kResourceTypeHUD', + 'kResourceTypeMaterial', 'kResourceTypeMesh', 'kResourceTypeParticle', + 'kResourceTypePixelMap', 'kResourceTypeSoundBank', 'kResourceTypeTexture', + 'kResourceTypeTextureClip', 'kResourceTypeTrail', + //Cache + 'kPropertyHeight', 'kPropertySize', 'kPropertyWidth', + //Dynamics + 'kAxisX', 'kAxisY', 'kAxisZ', + 'kTypeBox', 'kTypeCapsule', 'kTypeSphere', + //HUD + 'kAddressingModeClamp', 'kAddressingModeRepeat', 'kAlignCenter', 'kAlignJustify','kAlignLeft', 'kAlignRight', + 'kAlignTop', 'kBlendModeAdd', 'kBlendModeDefault', 'kBlendModeModulate', 'kCaseFixed', 'kCaseVariable', + 'kCommandTypeCallAction', 'kCommandTypeCopyCheckStateToRegister', 'kCommandTypeCopyEditTextToRegister', + 'kCommandTypeCopyListItemTextToRegister', 'kCommandTypeCopyListLastSelectedItemToRegister', + 'kCommandTypeCopyProgressValueToRegister', 'kCommandTypeCopySliderValueToRegister', 'kCommandTypeCopyTagToRegister', + 'kCommandTypeEnterModalMode', 'kCommandTypeInterpolateBackgroundColor', 'kCommandTypeInterpolateBorderColor', + 'kCommandTypeInterpolateForegroundColor', 'kCommandTypeInterpolateHeight', 'kCommandTypeInterpolateOpacity', + 'kCommandTypeInterpolatePosition', 'kCommandTypeInterpolateProgressValue', 'kCommandTypeInterpolateRotation', + 'kCommandTypeInterpolateSize', 'kCommandTypeInterpolateWidth', 'kCommandTypeLeaveModalMode', + 'kCommandTypeMatchScreenSpaceBottomLeftCorner', 'kCommandTypeMatchScreenSpaceBottomRightCorner', + 'kCommandTypeMatchScreenSpaceCenter', 'kCommandTypeMatchScreenSpaceHeight', 'kCommandTypeMatchScreenSpaceTopLeftCorner', + 'kCommandTypeMatchScreenSpaceTopRightCorner', 'kCommandTypeMatchScreenSpaceWidth', 'kCommandTypePauseMovie', + 'kCommandTypePauseSound', 'kCommandTypePauseTimer', 'kCommandTypePlayMovie', 'kCommandTypePlaySound', + 'kCommandTypePlaySoundLoop', 'kCommandTypeResumeSound', 'kCommandTypeSendEventToUser', 'kCommandTypeSetActive', + 'kCommandTypeSetBackgroundColor', 'kCommandTypeSetBackgroundImage', 'kCommandTypeSetBackgroundImageUVOffset', + 'kCommandTypeSetBackgroundImageUVScale', 'kCommandTypeSetBorderColor', 'kCommandTypeSetButtonText', + 'kCommandTypeSetCheckState', 'kCommandTypeSetCheckText', 'kCommandTypeSetCursorPosition', 'kCommandTypeSetCursorVisible', + 'kCommandTypeSetEditText', 'kCommandTypeSetFocus', 'kCommandTypeSetForegroundColor', 'kCommandTypeSetHeight', + 'kCommandTypeSetLabelText', 'kCommandTypeSetOpacity', 'kCommandTypeSetPosition', 'kCommandTypeSetRotation', + 'kCommandTypeSetSize', 'kCommandTypeSetVisible', 'kCommandTypeSetWidth', 'kCommandTypeSleep', 'kCommandTypeStartTimer', + 'kCommandTypeStopAction', 'kCommandTypeStopMovie', 'kCommandTypeStopSound', 'kCommandTypeStopTimer', + 'kComponentTypeButton', 'kComponentTypeCheck', 'kComponentTypeContainer', 'kComponentTypeEdit', 'kComponentTypeLabel', + 'kComponentTypeList', 'kComponentTypeMovie', 'kComponentTypePicture', 'kComponentTypePixelMap', 'kComponentTypeProgress', + 'kComponentTypeRenderMap', 'kComponentTypeSlider', 'kCursorShapeCross', 'kCursorShapeDefault', 'kCursorShapeHandPointing', + 'kCursorShapeIBeam', 'kCursorShapeNone', 'kCursorShapeWaiting', 'kDirectionLeftToRight', 'kDirectionRightToLeft', + 'kEncodingASCII', 'kEncodingUTF8', 'kEventTypeGainFocus', 'kEventTypeLooseFocus', 'kEventTypeMouseEnter', + 'kEventTypeMouseLeave', 'kFillModeSolid', 'kInterpolatorTypeLinear', 'kInterpolatorTypePower2', 'kInterpolatorTypePower3', + 'kInterpolatorTypePower4', 'kInterpolatorTypeRoot2', 'kInterpolatorTypeRoot3', 'kInterpolatorTypeRoot4', + 'kInterpolatorTypeSpring1', 'kInterpolatorTypeSpring2', 'kInterpolatorTypeSpring3', 'kInterpolatorTypeSpring4', + 'kInterpolatorTypeSpring5', 'kInterpolatorTypeSpring6', + 'kOriginBottom', 'kOriginBottomLeft', 'kOriginBottomRight', 'kOriginCenter', 'kOriginLeft', 'kOriginRight', + 'kOriginTop', 'kOriginTopLeft', 'kOriginTopRight', 'kProgressTypeBottomToTop', 'kProgressTypeLeftToRight', + 'kProgressTypeRightToLeft', 'kProgressTypeTopToBottom', 'kRuntimeValueCallArgument0', 'kRuntimeValueCallArgument1', + 'kRuntimeValueCallArgument2', 'kRuntimeValueCallArgument3', 'kRuntimeValueCurrentUser', 'kRuntimeValueCurrentUserMainCamera', + 'kRuntimeValueRegister0', 'kRuntimeValueRegister1', 'kRuntimeValueRegister2', 'kRuntimeValueRegister3', + 'kShapeTypeEllipsoid', 'kShapeTypeRectangle', 'kShapeTypeRoundRectangle', 'kSliderTypeBottomToTop', + 'kSliderTypeLeftToRight', 'kSliderTypeRightToLeft', 'kSliderTypeTopToBottom', 'kWaveTypeConstant', + 'kWaveTypeSawtooth', 'kWaveTypeSawtoothInv', 'kWaveTypeSinus', 'kWaveTypeSinusNoise', 'kWaveTypeSquare', 'kWaveTypeTriangle', + //Input + 'kJoypadTypeIPhone', 'kJoypadTypeNone', 'kJoypadTypePhone', 'kJoypadTypeStandard', 'kJoypadTypeWiimote', + 'kKey0', 'kKey1', 'kKey2', 'kKey3', 'kKey4', 'kKey5', 'kKey6', 'kKey7', 'kKey8', 'kKey9', 'kKeyA', 'kKeyB', + 'kKeyBackspace', 'kKeyC', 'kKeyD', 'kKeyDelete', 'kKeyDown', 'kKeyE', 'kKeyEnd', 'kKeyEscape', 'kKeyF', + 'kKeyF1', 'kKeyF10', 'kKeyF11', 'kKeyF12', 'kKeyF2', 'kKeyF3', 'kKeyF4', 'kKeyF5', 'kKeyF6', 'kKeyF7', + 'kKeyF8', 'kKeyF9', 'kKeyG', 'kKeyH', 'kKeyHome', 'kKeyI', 'kKeyInsert', 'kKeyJ', 'kKeyK', 'kKeyL', + 'kKeyLAlt', 'kKeyLControl', 'kKeyLeft', 'kKeyLShift', 'kKeyM', 'kKeyN', 'kKeyO', 'kKeyP', 'kKeyPageDown', + 'kKeyPageUp', 'kKeyQ', 'kKeyR', 'kKeyRAlt', 'kKeyRControl', 'kKeyReturn', 'kKeyRight', 'kKeyRShift', + 'kKeyS', 'kKeySpace', 'kKeyT', 'kKeyTab', 'kKeyU', 'kKeyUp', 'kKeyV', 'kKeyW', 'kKeyX', 'kKeyY', + 'kKeyZ', 'kJoypadButtonPSPCircle', 'kJoypadButtonPSPCross', 'kJoypadButtonPSPDown', 'kJoypadButtonPSPL', + 'kJoypadButtonPSPLeft', 'kJoypadButtonPSPR', 'kJoypadButtonPSPRight', 'kJoypadButtonPSPSelect', + 'kJoypadButtonPSPSquare', 'kJoypadButtonPSPStart', 'kJoypadButtonPSPTriangle', 'kJoypadButtonPSPUp', + 'kJoypadTypePSP', 'kJoypadButtonWiimoteA', 'kJoypadButtonWiimoteB', 'kJoypadButtonWiimoteC', + 'kJoypadButtonWiimoteDown', 'kJoypadButtonWiimoteHome', 'kJoypadButtonWiimoteLeft', + 'kJoypadButtonWiimoteMinus', 'kJoypadButtonWiimoteOne', 'kJoypadButtonWiimotePlus', + 'kJoypadButtonWiimoteRight', 'kJoypadButtonWiimoteTwo', 'kJoypadButtonWiimoteUp', 'kJoypadButtonWiimoteZ', + //Light + 'kTypeDirectional', 'kTypePoint', + //Math + 'kEpsilon', 'kInfinity', 'kPi', + //Mesh + 'kLockModeRead', 'kLockModeWrite', 'kLockReadWrite', + //Network + 'kBluetoothServerPort', 'kDefaultServerPort', 'kStatusAuthenticated', 'kStatusSearchFinished', // 'kStatusNone', 'kStatusPending', + //Object + 'kControllerTypeAI', 'kControllerTypeAnimation', 'kControllerTypeAny', 'kControllerTypeDynamics', + 'kControllerTypeNavigation', 'kControllerTypeSound', 'kGlobalSpace', 'kLocalSpace', 'kParentSpace', + 'kTransformOptionInheritsParentRotation', 'kTransformOptionInheritsParentScale', 'kTransformOptionInheritsParentTranslation', + 'kTransformOptionTranslationAffectedByParentRotation', 'kTransformOptionTranslationAffectedByParentScale', 'kTypeCamera', + 'kTypeCollider', 'kTypeDummy', 'kTypeGroup', 'kTypeLight', 'kTypeOccluder', 'kTypeProjector', 'kTypeReflector', + 'kTypeSensor', 'kTypeSfx', 'kTypeShape', + //Pixelmap + 'kBlendModeDecal', 'kBlendModeReplace', 'kFillModeBrush', 'kFillModeNone', 'kPenModeBrush', // 'kFillModeSolid', + 'kPenModeNone', 'kPenModeSolid', + //Projector + 'kMapTypeMovie', 'kMapTypePixelMap', 'kMapTypeRenderMap', 'kMapTypeTexture', 'kMapTypeTextureClip', + //Scene + 'kFilteringModeBilinear', 'kFilteringModeNearest', 'kFilteringModeTrilinear', // 'kAddressingModeClamp', 'kAddressingModeRepeat', + 'kSkyBoxFaceBack', 'kSkyBoxFaceBottom', 'kSkyBoxFaceFront', 'kSkyBoxFaceLeft', 'kSkyBoxFaceRight', 'kSkyBoxFaceTop', + //Sensor + 'kShapeTypeBox', 'kShapeTypeSphere', + //Server + 'kStatusConnected', 'kStatusNone', 'kStatusPending', + //Session - duplicate keywords + //'kStatusConnected', 'kStatusNone', 'kStatusPending', + //Shape + 'kMapTypeUnknown', 'kCurveTypeBezier', 'kCurveTypeBSpline', 'kCurveTypeCatmullRom', 'kCurveTypePolyLine', + // 'kMapTypeMovie', 'kMapTypePixelMap', 'kMapTypeRenderMap', 'kMapTypeTexture', 'kMapTypeTextureClip', + + //System + 'kOSType3DS', 'kOSTypeBada', 'kOSTypeBrew', 'kOSTypePalm', 'kOSTypePS3', + 'kClientTypeEditor', 'kClientTypeEmbedded', 'kClientTypeStandalone', + 'kGPUCapabilityBloomFilterSupport', 'kGPUCapabilityContrastFilterSupport', 'kGPUCapabilityDepthBlurFilterSupport', + 'kGPUCapabilityDistortionFilterSupport', 'kGPUCapabilityDynamicShadowsSupport', 'kGPUCapabilityHardwareOcclusionSupport', + 'kGPUCapabilityHardwareRenderingSupport', 'kGPUCapabilityMonochromeFilterSupport', 'kGPUCapabilityMotionBlurFilterSupport', + 'kGPUCapabilityPixelShaderSupport', 'kGPUCapabilityVelocityBlurFilterSupport', 'kGPUCapabilityVertexShaderSupport', + 'kLanguageAlbanian', 'kLanguageArabic', 'kLanguageBulgarian', 'kLanguageCatalan', 'kLanguageCzech', 'kLanguageDanish', + 'kLanguageDutch', 'kLanguageEnglish', 'kLanguageFinnish', 'kLanguageFrench', 'kLanguageGerman', 'kLanguageGreek', + 'kLanguageHebrew', 'kLanguageHungarian', 'kLanguageIcelandic', 'kLanguageItalian', 'kLanguageJapanese', 'kLanguageKorean', + 'kLanguageNorwegian', 'kLanguagePolish', 'kLanguagePortuguese', 'kLanguageRomanian', 'kLanguageRussian', + 'kLanguageSerboCroatian', 'kLanguageSlovak', 'kLanguageSpanish', 'kLanguageSwedish', 'kLanguageThai', + 'kLanguageTurkish', 'kLanguageUnknown', 'kLanguageUrdu', 'kOSTypeAndroid', 'kOSTypeAngstrom', 'kOSTypeIPhone', + 'kOSTypeLinux', 'kOSTypeMac', 'kOSTypePSP', 'kOSTypeSymbian', 'kOSTypeWii', 'kOSTypeWindows', 'kOSTypeWindowsCE', + ), + // Not used yet + 4 => array( + 'dummycommand', + ), + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>', + '+', '-', '=>', '<<' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color:#0000FF; font-weight:bold;', + 2 => 'color:#000088; font-weight:bold;', + 3 => 'color:#C088C0; font-weight:bold;', + 4 => 'color:#00FEFE; font-weight:bold;', + ), + 'COMMENTS' => array( + 1 => 'color:#008000; font-style:italic;', + 4 => 'color: #cc0000; font-style: italic;', + 'MULTI' => 'color:#008000; font-style:italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color:#000099;' + ), + 'BRACKETS' => array( + 0 => 'color:#000000; font-weight:bold;' + ), + 'STRINGS' => array( + 0 => 'color:#888800;' + ), + 'NUMBERS' => array( + 0 => 'color:#AA0000;' + ), + // names after "." + 'METHODS' => array( + 1 => 'color:#FF00FF; font-weight:bold;' + ), + 'SYMBOLS' => array( + 0 => 'color:#000000; font-weight:bold;' + ), + 'REGEXPS' => array( + 0 => 'color:#ff6633; font-weight:bold;', + 1 => 'color:#0066ff; font-weight:bold;', + 2 => 'color:#6666ff; font-weight:bold;', + 3 => 'color:#ff3333; font-weight:bold;' + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + 0 => array(//Variables + GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ), + 1 => array(//Arrays + GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ), + 2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",//Static OOP symbols + 3 => array( + GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ) + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + '<%' => '%>' + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + ), + 'TAB_WIDTH' => 2 +); + +?>
\ No newline at end of file diff --git a/inc/geshi/systemverilog.php b/inc/geshi/systemverilog.php index 142fd117b..f2ba92b19 100644 --- a/inc/geshi/systemverilog.php +++ b/inc/geshi/systemverilog.php @@ -4,7 +4,7 @@ * ------- * Author: Sean O'Boyle * Copyright: (C) 2008 IntelligentDV - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/06/25 * * SystemVerilog IEEE 1800-2009(draft8) language file for GeSHi. @@ -53,8 +53,8 @@ * * File: systemverilog.php * $LastChangedBy: benbe $ - * $LastChangedDate: 2011-02-11 20:31:50 +0100 (Fr, 11. Feb 2011) $ - * $LastChangedRevision: 2430 $ + * $LastChangedDate: 2012-08-18 01:56:20 +0200 (Sa, 18. Aug 2012) $ + * $LastChangedRevision: 2542 $ * ************************************************************************/ diff --git a/inc/geshi/tcl.php b/inc/geshi/tcl.php index c948ff261..4dd7be87b 100644 --- a/inc/geshi/tcl.php +++ b/inc/geshi/tcl.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Reid van Melle (rvanmelle@gmail.com) * Copyright: (c) 2004 Reid van Melle (sorry@nowhere) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/05/05 * * TCL/iTCL language file for GeSHi. diff --git a/inc/geshi/teraterm.php b/inc/geshi/teraterm.php index 510ad04c4..f125642d5 100644 --- a/inc/geshi/teraterm.php +++ b/inc/geshi/teraterm.php @@ -4,7 +4,7 @@ * -------- * Author: Boris Maisuradze (boris at logmett.com) * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/09/26 * * Tera Term Macro language file for GeSHi. diff --git a/inc/geshi/text.php b/inc/geshi/text.php index dd219f599..87fb7110c 100644 --- a/inc/geshi/text.php +++ b/inc/geshi/text.php @@ -4,7 +4,7 @@ * -------- * Author: Sean Hanna (smokingrope@gmail.com) * Copyright: (c) 2006 Sean Hanna - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 04/23/2006 * * Standard Text File (No Syntax Highlighting). diff --git a/inc/geshi/thinbasic.php b/inc/geshi/thinbasic.php index c496cea6f..f54959e16 100644 --- a/inc/geshi/thinbasic.php +++ b/inc/geshi/thinbasic.php @@ -4,7 +4,7 @@ * ------ * Author: Eros Olmi (eros.olmi@thinbasic.com) * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/05/12 * * thinBasic language file for GeSHi. diff --git a/inc/geshi/tsql.php b/inc/geshi/tsql.php index dddf51934..b4bf6bdad 100644 --- a/inc/geshi/tsql.php +++ b/inc/geshi/tsql.php @@ -4,7 +4,7 @@ * -------- * Author: Duncan Lock (dunc@dflock.co.uk) * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/11/22 * * T-SQL language file for GeSHi. @@ -55,7 +55,7 @@ $language_data = array ( // Keywords 'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS', 'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH', - 'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT', + 'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CATCH', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT', 'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT', 'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', @@ -79,7 +79,7 @@ $language_data = array ( 'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC', 'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE', 'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', - 'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION', + 'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TRY', 'TSEQUAL', 'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE', 'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE', 'UNCOMMITTED', 'NOCOUNT', diff --git a/inc/geshi/typoscript.php b/inc/geshi/typoscript.php index c1e380689..6751aaa8d 100644 --- a/inc/geshi/typoscript.php +++ b/inc/geshi/typoscript.php @@ -4,7 +4,7 @@ * -------- * Author: Jan-Philipp Halle (typo3@jphalle.de) * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/) - * Release Version: 1.0.8.9 + * Release Version: 1.0.8.11 * Date Started: 2005/07/29 * * TypoScript language file for GeSHi. @@ -218,6 +218,15 @@ $language_data = array ( 'OBJECT_SPLITTERS' => array( ), 'REGEXPS' => array( + // xhtml tag + 2 => array( + GESHI_SEARCH => '(<)([a-zA-Z\\/][^\\/\\|]*?)(>)', + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => 's', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '\\3' + ), + // Constant 0 => array( GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})', @@ -236,15 +245,6 @@ $language_data = array ( GESHI_AFTER => '\\2' ), - // xhtml tag - 2 => array( - GESHI_SEARCH => '(<[a-zA-Z\!\/].*?>)', - GESHI_REPLACE => '\\1', - GESHI_MODIFIERS => 's', - GESHI_BEFORE => '', - GESHI_AFTER => '' - ), - // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something] 3 => array( GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)', diff --git a/inc/geshi/unicon.php b/inc/geshi/unicon.php index 42fffc886..6fe62d0fb 100644 --- a/inc/geshi/unicon.php +++ b/inc/geshi/unicon.php @@ -4,7 +4,7 @@ * -------- * Author: Matt Oates (mattoates@gmail.com) * Copyright: (c) 2010 Matt Oates (http://mattoates.co.uk) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/04/20 * * Unicon the Unified Extended Dialect of Icon language file for GeSHi. diff --git a/inc/geshi/upc.php b/inc/geshi/upc.php new file mode 100644 index 000000000..e05303228 --- /dev/null +++ b/inc/geshi/upc.php @@ -0,0 +1,270 @@ +<?php +/************************************************************************************* + * upc.php + * ----- + * Author: Viraj Sinha (viraj@indent.com) + * Contributors: + * - Nigel McNie (nigel@geshi.org) + * - Jack Lloyd (lloyd@randombit.net) + * - Michael Mol (mikemol@gmail.com) + * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) + * Release Version: 1.0.8.11 + * Date Started: 2004/06/04 + * + * UPC language file for GeSHi. + * + * CHANGES + * ------- + * 2011/06/14 (1.0.8.11) + * - This file is a revision of c.php with UPC keywords added + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'UPC', + 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'if', 'return', 'while', 'case', 'continue', 'default', + 'do', 'else', 'for', 'switch', 'goto', + + 'upc_forall', 'upc_barrier', 'upc_notify', 'upc_wait', 'upc_fence' + ), + 2 => array( + 'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline' + ), + 3 => array( + // assert.h + 'assert', + + //complex.h + 'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan', + 'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj', + 'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh', + + //ctype.h + 'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl', + 'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', + 'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper', + + //inttypes.h + 'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax', + 'wcstoumax', + + //locale.h + 'localeconv', 'setlocale', + + //math.h + 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp', + 'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow', + 'sin', 'sinh', 'sqrt', 'tan', 'tanh', + + //setjmp.h + 'longjmp', 'setjmp', + + //signal.h + 'raise', + + //stdarg.h + 'va_arg', 'va_copy', 'va_end', 'va_start', + + //stddef.h + 'offsetof', + + //stdio.h + 'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc', + 'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar', + 'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell', + 'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf', + 'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf', + 'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile', + 'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf', + 'vsprintf', 'vsscanf', + + //stdlib.h + 'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch', + 'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv', + 'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod', + 'strtol', 'strtoul', 'system', + + //string.h + 'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat', + 'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror', + 'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr', + 'strspn', 'strstr', 'strtok', 'strxfrm', + + //time.h + 'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime', + 'mktime', 'strftime', 'time', + + //wchar.h + 'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide', + 'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc', + 'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf', + 'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb', + 'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn', + 'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk', + 'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok', + 'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp', + 'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf', + + //wctype.h + 'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit', + 'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace', + 'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper', + 'wctrans', 'wctype' + ), + 4 => array( + 'auto', 'char', 'const', 'double', 'float', 'int', 'long', + 'register', 'short', 'signed', 'sizeof', 'static', 'struct', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t', + 'size_t', 'off_t', + + 'upc_lock_t', 'shared', 'strict', 'relaxed', 'upc_blocksizeof', + 'upc_localsizeof', 'upc_elemsizeof' + ), + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '%', + '=', '<', '>', + '!', '^', '&', '|', + '?', ':', + ';', ',' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', + 4 => 'color: #993333;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #339933;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + 2 => '::' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?>
\ No newline at end of file diff --git a/inc/geshi/urbi.php b/inc/geshi/urbi.php new file mode 100644 index 000000000..a7353ea8b --- /dev/null +++ b/inc/geshi/urbi.php @@ -0,0 +1,200 @@ +<?php +/************************************************************************************* + * urbi.php + * ------- + * Author: Alexandre Morgand (morgand.alexandre@gmail.com) + * Copyright: (c) 2011 Morgand (http://gostai.com) + * Release Version: 1.0.8.11 + * Date Started: 2011/09/10 + * + * Urbi language file for GeSHi. + * + * CHANGES + * ------- + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'Urbi', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + // Urbi warning. + 3 => "#\[[0-9a-f]{8}:warning\].*#", + // Urbi message from echo. + 4 => '#\[[0-9a-f]{8}\] \*\*\*.*#', + // Urbi error message. + 6 => '#\[[0-9a-f]{8}:error\].*#', + // Urbi system message. + 5 => '#\[00.*\].*#', + // Nested comment. Max depth 4. + 7 => '#\/\*(.|\n)*\/\*(.|\n)*\*\/(.|\n)*\*\/#', + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array( + 0 => '"', + 1 => '\'', + ), + // For Urbi, disable escape char is better. + 'ESCAPE_CHAR' => '\\', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[abfnrtv\\\'\"?\n]#", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#", + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + // Condition keywords. + 1 => array( + 'at', 'at;', 'at|', 'at&', 'at,', 'break', 'call', 'case', 'catch', 'continue', + 'do', 'else', 'every', 'every&', 'every,', 'every;', 'every|', 'for', 'for&', + 'for,', 'for;', 'foreach', 'for|', 'freezeif', 'goto', 'if', 'in', 'loop', + 'loop&', 'loop,', 'loop;', 'loop|', 'or_eq', 'stopif', 'switch', 'try', + 'waituntil', 'when', 'whenever', 'while', 'while&', 'while,', 'while;', + 'while|', 'throw', 'onleave', 'watch', 'return', 'and_eq', 'default', 'finally', + 'timeout', 'xor_eq' + ), + // Type. + 2 => array( + 'virtual', 'using', 'namespace', 'inline', 'protected', 'private', 'public', + 'typename', 'typeid', 'class', 'const_cast', 'dynamic_cast', 'friend', + 'template', 'enum', 'static_cast', 'reinterpret_cast', 'mutable', 'explicit' + ), + // Standard function. + 3 => array( + 'this', 'sizeof', 'delete', 'assert', 'isdef', 'compl', 'detach', + 'disown', '__HERE__', 'asm' + ), + // Type. + 4 => array( + 'char', 'const', 'double', 'int', 'long', 'typedef', 'union', + 'unsigned', 'var', 'short', 'wchar_t', 'volatile', 'signed', 'bool', + 'float', 'struct', 'auto', 'register', 'static', 'extern', 'function', + 'export', 'external', 'internal', 'closure', 'BIN' + ), + ), + 'SYMBOLS' => array( + 0 => array('(', ')', '{', '}', '[', ']'), + 1 => array('<', '>','=', '!=', '==', '==='), + 2 => array('+', '-', '*', '/', '%', 'bitand', 'bitor', 'xor'), + 3 => array('!', '^', '&', '|'), + 4 => array('?', ':', ';') + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #0000ff;', + 3 => 'color: #0000dd;', + 4 => 'color: #0000ff;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 2 => 'color: #339900;', + 3 => 'color: #d46b0f;', + 4 => 'color: #20b537;', + 5 => 'color: #73776f;', + 6 => 'color: #a71616;', + 7 => 'color: #666666;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #ff0000;', + 1 => 'color: #ff0000;', + ), + 'BRACKETS' => array( + 0 => 'color: #7a0874; font-weight: bold;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;', + 1 => 'color: #007788;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;' + ), + 'METHODS' => array( + 1 => 'color: #007788;', + 2 => 'color: #007788;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;', + 1 => 'color: #0000f8;', + 2 => 'color: #000040;', + 3 => 'color: #000040; font-weight: bold;', + 4 => 'color: #008080;' + ), + 'REGEXPS' => array( + 0 => 'color: #0000dd', + 1 => 'color: #0000dd;', + 2 => 'color: #0000dd;', + 3 => 'color: #0000dd;', + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.', + 2 => '::', + // FIXME: add -> splitter. + ), + 'REGEXPS' => array( + 0 => '0x[0-9a-fA-F]([0-9a-fA-F_]*[0-9a-fA-F])*', + 1 => '[0-9]([0-9_]*[0-9])*(e|E)(-|\+)?[0-9]([0-9_]*[0-9])*', + 2 => '[0-9]([0-9_]*[0-9])*(min|s|ms|h|d)', + 3 => '[0-9]+_([0-9_])*[0-9]', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, +); + +?> diff --git a/inc/geshi/uscript.php b/inc/geshi/uscript.php index e06aa8ca7..58cdb8d9e 100644 --- a/inc/geshi/uscript.php +++ b/inc/geshi/uscript.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: pospi (pospi@spadgos.com) * Copyright: (c) 2007 pospi (http://pospi.spadgos.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/05/21 * * UnrealScript language file for GeSHi. diff --git a/inc/geshi/vala.php b/inc/geshi/vala.php index a9d6b0745..acac57e2a 100644 --- a/inc/geshi/vala.php +++ b/inc/geshi/vala.php @@ -4,7 +4,7 @@ * ---------- * Author: Nicolas Joseph (nicolas.joseph@valaide.org) * Copyright: (c) 2009 Nicolas Joseph - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/04/29 * * Vala language file for GeSHi. diff --git a/inc/geshi/vb.php b/inc/geshi/vb.php index dd6545eb5..528e7cd45 100644 --- a/inc/geshi/vb.php +++ b/inc/geshi/vb.php @@ -5,7 +5,7 @@ * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), * Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/08/30 * * Visual Basic language file for GeSHi. diff --git a/inc/geshi/vbnet.php b/inc/geshi/vbnet.php index 563bb993a..758df9893 100644 --- a/inc/geshi/vbnet.php +++ b/inc/geshi/vbnet.php @@ -4,7 +4,7 @@ * --------- * Author: Alan Juden (alan@judenware.org) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/06/04 * * VB.NET language file for GeSHi. @@ -45,60 +45,46 @@ $language_data = array ( 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( + //Keywords 1 => array( - '3DDKSHADOW', '3DHIGHLIGHT', '3DLIGHT', 'ABORT', 'ABORTRETRYIGNORE', 'ACTIVEBORDER', - 'ACTIVETITLEBAR', 'ALIAS', 'APPLICATIONMODAL', 'APPLICATIONWORKSPACE', 'ARCHIVE', - 'BACK', 'BINARYCOMPARE', 'BLACK', 'BLUE', 'BUTTONFACE', 'BUTTONSHADOW', 'BUTTONTEXT', - 'CANCEL', 'CDROM', 'CR', 'CRITICAL', 'CRLF', 'CYAN', 'DEFAULT', 'DEFAULTBUTTON1', - 'DEFAULTBUTTON2', 'DEFAULTBUTTON3', 'DESKTOP', 'DIRECTORY', 'EXCLAMATION', 'FALSE', - 'FIXED', 'FORAPPENDING', 'FORMFEED', 'FORREADING', 'FORWRITING', 'FROMUNICODE', - 'GRAYTEXT', 'GREEN', 'HIDDEN', 'HIDE', 'HIGHLIGHT', 'HIGHLIGHTTEXT', 'HIRAGANA', - 'IGNORE', 'INACTIVEBORDER', 'INACTIVECAPTIONTEXT', 'INACTIVETITLEBAR', 'INFOBACKGROUND', - 'INFORMATION', 'INFOTEXT', 'KATAKANALF', 'LOWERCASE', 'MAGENTA', 'MAXIMIZEDFOCUS', - 'MENUBAR', 'MENUTEXT', 'METHOD', 'MINIMIZEDFOCUS', 'MINIMIZEDNOFOCUS', 'MSGBOXRIGHT', - 'MSGBOXRTLREADING', 'MSGBOXSETFOREGROUND', 'NARROW', 'NEWLINE', 'NO', 'NORMAL', - 'NORMALFOCUS', 'NORMALNOFOCUS', 'NULLSTRING', 'OBJECTERROR', 'OK', 'OKCANCEL', 'OKONLY', - 'PROPERCASE', 'QUESTION', 'RAMDISK', 'READONLY', 'RED', 'REMOTE', 'REMOVABLE', 'RETRY', - 'RETRYCANCEL', 'SCROLLBARS', 'SYSTEMFOLDER', 'SYSTEMMODAL', 'TEMPORARYFOLDER', - 'TEXTCOMPARE', 'TITLEBARTEXT', 'TRUE', 'UNICODE', 'UNKNOWN', 'UPPERCASE', 'VERTICALTAB', - 'VOLUME', 'WHITE', 'WIDE', 'WIN16', 'WIN32', 'WINDOWBACKGROUND', 'WINDOWFRAME', - 'WINDOWSFOLDER', 'WINDOWTEXT', 'YELLOW', 'YES', 'YESNO', 'YESNOCANCEL' - ), + 'AddHandler', 'AddressOf', 'Alias', 'And', 'AndAlso', 'As', 'ByRef', 'ByVal', + 'Call', 'Case', 'Catch', 'Char', 'Class', 'Const', 'Continue', + 'Declare', 'Default', + 'Delegate', 'Dim', 'DirectCast', 'Do', 'Each', 'Else', 'ElseIf', 'End', 'EndIf', + 'Enum', 'Erase', 'Error', 'Event', 'Exit', 'False', 'Finally', 'For', 'Friend', 'Function', + 'Get', 'GetType', 'GetXMLNamespace', 'Global', 'GoSub', 'GoTo', 'Handles', 'If', 'Implements', + 'Imports', 'In', 'Inherits', 'Interface', 'Is', 'IsNot', 'Let', 'Lib', 'Like', 'Loop', 'Me', + 'Mod', 'Module', 'Module Statement', 'MustInherit', 'MustOverride', 'MyBase', 'MyClass', 'Namespace', + 'Narrowing', 'New', 'Next', 'Not', 'Nothing', 'NotInheritable', 'NotOverridable', 'Of', 'On', + 'Operator', 'Option', 'Optional', 'Or', 'OrElse', 'Out', 'Overloads', 'Overridable', 'Overrides', + 'ParamArray', 'Partial', 'Private', 'Property', 'Protected', 'Public', 'RaiseEvent', 'ReadOnly', 'ReDim', + 'REM', 'RemoveHandler', 'Resume', 'Return', 'Select','Set', 'Shadows', 'Shared', 'Static', 'Step', + 'Stop', 'Structure', 'Sub', 'SyncLock', 'Then', 'Throw', 'To', 'True', 'Try', 'TryCast', 'TypeOf', + 'Using', 'Wend', 'When', 'While', 'Widening', 'With', 'WithEvents', 'WriteOnly', 'Xor' + ), + //Data Types 2 => array( - 'AndAlso', 'As', 'ADDHANDLER', 'ASSEMBLY', 'AUTO', 'Binary', 'ByRef', 'ByVal', 'BEGINEPILOGUE', - 'Else', 'ElseIf', 'Empty', 'Error', 'ENDPROLOGUE', 'EXTERNALSOURCE', 'ENVIRON', 'For', - 'Friend', 'Func', 'GET', 'HANDLES', 'Input', 'Is', 'IsNot', 'Len', 'Lock', 'Me', 'Mid', 'MUSTINHERIT', 'MustOverride', - 'MYBASE', 'MYCLASS', 'New', 'Next', 'Nothing', 'Null', 'NOTINHERITABLE', - 'NOTOVERRIDABLE', 'Of', 'OFF', 'On', 'Option', 'Optional', 'Overloads', 'OVERRIDABLE', 'Overrides', 'ParamArray', 'Predicate', - 'Print', 'Private', 'Property', 'Public', 'Resume', 'Return', 'Seek', 'Static', 'Step', - 'String', 'SHELL', 'SENDKEYS', 'SET', 'Shared', 'Then', 'Time', 'To', 'THROW', 'WithEvents' + 'Boolean', 'Byte', 'Date', 'Decimal', 'Double', 'Integer', 'Long', 'Object', + 'SByte', 'Short', 'Single', 'String', 'UInteger', 'ULong', 'UShort' ), + //Compiler Directives 3 => array( - 'COLLECTION', 'DEBUG', 'DICTIONARY', 'DRIVE', 'DRIVES', 'ERR', 'FILE', 'FILES', - 'FILESYSTEMOBJECT', 'FOLDER', 'FOLDERS', 'TEXTSTREAM' + '#Const', '#Else', '#ElseIf', '#End', '#If' ), + //Constants 4 => array( - 'BOOLEAN', 'BYTE', 'DATE', 'DECIMIAL', 'DOUBLE', 'INTEGER', 'LONG', 'OBJECT', - 'SINGLE STRING' + 'CBool', 'CByte', 'CChar', 'CChr', 'CDate', 'CDbl', 'CDec','CInt', 'CLng', 'CLng8', 'CObj', 'CSByte', 'CShort', + 'CSng', 'CStr', 'CType', 'CUInt', 'CULng', 'CUShort' ), + //Linq 5 => array( - 'ADDRESSOF', 'AND', 'BITAND', 'BITNOT', 'BITOR', 'BITXOR', - 'GETTYPE', 'LIKE', 'MOD', 'NOT', 'ORXOR' - ), - 6 => array( - 'APPACTIVATE', 'BEEP', 'CALL', 'CHDIR', 'CHDRIVE', 'CLASS', 'CASE', 'CATCH', 'CONST', - 'DECLARE', 'DELEGATE', 'DELETESETTING', 'DIM', 'DO', 'DOEVENTS', 'END', 'ENUM', - 'EVENT', 'EXIT', 'EACH', 'FUNCTION', 'FINALLY', 'IF', 'IMPORTS', 'INHERITS', - 'INTERFACE', 'IMPLEMENTS', 'KILL', 'LOOP', 'NAMESPACE', 'OPEN', 'PUT', - 'RAISEEVENT', 'RANDOMIZE', 'REDIM', 'REM', 'RESET', 'SAVESETTING', 'SELECT', - 'SETATTR', 'STOP', 'SUB', 'SYNCLOCK', 'STRUCTURE', 'SHADOWS', 'SWITCH', - 'TRY', 'WIDTH', 'WITH', 'WRITE', 'WHILE' + 'By','From','Group','Where' ), + //Built-in functions 7 => array( - 'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CBOOL', 'CBYTE', 'CCHAR', - 'CCHR', 'CDATE', 'CDBL', 'CDEC', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW', - 'CINT', 'CLNG', 'CLNG8', 'CLOSE', 'COBJ', 'COMMAND', 'COMMAND$', 'CONVERSION', - 'COS', 'CREATEOBJECT', 'CSHORT', 'CSTR', 'CURDIR', 'CTYPE', 'CVDATE', 'DATEADD', + 'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW', + 'CLOSE', 'COMMAND', 'COMMAND$', 'CONVERSION', + 'COS', 'CREATEOBJECT', 'CURDIR', 'CVDATE', 'DATEADD', 'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$', 'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER', 'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER', @@ -115,16 +101,10 @@ $language_data = array ( 'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND', 'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR' ), - 8 => array( - 'ANY', 'ATN', 'CALENDAR', 'CIRCLE', 'CURRENCY', 'DEFBOOL', 'DEFBYTE', 'DEFCUR', - 'DEFDATE', 'DEFDBL', 'DEFDEC', 'DEFINT', 'DEFLNG', 'DEFOBJ', 'DEFSNG', 'DEFSTR', - 'DEFVAR', 'EQV', 'GOSUB', 'IMP', 'INITIALIZE', 'ISMISSING', 'LET', 'LINE', 'LSET', - 'RSET', 'SGN', 'SQR', 'TERMINATE', 'VARIANT', 'VARTYPE', 'WEND' - ), ), 'SYMBOLS' => array( - '&', '&=', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '\\', '\\=', - '^', '^=' + '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', + '(', ')', '{', '}', '.' ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, @@ -133,24 +113,20 @@ $language_data = array ( 3 => false, 4 => false, 5 => false, - 6 => false, - 7 => false, - 8 => false, + 7 => false ), 'STYLES' => array( 'KEYWORDS' => array( - 1 => 'color: #0600FF;', //Constants - 2 => 'color: #FF8000;', //Keywords - 3 => 'color: #008000;', //Data Types - 4 => 'color: #FF0000;', //Objects - 5 => 'color: #804040;', //Operators - 6 => 'color: #0600FF;', //Statements - 7 => 'color: #0600FF;', //Functions - 8 => 'color: #0600FF;' //Deprecated + 1 => 'color: #0000FF; font-weight: bold;', //Keywords + 2 => 'color: #6a5acd;', //primitive Data Types + 3 => 'color: #6a5acd; font-weight: bold;', //preprocessor-commands + 4 => 'color: #cd6a5a;', //Constants + 5 => 'color: #cd6a5a; font-weight: bold;', //LinQ + 7 => 'color: #000066;', //Built-in functions ), 'COMMENTS' => array( - 1 => 'color: #008080; font-style: italic;', - 'MULTI' => 'color: #008080; font-style: italic;' + 1 => 'color: #008000; font-style: italic;', + 'MULTI' => 'color: #008000; font-style: italic;' ), 'ESCAPE_CHAR' => array( 0 => 'color: #008080; font-weight: bold;' @@ -159,16 +135,16 @@ $language_data = array ( 0 => 'color: #000000;' ), 'STRINGS' => array( - 0 => 'color: #808080;' + 0 => 'color: #a52a2a; back-color: #fffacd;' ), 'NUMBERS' => array( - 0 => 'color: #FF0000;' + 0 => 'color: #a52a2a; back-color: #fffacd;' ), 'METHODS' => array( - 1 => 'color: #0000FF;' + 1 => 'color: #000000;' ), 'SYMBOLS' => array( - 0 => 'color: #008000;' + 0 => 'color: #000000;' ), 'REGEXPS' => array( ), @@ -181,9 +157,7 @@ $language_data = array ( 3 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com', 4 => '', 5 => '', - 6 => '', - 7 => '', - 8 => '' + 7 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com' ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( @@ -195,6 +169,13 @@ $language_data = array ( 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 7 => array( + 'DISALLOWED_AFTER' => '(?!\w)(?=\s*\()' + ) + ) ) ); diff --git a/inc/geshi/vedit.php b/inc/geshi/vedit.php new file mode 100644 index 000000000..19b2bdb21 --- /dev/null +++ b/inc/geshi/vedit.php @@ -0,0 +1,103 @@ +<?php +/************************************************************************************* + * vedit.php + * -------- + * Author: Pauli Lindgren (pauli0212@yahoo.com) + * Copyright: (c) 2009 Pauli Lindgren (http://koti.mbnet.fi/pkl/) + * Release Version: 1.0.8.11 + * Date Started: 2009/12/16 + * + * Vedit macro language language file for GeSHi. + * + * CHANGES + * ------- + * 2009/12/16 (1.0.8.11) + * - First Release + * + * TODO (updated 2009/12/16) + * ------------------------- + * - Add keyword groups 2, 3 and 4. + * + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array( + 'LANG_NAME' => 'Vedit macro language', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', '\''), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'break', 'breakout', 'break_out', 'continue', 'do', 'else', 'for', + 'goto', 'if', 'repeat', 'return', 'while' + ) + ), + 'SYMBOLS' => array( + 1 => array( + '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', + '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ',' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #0000ff;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;' + ), + 'REGEXPS' => array(), + 'SCRIPT' => array() + ), + 'URLS' => array(1 => ''), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); + +?>
\ No newline at end of file diff --git a/inc/geshi/verilog.php b/inc/geshi/verilog.php index 9e4211eb9..2bf66d1c0 100644 --- a/inc/geshi/verilog.php +++ b/inc/geshi/verilog.php @@ -4,7 +4,7 @@ * ----------- * Author: G�nter Dannoritzer <dannoritzer@web.de> * Copyright: (C) 2008 Guenter Dannoritzer - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/05/28 * * Verilog language file for GeSHi. @@ -53,7 +53,7 @@ $language_data = array ( 'casex', 'casez', 'cmos', 'deassign', 'default', 'defparam', 'disable', 'edge', 'else', 'end', 'endcase', 'endfunction', 'endmodule', 'endprimitive', 'endspecify', 'endtable', 'endtask', - 'event', 'for', 'force', 'forever', 'function', 'highz0', + 'event', 'fork', 'for', 'force', 'forever', 'function', 'highz0', 'highz1', 'if', 'ifnone', 'initial', 'inout', 'input', 'integer', 'join', 'large', 'macromodule', 'medium', 'module', 'nand', 'negedge', 'nmos', 'nor', 'not', 'notif0', 'notif1', 'or', diff --git a/inc/geshi/vhdl.php b/inc/geshi/vhdl.php index f6ce941d4..a8f37e676 100644 --- a/inc/geshi/vhdl.php +++ b/inc/geshi/vhdl.php @@ -3,14 +3,21 @@ * vhdl.php * -------- * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de) + * Contributors: + * - Kevin Thibedeau (kevinpt@yahoo.com) * Copyright: (c) 2005 Alexander Krause - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/06/15 * * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi. * * CHANGES * ------- + * 2012/4/30 (1.0.8.10) + * - Reworked to support new features of VHDL-2008. + * - Changes include: multi-line comments, all new keywords, PSL keywords and metacomments, + * - based literals, attribute highlighting, preprocessor macros (from PSL), and other small + * - improvements. * 2008/05/23 (1.0.7.22) * - Added description of extra language features (SF#1970248) * - Optimized regexp group 0 somewhat @@ -43,56 +50,80 @@ $language_data = array ( 'LANG_NAME' => 'VHDL', 'COMMENT_SINGLE' => array(1 => '--'), - 'COMMENT_MULTI' => array('%' => '%'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + // PSL adds C-preprocessor support + 1 => '/(?<=\s)#(?:\\\\\\\\|\\\\\\n|.)*$/m', + // PSL metacomments (single-line only for now) + 2 => '/--\s*@?psl(?:.)*?;$/m', + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( /*keywords*/ 1 => array( - 'access','after','alias','all','assert','attribute','architecture','begin', - 'block','body','buffer','bus','case','component','configuration','constant', - 'disconnect','downto','else','elsif','end','entity','exit','file','for', + 'access','after','alias','all','attribute','architecture','array','begin', + 'block','body','buffer','bus','case','case?','component','configuration','constant','context', + 'disconnect','downto','else','elsif','end','entity','exit','file','for','force', 'function','generate','generic','group','guarded','if','impure','in', 'inertial','inout','is','label','library','linkage','literal','loop', 'map','new','next','null','of','on','open','others','out','package', - 'port','postponed','procedure','process','pure','range','record','register', - 'reject','report','return','select','severity','signal','shared','subtype', + 'port','postponed','procedure','process','protected','pure','range','record','register', + 'reject','release','report','return','select','severity','shared','signal','subtype', 'then','to','transport','type','unaffected','units','until','use','variable', - 'wait','when','while','with','note','warning','error','failure','and', - 'or','xor','not','nor','used','memory','segments','dff','dffe','help_id', - 'mod','info','latch','rising_edge','falling_edge' - ), - /*types*/ + 'wait','when','while','with' + ), + /*types and standard libs*/ 2 => array( - 'bit','bit_vector','character','boolean','integer','real','time','string', + 'bit','bit_vector','character','boolean','integer','real','time','delay_length','string', 'severity_level','positive','natural','signed','unsigned','line','text', - 'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector','qsim_state', - 'qsim_state_vector','qsim_12state','qsim_12state_vector','qsim_strength', - 'mux_bit','mux_vector','reg_bit','reg_vector','wor_bit','wor_vector', - 'work','ieee','std_logic_signed','std_logic_1164','std_logic_arith', - 'numeric_std' - - ), + 'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector', + 'sfixed','ufixed','float','float32','float64','float128', + 'work','ieee','std_logic_1164','math_real','math_complex','textio', + 'numeric_std','numeric_std_signed','numeric_std_unsigned','numeric_bit' + ), /*operators*/ - ), + 3 => array( + 'abs','and','mod','nor','not','or','rem','rol','ror','sla','sll','sra','srl','xnor','xor' + ), + /*psl*/ + 4 => array( + 'assert','assume','assume_guarantee','clock','const','countones','cover','default', + 'endpoint','fairness','fell','forall','inf','inherit','isunknown','onehot','onehot0','property', + 'prev','restrict','restrict_guarantee','rose','sequence','stable','strong','union','vmode','vprop','vunit' + ), + /*psl operators*/ + 5 => array( + 'abort','always','before','before!','before!_','before_','eventually!','never', + 'next!','next_a','next_a!','next_e','next_e!','next_event','next_event!','next_event_a','next_event_a!', + 'next_event_e','next_event_e!','until!','until!_','until_','within' + ) + ), 'SYMBOLS' => array( '[', ']', '(', ')', ';',':', - '<','>','=','<=',':=','=>','==' + '<','>','=','+','-','*','/','&','|','?' ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, 1 => false, - 2 => false + 2 => false, + 3 => false, + 4 => false, + 5 => false ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #000080; font-weight: bold;', - 2 => 'color: #0000ff;' + 2 => 'color: #0000ff;', + 3 => 'color: #000066;', + 4 => 'color: #000080; font-weight: bold;', + 5 => 'color: #000066;' ), 'COMMENTS' => array( 1 => 'color: #008000; font-style: italic;', + 2 => 'color: #ff0000; font-weight: bold;', 'MULTI' => 'color: #008000; font-style: italic;' ), 'ESCAPE_CHAR' => array( @@ -114,25 +145,33 @@ $language_data = array ( ), 'REGEXPS' => array( 0 => 'color: #ff0000;', - 1 => 'color: #ff0000;' + //1 => 'color: #ff0000;', + 2 => 'color: #ee82ee;' ), 'SCRIPT' => array( ) ), 'URLS' => array( 1 => '', - 2 => '' - ), + 2 => '', + 3 => '', + 4 => '', + 5 => '' + ), 'OOLANG' => false, 'OBJECT_SPLITTERS' => array( ), 'REGEXPS' => array( - //Hex numbers and scientific notation for numbers - 0 => '(\b0x[0-9a-fA-F]+|\b\d[0-9a-fA-F]+[hH])|'. - '(\b\d+?(\.\d+?)?E[+\-]?\d+)|(\bns)|'. - "('[0-9a-zA-Z]+(?!'))", - //Number characters? - 1 => "\b(''\d'')" + //Based literals, scientific notation, and time units + 0 => '(\b\d+#[[:xdigit:]_]+#)|'. + '(\b[\d_]+(\.[\d_]+)?[eE][+\-]?[\d_]+)|'. + '(\b(hr|min|sec|ms|us|ns|ps|fs)\b)', + //Character literals + /* GeSHi won't match this pattern for some reason and QUOTEMARKS + * can't be used because it interferes with attribute parsing */ + /*1 => "\b'.'\b",*/ + //Attributes + 2 => "'\w+(?!')" ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( diff --git a/inc/geshi/vim.php b/inc/geshi/vim.php index 68abc272e..fe7e5e006 100644 --- a/inc/geshi/vim.php +++ b/inc/geshi/vim.php @@ -6,7 +6,7 @@ * Contributors: * - Laurent Peuch (psycojoker@gmail.com) * Copyright: (c) 2008 Swaroop C H (http://www.swaroopch.com) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/10/19 * * Vim scripting language file for GeSHi. diff --git a/inc/geshi/visualfoxpro.php b/inc/geshi/visualfoxpro.php index 322f34bae..123a3db41 100644 --- a/inc/geshi/visualfoxpro.php +++ b/inc/geshi/visualfoxpro.php @@ -4,7 +4,7 @@ * ---------------- * Author: Roberto Armellin (r.armellin@tin.it) * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/09/17 * * Visual FoxPro language file for GeSHi. diff --git a/inc/geshi/visualprolog.php b/inc/geshi/visualprolog.php index a51466dcd..d36f1c67a 100644 --- a/inc/geshi/visualprolog.php +++ b/inc/geshi/visualprolog.php @@ -4,7 +4,7 @@ * ---------- * Author: Thomas Linder Puls (puls@pdc.dk) * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/11/20 * * Visual Prolog language file for GeSHi. diff --git a/inc/geshi/whitespace.php b/inc/geshi/whitespace.php index 3e19b60ce..58f396376 100644 --- a/inc/geshi/whitespace.php +++ b/inc/geshi/whitespace.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2009/10/31 * * Whitespace language file for GeSHi. diff --git a/inc/geshi/whois.php b/inc/geshi/whois.php index ae851cd08..a89e4731d 100644 --- a/inc/geshi/whois.php +++ b/inc/geshi/whois.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/09/14 * * Whois response (RPSL format) language file for GeSHi. diff --git a/inc/geshi/winbatch.php b/inc/geshi/winbatch.php index d27fe070f..3599a027c 100644 --- a/inc/geshi/winbatch.php +++ b/inc/geshi/winbatch.php @@ -4,7 +4,7 @@ * ------------ * Author: Craig Storey (storey.craig@gmail.com) * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2006/05/19 * * WinBatch language file for GeSHi. diff --git a/inc/geshi/xbasic.php b/inc/geshi/xbasic.php index 94a2debf1..2edede364 100644 --- a/inc/geshi/xbasic.php +++ b/inc/geshi/xbasic.php @@ -4,7 +4,7 @@ * ---------- * Author: Jos Gabriel Moya Yangela (josemoya@gmail.com) * Copyright: (c) 2005 Jos Gabriel Moya Yangela (http://aprenderadesaprender.6te.net) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2005/11/23 * * XBasic language file for GeSHi. diff --git a/inc/geshi/xml.php b/inc/geshi/xml.php index 4a420d1b7..6354e457b 100644 --- a/inc/geshi/xml.php +++ b/inc/geshi/xml.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2004/09/01 * * XML language file for GeSHi. Based on the idea/file by Christian Weiske diff --git a/inc/geshi/xorg_conf.php b/inc/geshi/xorg_conf.php index e1fff61b5..99edc6652 100644 --- a/inc/geshi/xorg_conf.php +++ b/inc/geshi/xorg_conf.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2008/06/18 * * xorg.conf language file for GeSHi. diff --git a/inc/geshi/xpp.php b/inc/geshi/xpp.php index d4d7b457d..a06e27794 100644 --- a/inc/geshi/xpp.php +++ b/inc/geshi/xpp.php @@ -4,7 +4,7 @@ * ------- * Author: Simon Butcher (simon@butcher.name) * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/02/27 * * Axapta/Dynamics Ax X++ language file for GeSHi. diff --git a/inc/geshi/yaml.php b/inc/geshi/yaml.php index 1b3ce96f2..a2974eb57 100644 --- a/inc/geshi/yaml.php +++ b/inc/geshi/yaml.php @@ -4,7 +4,7 @@ * -------- * Author: Josh Ventura (JoshV10@gmail.com) * Copyright: (c) 2010 Josh Ventura - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/12/14 * * YAML language file for GeSHi. diff --git a/inc/geshi/z80.php b/inc/geshi/z80.php index cb92e9692..47326bb21 100644 --- a/inc/geshi/z80.php +++ b/inc/geshi/z80.php @@ -4,7 +4,7 @@ * ------- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/) - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2007/02/06 * * ZiLOG Z80 Assembler language file for GeSHi. diff --git a/inc/geshi/zxbasic.php b/inc/geshi/zxbasic.php index b32b8950a..b1de472b5 100644 --- a/inc/geshi/zxbasic.php +++ b/inc/geshi/zxbasic.php @@ -4,7 +4,7 @@ * ------------- * Author: Jose Rodriguez (a.k.a. Boriel) * Based on Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org) Freebasic template - * Release Version: 1.0.8.10 + * Release Version: 1.0.8.11 * Date Started: 2010/06/19 * * ZXBasic language file for GeSHi. diff --git a/inc/html.php b/inc/html.php index 410b59e49..f4e6af663 100644 --- a/inc/html.php +++ b/inc/html.php @@ -13,6 +13,10 @@ if(!defined('NL')) define('NL',"\n"); * Convenience function to quickly build a wikilink * * @author Andreas Gohr <andi@splitbrain.org> + * @param string $id id of the target page + * @param string $name the name of the link, i.e. the text that is displayed + * @param string|array $search search string(s) that shall be highlighted in the target page + * @return string the HTML code of the link */ function html_wikilink($id,$name=null,$search=''){ static $xhtml_renderer = null; @@ -121,7 +125,7 @@ function html_secedit_get_button($data) { global $ID; global $INFO; - if (!isset($data['name']) || $data['name'] === '') return; + if (!isset($data['name']) || $data['name'] === '') return ''; $name = $data['name']; unset($data['name']); @@ -146,7 +150,6 @@ function html_secedit_get_button($data) { function html_topbtn(){ global $lang; - $ret = ''; $ret = '<a class="nolink" href="#dokuwiki__top"><input type="button" class="button" value="'.$lang['btn_top'].'" onclick="window.scrollTo(0, 0)" title="'.$lang['btn_top'].'" /></a>'; return $ret; @@ -166,7 +169,6 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip='',$label=false $label = $lang['btn_'.$name]; $ret = ''; - $tip = ''; //filter id (without urlencoding) $id = idfilter($id,false); @@ -256,7 +258,6 @@ function html_draft(){ global $INFO; global $ID; global $lang; - global $conf; $draft = unserialize(io_readFile($INFO['draft'],false)); $text = cleanText(con($draft['prefix'],$draft['text'],$draft['suffix'],true)); @@ -312,9 +313,7 @@ function html_hilight_callback($m) { * @author Andreas Gohr <andi@splitbrain.org> */ function html_search(){ - global $conf; global $QUERY; - global $ID; global $lang; $intro = p_locale_xhtml('searchpage'); @@ -328,15 +327,13 @@ function html_search(){ //show progressbar print '<div id="dw__loading">'.NL; - print '<script type="text/javascript"><!--//--><![CDATA[//><!--'.NL; + print '<script type="text/javascript">/*<![CDATA[*/'.NL; print 'showLoadBar();'.NL; - print '//--><!]]></script>'.NL; + print '/*!]]>*/</script>'.NL; print '</div>'.NL; flush(); //do quick pagesearch - $data = array(); - $data = ft_pageLookup($QUERY,true,useHeading('navigation')); if(count($data)){ print '<div class="search_quickresult">'; @@ -390,9 +387,9 @@ function html_search(){ } //hide progressbar - print '<script type="text/javascript"><!--//--><![CDATA[//><!--'.NL; + print '<script type="text/javascript">/*<![CDATA[*/'.NL; print 'hideLoadBar("dw__loading");'.NL; - print '//--><!]]></script>'.NL; + print '/*!]]>*/</script>'.NL; flush(); } @@ -466,6 +463,9 @@ function html_revisions($first=0, $media_id = false){ if (!$media_id) $exists = $INFO['exists']; else $exists = @file_exists(mediaFN($id)); + $display_name = (!$media_id && useHeading('navigation')) ? hsc(p_get_first_heading($id)) : $id; + if (!$display_name) $display_name = $id; + if($exists && $first==0){ if (!$media_id && isset($INFO['meta']) && isset($INFO['meta']['last_change']) && $INFO['meta']['last_change']['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) $form->addElement(form_makeOpenTag('li', array('class' => 'minor'))); @@ -488,7 +488,7 @@ function html_revisions($first=0, $media_id = false){ $form->addElement(form_makeOpenTag('a', array( 'class' => 'wikilink1', 'href' => $href))); - $form->addElement($id); + $form->addElement($display_name); $form->addElement(form_makeCloseTag('a')); if ($media_id) $form->addElement(form_makeOpenTag('div')); @@ -563,11 +563,11 @@ function html_revisions($first=0, $media_id = false){ if (!$media_id) $href = wl($id,"rev=$rev",false,'&'); else $href = media_managerURL(array('image' => $id, 'tab_details' => 'view', 'rev' => $rev), '&'); $form->addElement(form_makeOpenTag('a', array('href' => $href, 'class' => 'wikilink1'))); - $form->addElement($id); + $form->addElement($display_name); $form->addElement(form_makeCloseTag('a')); }else{ $form->addElement('<img src="'.DOKU_BASE.'lib/images/blank.gif" width="15" height="11" alt="" />'); - $form->addElement($id); + $form->addElement($display_name); } if ($media_id) $form->addElement(form_makeOpenTag('div')); @@ -716,6 +716,9 @@ function html_recent($first=0, $show_changes='both'){ $form->addElement($date); $form->addElement(form_makeCloseTag('span')); + $diff = false; + $href = ''; + if ($recent['media']) { $diff = (count(getRevisions($recent['id'], 0, 1, 8192, true)) && @file_exists(mediaFN($recent['id']))); if ($diff) { @@ -825,7 +828,6 @@ function html_recent($first=0, $show_changes='both'){ function html_index($ns){ global $conf; global $ID; - $dir = $conf['datadir']; $ns = cleanID($ns); #fixme use appropriate function if(empty($ns)){ @@ -861,7 +863,8 @@ function html_list_index($item){ $ret .= $base; $ret .= '</strong></a>'; }else{ - $ret .= html_wikilink(':'.$item['id']); + // default is noNSorNS($id), but we want noNS($id) when useheading is off FS#2605 + $ret .= html_wikilink(':'.$item['id'], useHeading('navigation') ? null : noNS($item['id'])); } return $ret; } @@ -975,7 +978,6 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapp */ function html_backlinks(){ global $ID; - global $conf; global $lang; print p_locale_xhtml('backlinks'); @@ -995,6 +997,14 @@ function html_backlinks(){ } } +/** + * Get header of diff HTML + * @param string $l_rev Left revisions + * @param string $r_rev Right revision + * @param string $id Page id, if null $ID is used + * @param bool $media If it is for media files + * @return array HTML snippets for diff header + */ function html_diff_head($l_rev, $r_rev, $id = null, $media = false) { global $lang; if ($id === null) { @@ -1070,13 +1080,13 @@ function html_diff_head($l_rev, $r_rev, $id = null, $media = false) { * * @author Andreas Gohr <andi@splitbrain.org> * @param string $text - compare with this text with most current version - * @param bool $intr - display the intro text + * @param bool $intro - display the intro text + * @param string $type type of the diff (inline or sidebyside) */ function html_diff($text='',$intro=true,$type=null){ global $ID; global $REV; global $lang; - global $conf; global $INPUT; if(!$type) $type = $INPUT->str('difftype'); @@ -1114,7 +1124,7 @@ function html_diff($text='',$intro=true,$type=null){ $r_text = cleanText($text); $r_head = $lang['yours']; }else{ - if($rev1 && $rev2){ // two specific revisions wanted + if($rev1 && isset($rev2) && $rev2){ // two specific revisions wanted // make sure order is correct (older on the left) if($rev1 < $rev2){ $l_rev = $rev1; @@ -1228,6 +1238,7 @@ function html_conflict($text,$summary){ */ function html_msgarea(){ global $MSG, $MSG_shown; + /** @var array $MSG */ // store if the global $MSG has already been shown and thus HTML output has been started $MSG_shown = true; @@ -1254,7 +1265,6 @@ function html_msgarea(){ function html_register(){ global $lang; global $conf; - global $ID; global $INPUT; print p_locale_xhtml('register'); @@ -1287,8 +1297,8 @@ function html_updateprofile(){ global $lang; global $conf; global $INPUT; - global $ID; global $INFO; + /** @var auth_basic $auth */ global $auth; print p_locale_xhtml('updateprofile'); @@ -1424,9 +1434,9 @@ function html_edit(){ if ($wr) { // sets changed to true when previewed - echo '<script type="text/javascript"><!--//--><![CDATA[//><!--'. NL; + echo '<script type="text/javascript">/*<![CDATA[*/'. NL; echo 'textChanged = ' . ($mod ? 'true' : 'false'); - echo '//--><!]]></script>' . NL; + echo '/*!]]>*/</script>' . NL; } ?> <div class="editBox"> @@ -1487,6 +1497,7 @@ function html_minoredit(){ function html_debug(){ global $conf; global $lang; + /** @var auth_basic $auth */ global $auth; global $INFO; @@ -1571,14 +1582,15 @@ function html_debug(){ function html_admin(){ global $ID; global $INFO; - global $lang; global $conf; + /** @var auth_basic $auth */ global $auth; // build menu of admin functions from the plugins that handle them $pluginlist = plugin_list('admin'); $menu = array(); foreach ($pluginlist as $p) { + /** @var DokuWiki_Admin_Plugin $obj */ if($obj =& plugin_load('admin',$p) === null) continue; // check permissions @@ -1680,7 +1692,6 @@ function html_admin(){ function html_resendpwd() { global $lang; global $conf; - global $ID; global $INPUT; $token = preg_replace('/[^a-f0-9]+/','',$INPUT->str('pwauth')); @@ -1760,9 +1771,9 @@ function html_list_toc($item){ * @param string $text - what to display in the TOC * @param int $level - nesting level * @param string $hash - is prepended to the given $link, set blank if you want full links + * @return array the toc item */ function html_mktocitem($link, $text, $level, $hash='#'){ - global $conf; return array( 'link' => $hash.$link, 'title' => $text, 'type' => 'ul', @@ -1774,6 +1785,8 @@ function html_mktocitem($link, $text, $level, $hash='#'){ * Triggers an event with the form name: HTML_{$name}FORM_OUTPUT * * @author Tom N Harris <tnharris@whoopdedo.org> + * @param string $name The name of the form + * @param Doku_Form $form The form */ function html_form($name, &$form) { // Safety check in case the caller forgets. @@ -1784,6 +1797,7 @@ function html_form($name, &$form) { /** * Form print function. * Just calls printForm() on the data object. + * @param Doku_Form $data The form */ function html_form_output($data) { $data->printForm(); @@ -1866,6 +1880,12 @@ function html_flashobject($swf,$width,$height,$params=null,$flashvars=null,$atts return $out; } +/** + * Prints HTML code for the given tab structure + * + * @param array $tabs tab structure + * @param string $current_tab the current tab id + */ function html_tabs($tabs, $current_tab = null) { echo '<ul class="tabs">'.NL; diff --git a/inc/httputils.php b/inc/httputils.php index b815f3ca6..4ba287eb5 100644 --- a/inc/httputils.php +++ b/inc/httputils.php @@ -15,7 +15,7 @@ define('HTTP_CHUNK_SIZE',16*1024); * * @author Simon Willison <swillison@gmail.com> * @link http://simonwillison.net/2003/Apr/23/conditionalGet/ - * @param timestamp $timestamp lastmodified time of the cache file + * @param int $timestamp lastmodified time of the cache file * @returns void or exits with previously header() commands executed */ function http_conditionalRequest($timestamp){ diff --git a/inc/infoutils.php b/inc/infoutils.php index 9ee1a717d..0dc7092ad 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -25,12 +25,12 @@ function checkUpdateMessages(){ // check if new messages needs to be fetched if($lm < time()-(60*60*24) || $lm < @filemtime(DOKU_INC.DOKU_SCRIPT)){ + @touch($cf); dbglog("checkUpdatesMessages(): downloading messages.txt"); $http = new DokuHTTPClient(); - $http->timeout = 8; + $http->timeout = 12; $data = $http->get(DOKU_MESSAGEURL.$updateVersion); io_saveFile($cf,$data); - @touch($cf); }else{ dbglog("checkUpdatesMessages(): messages.txt up to date"); $data = io_readFile($cf); @@ -176,6 +176,13 @@ function check(){ msg('mb_string extension not available - PHP only replacements will be used',0); } + if (!preg_match("/^.$/u", "ñ")) { + msg('PHP is missing UTF-8 support in Perl-Compatible Regular Expressions (PCRE)', -1); + } + if (!preg_match("/^\pL$/u", "ñ")) { + msg('PHP is missing Unicode properties support in Perl-Compatible Regular Expressions (PCRE)', -1); + } + $loc = setlocale(LC_ALL, 0); if(!$loc){ msg('No valid locale is set for your PHP setup. You should fix this',-1); @@ -213,22 +220,6 @@ function check(){ msg('The current page is not writable by you',0); } - $check = wl('','',true).'data/_dummy'; - $http = new DokuHTTPClient(); - $http->timeout = 6; - $res = $http->get($check); - if(strpos($res,'data directory') !== false){ - msg('It seems like the data directory is accessible from the web. - Make sure this directory is properly protected - (See <a href="http://www.dokuwiki.org/security">security</a>)',-1); - }elseif($http->status == 404 || $http->status == 403){ - msg('The data directory seems to be properly protected',1); - }else{ - msg('Failed to check if the data directory is accessible from the web. - Make sure this directory is properly protected - (See <a href="http://www.dokuwiki.org/security">security</a>)',-1); - } - // Check for corrupted search index $lengths = idx_listIndexLengths(); $index_corrupted = false; diff --git a/inc/init.php b/inc/init.php index 00ab2afe9..9568d9b93 100644 --- a/inc/init.php +++ b/inc/init.php @@ -129,9 +129,13 @@ if(!defined('DOKU_TPLINC')) define('DOKU_TPLINC', // enable gzip compression if supported $conf['gzip_output'] &= (strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') !== false); +global $ACT; if ($conf['gzip_output'] && !defined('DOKU_DISABLE_GZIP_OUTPUT') && - function_exists('ob_gzhandler')) { + function_exists('ob_gzhandler') && + // Disable compression when a (compressed) sitemap might be delivered + // See https://bugs.dokuwiki.org/index.php?do=details&task_id=2576 + $ACT != 'sitemap') { ob_start('ob_gzhandler'); } @@ -162,7 +166,7 @@ if (get_magic_quotes_gpc() && !defined('MAGIC_QUOTES_STRIPPED')) { @ini_set('magic_quotes_gpc', 0); define('MAGIC_QUOTES_STRIPPED',1); } -@set_magic_quotes_runtime(0); +if(function_exists('set_magic_quotes_runtime')) @set_magic_quotes_runtime(0); @ini_set('magic_quotes_sybase',0); // don't let cookies ever interfere with request vars diff --git a/inc/io.php b/inc/io.php index 4c6eb97df..b4da7d635 100644 --- a/inc/io.php +++ b/inc/io.php @@ -18,8 +18,8 @@ if(!defined('DOKU_INC')) die('meh.'); * * @todo use safemode hack * @param string $id - a pageid, the namespace of that id will be tried to deleted - * @param string $basadir - the config name of the type to delete (datadir or mediadir usally) - * @returns bool - true if at least one namespace was deleted + * @param string $basedir - the config name of the type to delete (datadir or mediadir usally) + * @return bool - true if at least one namespace was deleted * @author Andreas Gohr <andi@splitbrain.org> * @author Ben Coburn <btcoburn@silicodon.net> */ @@ -113,6 +113,7 @@ function io_readFile($file,$clean=true){ function bzfile($file){ $bz = bzopen($file,"r"); + $str = ''; while (!feof($bz)){ //8192 seems to be the maximum buffersize? $str = $str . bzread($bz,8192); @@ -477,8 +478,8 @@ function io_download($url,$file,$useAttachment=false,$defaultName='',$maxSize=20 $data = $http->get($url); if(!$data) return false; + $name = ''; if ($useAttachment) { - $name = ''; if (isset($http->resp_headers['content-disposition'])) { $content_disposition = $http->resp_headers['content-disposition']; $match=array(); @@ -578,8 +579,8 @@ function io_exec($cmd, $input, &$output){ * @param string $file The file to search * @param string $pattern PCRE pattern * @param int $max How many lines to return (0 for all) - * @param bool $baxkref When true returns array with backreferences instead of lines - * @return matching lines or backref, false on error + * @param bool $backref When true returns array with backreferences instead of lines + * @return array matching lines or backref, false on error */ function io_grep($file,$pattern,$max=0,$backref=false){ $fh = @fopen($file,'r'); diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 350e26695..8f34936f3 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -324,4 +324,3 @@ $lang['media_perm_read'] = 'عفوا، لست مخولا بقراءة ال $lang['media_perm_upload'] = 'عفوا، لست مخولا برفع الملفات.'; $lang['media_update'] = 'ارفع إصدارا أحدث'; $lang['media_restore'] = 'استرجع هذه النسخة'; -$lang['plugin_install_err'] = 'ثبتت الإضافة بشكل خاطئ. أعد تسمية دليل الإضافة \'%s\' إلى \'%s\'.'; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 562dc78b3..3c6c17211 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -344,6 +344,4 @@ $lang['media_perm_upload'] = 'За съжаление нямате дост $lang['media_update'] = 'Качване на нова версия'; $lang['media_restore'] = 'Възстановяване на тази версия'; -$lang['plugin_install_err'] = 'Неправилно инсталирана приставка. Моля, преименувайте директорията \'%s\' на \'%s\'.'; - //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 608beafd8..a53da327a 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -47,6 +47,7 @@ $lang['btn_backtomedia'] = 'Zpět do Výběru dokumentu'; $lang['btn_subscribe'] = 'Odebírat emailem změny stránky'; $lang['btn_profile'] = 'Upravit profil'; $lang['btn_reset'] = 'Reset'; +$lang['btn_resendpwd'] = 'Nastavit nové heslo'; $lang['btn_draft'] = 'Upravit koncept'; $lang['btn_recover'] = 'Obnovit koncept'; $lang['btn_draftdel'] = 'Vymazat koncept'; @@ -83,6 +84,7 @@ $lang['profnoempty'] = 'Nelze zadat prázdné jméno nebo mailová adr $lang['profchanged'] = 'Uživatelský profil změněn.'; $lang['pwdforget'] = 'Zapomněli jste heslo? Nechte si zaslat nové'; $lang['resendna'] = 'Tato wiki neumožňuje zasílání nových hesel.'; +$lang['resendpwd'] = 'Nastavit nové heslo pro'; $lang['resendpwdmissing'] = 'Musíte vyplnit všechny položky.'; $lang['resendpwdnouser'] = 'Bohužel takový uživatel v systému není.'; $lang['resendpwdbadauth'] = 'Autorizační kód není platný. Zadali jste opravdu celý odkaz na potvrzovací stránku?'; @@ -95,6 +97,7 @@ $lang['searchmedia_in'] = 'Hledat v %s'; $lang['txt_upload'] = 'Vyberte soubor jako přílohu'; $lang['txt_filename'] = 'Wiki jméno (volitelné)'; $lang['txt_overwrt'] = 'Přepsat existující soubor'; +$lang['maxuploadsize'] = 'Max. velikost souboru %s'; $lang['lockedby'] = 'Právě zamknuto:'; $lang['lockexpire'] = 'Zámek vyprší:'; $lang['js']['willexpire'] = 'Váš zámek pro editaci za chvíli vyprší.\nAbyste předešli konfliktům, stiskněte tlačítko Náhled a zámek se prodlouží.'; @@ -264,6 +267,7 @@ $lang['subscr_style_digest'] = 'souhrnný email změn pro každou stránku (ka $lang['subscr_style_list'] = 'seznam změněných stránek od posledního emailu (každé %.2f dny/dní)'; $lang['authmodfailed'] = 'Autentizace uživatelů je špatně nastavena. Informujte prosím správce této wiki.'; $lang['authtempfail'] = 'Autentizace uživatelů je dočasně nedostupná. Pokud tento problém přetrvává, informujte prosím správce této wiki.'; +$lang['authpwdexpire'] = 'Platnost vašeho hesla vyprší za %d dní, měli byste ho změnit co nejdříve.'; $lang['i_chooselang'] = 'Vyberte si jazyk'; $lang['i_installer'] = 'Instalace DokuWiki'; $lang['i_wikiname'] = 'Název wiki'; @@ -318,4 +322,3 @@ $lang['media_perm_read'] = 'Bohužel, nemáte práva číst soubory.'; $lang['media_perm_upload'] = 'Bohužel, nemáte práva nahrávat soubory.'; $lang['media_update'] = 'Nahrát novou verzi'; $lang['media_restore'] = 'Obnovit tuto verzi'; -$lang['plugin_install_err'] = 'Plugin je špatně nainstalován. Přejmenujte adresář pluginu \'%s\' na \'%s\'.'; diff --git a/inc/lang/cs/mailwrap.html b/inc/lang/cs/mailwrap.html new file mode 100644 index 000000000..dacd38d57 --- /dev/null +++ b/inc/lang/cs/mailwrap.html @@ -0,0 +1,13 @@ +<html> + <head> + <title>@TITLE@</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + </head> + <body> + + @HTMLBODY@ + + <br /><hr /> + <small>Tento mail byl vygenerován systémem DokuWiki na adrese @DOKUWIKIURL@.</small> + </body> + </html>
\ No newline at end of file diff --git a/inc/lang/cs/resetpwd.txt b/inc/lang/cs/resetpwd.txt new file mode 100644 index 000000000..9aa449cb6 --- /dev/null +++ b/inc/lang/cs/resetpwd.txt @@ -0,0 +1,3 @@ +====== Nastavení nového hesla ====== + +Zadejte prosím nové heslo pro váš účet.
\ No newline at end of file diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 97f2138b4..ee8de1bb8 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -325,4 +325,3 @@ $lang['media_perm_read'] = 'Du har ikke nok rettigheder til at læse filer $lang['media_perm_upload'] = 'Du har ikke nok rettigheder til at uploade filer.'; $lang['media_update'] = 'Upload ny version'; $lang['media_restore'] = 'Genskab denne version'; -$lang['plugin_install_err'] = 'Plugin installeret forkert. Omdøb plugin folder \'%s\' til \'%s\'.'; diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index 37469522f..0558a2a56 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -327,4 +327,3 @@ $lang['media_perm_read'] = 'Du besitzt nicht die notwendigen Berechtigunge $lang['media_perm_upload'] = 'Du besitzt nicht die notwendigen Berechtigungen um Dateien hochzuladen.'; $lang['media_update'] = 'Neue Version hochladen'; $lang['media_restore'] = 'Diese Version wiederherstellen'; -$lang['plugin_install_err'] = 'Plugin nicht korrekt installiert. Plugin-Verzeichnis von \'%s\' nach \'%s\' umbenennen.'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 4ea75157b..410022a3d 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -329,4 +329,3 @@ $lang['media_perm_read'] = 'Sie besitzen nicht die notwendigen Berechtigun $lang['media_perm_upload'] = 'Sie besitzen nicht die notwendigen Berechtigungen um Dateien hochzuladen.'; $lang['media_update'] = 'Neue Version hochladen'; $lang['media_restore'] = 'Diese Version wiederherstellen'; -$lang['plugin_install_err'] = 'Plugin nicht korrekt installiert. Plugin-Verzeichnis von \'%s\' nach \'%s\' umbenennen.'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 95f1a1ea5..443a5061d 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -306,4 +306,3 @@ $lang['media_perm_read'] = 'Συγνώμη, δεν έχετε επαρκή $lang['media_perm_upload'] = 'Συγνώμη, δεν έχετε επαρκή διακαιώματα για να φορτώσετε αυτά τα αρχεία.'; $lang['media_update'] = 'Φόρτωση νέας έκδοσης'; $lang['media_restore'] = 'Επαναφορά αυτή της έκδοσης'; -$lang['plugin_install_err'] = 'Η επέκταση δεν εγκαταστήθηκε σωστά. Μετονομασία φακέλου επεκτάσεων από \'%s\' σε \'%s\'.'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 3c51ba224..0e5a9ac3c 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -347,6 +347,4 @@ $lang['media_perm_upload'] = 'Sorry, you don\'t have enough rights to upload $lang['media_update'] = 'Upload new version'; $lang['media_restore'] = 'Restore this version'; -$lang['plugin_install_err'] = "Plugin installed incorrectly. Rename plugin directory '%s' to '%s'."; - //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/en/preview.txt b/inc/lang/en/preview.txt index 16c96c5d7..5ca69694d 100644 --- a/inc/lang/en/preview.txt +++ b/inc/lang/en/preview.txt @@ -1,4 +1,4 @@ ====== Preview ====== -This is a preview of how your text will look like. Remember: It is **not saved** yet! +This is a preview of what your text will look like. Remember: It is **not saved** yet! diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index b2c64b2a6..5a0b0245f 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -95,6 +95,7 @@ $lang['searchmedia_in'] = 'Serĉi en %s'; $lang['txt_upload'] = 'Elektu dosieron por alŝuti'; $lang['txt_filename'] = 'Alŝuti kiel (laŭvole)'; $lang['txt_overwrt'] = 'Anstataŭigi ekzistantan dosieron'; +$lang['maxuploadsize'] = 'Alŝuto maks. %s po dosiero.'; $lang['lockedby'] = 'Nune ŝlosita de'; $lang['lockexpire'] = 'Ŝlosado ĉesos en'; $lang['js']['willexpire'] = 'Vi povos redakti ĉi tiun paĝon post unu minuto.\nSe vi volas nuligi tempokontrolon de la ŝlosado, premu la butonon "Antaŭrigardi".'; @@ -193,6 +194,7 @@ $lang['user_tools'] = 'Uzantaj iloj'; $lang['site_tools'] = 'Retejaj iloj'; $lang['page_tools'] = 'Paĝaj iloj'; $lang['skip_to_content'] = 'al la enhavo'; +$lang['sidebar'] = 'Flanka strio'; $lang['mail_newpage'] = 'paĝo aldonita:'; $lang['mail_changed'] = 'paĝo modifita:'; $lang['mail_subscribe_list'] = 'ŝanĝitaj paĝoj en nomspaco:'; @@ -263,6 +265,7 @@ $lang['subscr_style_digest'] = 'resuma retpoŝtaĵo de ŝanĝoj por ĉiu paĝo $lang['subscr_style_list'] = 'listo de ŝanĝitaj paĝoj ekde la lasta retpoŝtaĵo (je %.2f tagoj)'; $lang['authmodfailed'] = 'Malbona agordo por identigi la uzanton. Bonvolu informi la administranton de la vikio.'; $lang['authtempfail'] = 'La identigo de via uzantonomo estas intertempe maldisponebla. Se tiu ĉi situacio daŭros, bonvolu informi la adminstranton de la vikio.'; +$lang['authpwdexpire'] = 'Via pasvorto malvalidos post %d tagoj, prefere ŝanĝu ĝin baldaũ.'; $lang['i_chooselang'] = 'Elektu vian lingvon'; $lang['i_installer'] = 'Instalilo de DokuWiki'; $lang['i_wikiname'] = 'Nomo de la vikio'; diff --git a/inc/lang/eo/mailwrap.html b/inc/lang/eo/mailwrap.html new file mode 100644 index 000000000..9e92a00f7 --- /dev/null +++ b/inc/lang/eo/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Tiu retpoŝtaĵo venas de DokuWiki ĉe @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/eo/resetpwd.txt b/inc/lang/eo/resetpwd.txt new file mode 100644 index 000000000..442a7ac4e --- /dev/null +++ b/inc/lang/eo/resetpwd.txt @@ -0,0 +1,4 @@ +====== Difini novan pasvorton ====== + + +Bonvolu indiki novan pasvorton por via konto en tiu ĉi vikio.
\ No newline at end of file diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index ee3da258b..4c15877e3 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -26,6 +26,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -56,11 +58,12 @@ $lang['btn_admin'] = 'Administrar'; $lang['btn_update'] = 'Actualizar'; $lang['btn_delete'] = 'Borrar'; $lang['btn_back'] = 'Atrás'; -$lang['btn_backlink'] = 'Enlaces anteriores'; +$lang['btn_backlink'] = 'Enlaces a esta página'; $lang['btn_backtomedia'] = 'Volver a la selección de archivos multimedia'; $lang['btn_subscribe'] = 'Suscribirse a cambios de la página'; $lang['btn_profile'] = 'Actualizar perfil'; $lang['btn_reset'] = 'Restablecer'; +$lang['btn_resendpwd'] = 'Establecer nueva contraseña'; $lang['btn_draft'] = 'Editar borrador'; $lang['btn_recover'] = 'Recuperar borrador'; $lang['btn_draftdel'] = 'Eliminar borrador'; @@ -97,6 +100,7 @@ $lang['profnoempty'] = 'No se permite que el nombre o la dirección de $lang['profchanged'] = 'Se actualizó correctamente el perfil del usuario.'; $lang['pwdforget'] = '¿Has olvidado tu contraseña? Consigue una nueva'; $lang['resendna'] = 'Este wiki no brinda la posibilidad de reenvío de contraseña.'; +$lang['resendpwd'] = 'Establecer nueva contraseña para'; $lang['resendpwdmissing'] = 'Lo siento, debes completar todos los campos.'; $lang['resendpwdnouser'] = 'Lo siento, no se encuentra este usuario en nuestra base de datos.'; $lang['resendpwdbadauth'] = 'Lo siento, este código de autenticación no es válido. Asegúrate de haber usado el enlace de confirmación entero.'; @@ -109,6 +113,7 @@ $lang['searchmedia_in'] = 'Buscar en %s'; $lang['txt_upload'] = 'Selecciona el archivo a subir'; $lang['txt_filename'] = 'Subir como (opcional)'; $lang['txt_overwrt'] = 'Sobreescribir archivo existente'; +$lang['maxuploadsize'] = 'Peso máximo de %s por archivo'; $lang['lockedby'] = 'Actualmente bloqueado por'; $lang['lockexpire'] = 'El bloqueo expira en'; $lang['js']['willexpire'] = 'El bloqueo para la edición de esta página expira en un minuto.\nPAra prevenir conflictos uso el botón Previsualizar para restaurar el contador de bloqueo.'; @@ -203,6 +208,12 @@ $lang['external_edit'] = 'editor externo'; $lang['summary'] = 'Resumen de la edición'; $lang['noflash'] = 'Para mostrar este contenido es necesario el <a href="http://www.adobe.com/products/flashplayer/">Plugin Adobe Flash</a>.'; $lang['download'] = 'Descargar trozo de código fuente'; +$lang['tools'] = 'Herramientas'; +$lang['user_tools'] = 'Herramientas de usuario'; +$lang['site_tools'] = 'Herramientas del sitio'; +$lang['page_tools'] = 'Herramientas de la página'; +$lang['skip_to_content'] = 'Saltar a contenido'; +$lang['sidebar'] = 'Barra lateral'; $lang['mail_newpage'] = 'página añadida:'; $lang['mail_changed'] = 'página cambiada:'; $lang['mail_subscribe_list'] = 'páginas cambiadas en el espacio de nombre:'; @@ -273,6 +284,7 @@ $lang['subscr_style_digest'] = 'recopilar correo de cambios por cada página'; $lang['subscr_style_list'] = 'lista de páginas con cambios desde el último correo'; $lang['authmodfailed'] = 'Está mal configurada la autenticación de usuarios. Por favor, avisa al administrador del wiki.'; $lang['authtempfail'] = 'La autenticación de usuarios no está disponible temporalmente. Si esta situación persiste, por favor avisa al administrador del wiki.'; +$lang['authpwdexpire'] = 'Su contraseña caducara en %d días, debería cambiarla lo antes posible'; $lang['i_chooselang'] = 'Elija su idioma'; $lang['i_installer'] = 'Instalador de DokuWiki'; $lang['i_wikiname'] = 'Nombre del wiki'; @@ -327,4 +339,3 @@ $lang['media_perm_read'] = 'Disculpa, no tienes los permisos necesarios pa $lang['media_perm_upload'] = 'Disculpa, no tienes los permisos necesarios para cargar ficheros.'; $lang['media_update'] = 'Actualizar nueva versión'; $lang['media_restore'] = 'Restaurar esta versión'; -$lang['plugin_install_err'] = 'Plugin instalado incorrectamente. Renombra el directorio de plugins \'%s\' to \'%s\'.'; diff --git a/inc/lang/es/mailwrap.html b/inc/lang/es/mailwrap.html new file mode 100644 index 000000000..3cf255f79 --- /dev/null +++ b/inc/lang/es/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Este correo ha sido generado por DokuWiki desde @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/es/resetpwd.txt b/inc/lang/es/resetpwd.txt new file mode 100644 index 000000000..6fade9598 --- /dev/null +++ b/inc/lang/es/resetpwd.txt @@ -0,0 +1,3 @@ +====== Establecer nueva contraseña ====== + +Favor de introducir una nueva contraseña para su cuenta en este wiki
\ No newline at end of file diff --git a/inc/lang/es/subscr_single.txt b/inc/lang/es/subscr_single.txt index e2a54c79f..abddeeb21 100644 --- a/inc/lang/es/subscr_single.txt +++ b/inc/lang/es/subscr_single.txt @@ -1,7 +1,7 @@ Hola! La página @PAGE@ en @TITLE@ wiki ha cambiado. -Estos son los cambioss: +Estos son los cambios: -------------------------------------------------------- @DIFF@ @@ -9,7 +9,7 @@ Estos son los cambioss: Fecha : @DATE@ Usuario : @USER@ -Resúmen de edición: @SUMMARY@ +Resumen de edición: @SUMMARY@ Revisión Anterior: @OLDPAGE@ Nueva Revisión: @NEWPAGE@ diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index f7a517fe4..59d9d86fb 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -5,6 +5,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Xabi Ezpeleta <xezpeleta@mendikute.com> * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -40,11 +41,14 @@ $lang['btn_backtomedia'] = 'Atzera Multimedia Fitxategiaren Aukeraketara'; $lang['btn_subscribe'] = 'Harpidetu Orri Aldaketetara'; $lang['btn_profile'] = 'Eguneratu Profila '; $lang['btn_reset'] = 'Aldaketak Desegin'; +$lang['btn_resendpwd'] = 'Pasahitza berria ezarri'; $lang['btn_draft'] = 'Editatu zirriborroa'; $lang['btn_recover'] = 'Berreskuratu zirriborroa'; $lang['btn_draftdel'] = 'Ezabatu zirriborroa'; $lang['btn_revert'] = 'Berrezarri'; $lang['btn_register'] = 'Erregistratu'; +$lang['btn_apply'] = 'Baieztatu'; +$lang['btn_media'] = 'Media Kudeatzailea'; $lang['loggedinas'] = 'Erabiltzailea'; $lang['user'] = 'Erabiltzailea'; $lang['pass'] = 'Pasahitza'; @@ -74,6 +78,7 @@ $lang['profnoempty'] = 'Izen edota e-posta hutsa ez dago onartua.'; $lang['profchanged'] = 'Erabiltzaile profila arrakastaz eguneratua.'; $lang['pwdforget'] = 'Pasahitza ahaztu duzu? Eskuratu berri bat'; $lang['resendna'] = 'Wiki honek ez du pasahitz berbidalketa onartzen.'; +$lang['resendpwd'] = '-entzat pasahitza berria ezarri'; $lang['resendpwdmissing'] = 'Barkatu, eremu guztiak bete behar dituzu.'; $lang['resendpwdnouser'] = 'Barkatu, ez dugu erabiltzaile hori datu-basean aurkitzen'; $lang['resendpwdbadauth'] = 'Barkatu, kautotze kodea ez da baliozkoa. Ziurtatu baieztapen esteka osoa erabili duzula.'; @@ -88,7 +93,7 @@ $lang['txt_filename'] = 'Idatzi wikiname-a (aukerazkoa)'; $lang['txt_overwrt'] = 'Oraingo fitxategiaren gainean idatzi'; $lang['lockedby'] = 'Momentu honetan blokeatzen:'; $lang['lockexpire'] = 'Blokeaketa iraungitzen da:'; -$lang['js']['willexpire'] = 'Zure blokeaketa orri hau aldatzeko minutu batean iraungitzen da.\nGatazkak saihesteko, aurreikusi botoia erabili blokeaketa denboragailua berrabiarazteko.'; +$lang['js']['willexpire'] = 'Zure blokeaketa orri hau aldatzeko minutu batean iraungitzen da.\nGatazkak saihesteko, aurreikusi botoia erabili blokeaketa denboragailua berrabiarazteko.'; $lang['js']['notsavedyet'] = 'Gorde gabeko aldaketak galdu egingo dira. Benetan jarraitu nahi duzu?'; $lang['js']['searchmedia'] = 'Bilatu fitxategiak'; @@ -120,6 +125,15 @@ Esteka kopiatu eta itsatsi dezakezu dena den.'; $lang['js']['linkwiz'] = 'Estekatze Laguntzailea'; $lang['js']['linkto'] = 'Estekatu hona:'; $lang['js']['del_confirm'] = 'Benetan ezabatu aukeratutako fitxategia(k)?'; +$lang['js']['restore_confirm'] = 'Benetan bertsio hau berrezarri?'; +$lang['js']['media_diff'] = 'Diferentziak ikusi:'; +$lang['js']['media_diff_both'] = 'Ondoz ondo'; +$lang['js']['media_select'] = 'Fitxategiak hautatu'; +$lang['js']['media_upload_btn'] = 'Igo'; +$lang['js']['media_done_btn'] = 'Egina'; +$lang['js']['media_drop'] = 'Fitxategiak igotzeko hona bota'; +$lang['js']['media_cancel'] = 'ezabatu'; +$lang['js']['media_overwrt'] = 'Dauden fitxategiak berridatzi'; $lang['rssfailed'] = 'Errorea gertatu da feed hau irakurtzean:'; $lang['nothingfound'] = 'Ez da ezer aurkitu.'; $lang['mediaselect'] = 'Aukeratu Multimedia fitxategia'; @@ -169,11 +183,21 @@ $lang['external_edit'] = 'kanpoko aldaketa'; $lang['summary'] = 'Aldatu laburpena'; $lang['noflash'] = '<a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a> beharrezkoa da eduki hau bistaratzeko.'; $lang['download'] = 'Deskarga Snippet-a'; +$lang['tools'] = 'Tresnak'; +$lang['user_tools'] = 'Erabiltzaile Tresnak'; +$lang['site_tools'] = 'Gune Tresnak'; +$lang['page_tools'] = 'Orri Tresnak'; +$lang['skip_to_content'] = 'edukira sahiestu'; +$lang['sidebar'] = 'Alboko-barra'; $lang['mail_newpage'] = '[DokuWiki] gehitutako orria:'; $lang['mail_changed'] = '[DokuWiki] aldatutako orria:'; $lang['mail_subscribe_list'] = 'izen-espazioan aldatutako orriak:'; $lang['mail_new_user'] = 'erabiltzaile berria:'; $lang['mail_upload'] = 'fitxategia igota:'; +$lang['changes_type'] = '-ren aldaketak ikusi'; +$lang['pages_changes'] = 'Orriak'; +$lang['media_changes'] = 'Media fitxategiak'; +$lang['both_changes'] = 'Bai orriak nahiz media fitxategiak'; $lang['qb_bold'] = 'Letra beltzez'; $lang['qb_italic'] = 'Letra italiarrez'; $lang['qb_underl'] = 'Azpimarratua'; @@ -214,6 +238,9 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Formatua'; $lang['img_camera'] = 'Kamera'; $lang['img_keywords'] = 'Hitz-gakoak'; +$lang['img_width'] = 'Zabalera'; +$lang['img_height'] = 'Altuera'; +$lang['img_manager'] = 'Media kudeatzailean ikusi'; $lang['subscr_subscribe_success'] = '%s gehitua %s-ren harpidetza zerrendara'; $lang['subscr_subscribe_error'] = 'Errorea %s gehitzen %s-ren harpidetza zerrendara'; $lang['subscr_subscribe_noaddress'] = 'Ez dago helbiderik zure login-arekin lotuta, ezin zara harpidetza zerrendara gehitua izan.'; @@ -232,6 +259,7 @@ $lang['subscr_style_digest'] = 'e-posta laburbildua orri bakoitzeko aldaketent $lang['subscr_style_list'] = 'aldatutako orrien zerrenda azken e-postatik (%.2f egunero)'; $lang['authmodfailed'] = 'Erabiltzaile kautotzearen konfigurazioa okerra da. Mesedez, eman honen berri Wiki administratzaileari'; $lang['authtempfail'] = 'Erabiltzaile kautotzea denboraldi batez ez dago erabilgarri. Egoerak hala jarraitzen badu, mesedez, eman honen berri Wiki administratzaileari'; +$lang['authpwdexpire'] = 'Zure pasahitza %d egun barru iraungiko da, laster aldatu beharko zenuke.'; $lang['i_chooselang'] = 'Hautatu zure hizkuntza'; $lang['i_installer'] = 'DokuWiki instalatzailea'; $lang['i_wikiname'] = 'Wiki Izena'; @@ -263,3 +291,19 @@ $lang['hours'] = 'duela %d ordu'; $lang['minutes'] = 'duela %d minutu'; $lang['seconds'] = 'duela %d segundu'; $lang['wordblock'] = 'Zure aldaketa ez da aldatua izan blokeatutako testua (spam) daukalako.'; +$lang['media_uploadtab'] = 'Igo'; +$lang['media_searchtab'] = 'Bilatu'; +$lang['media_file'] = 'Fitxategia'; +$lang['media_viewtab'] = 'Begiratu'; +$lang['media_edittab'] = 'Editatu'; +$lang['media_historytab'] = 'Historia'; +$lang['media_sort_name'] = 'Izena'; +$lang['media_sort_date'] = 'Data'; +$lang['media_files'] = '%s -n fitxategiak'; +$lang['media_upload'] = 'Igo %s -ra'; +$lang['media_search'] = 'Bilatu %s -n'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s -n %s'; +$lang['media_edit'] = '%s editatu'; +$lang['media_update'] = 'Bertsio berria igo'; +$lang['media_restore'] = 'Bertsio hau berrezarri'; diff --git a/inc/lang/eu/mailwrap.html b/inc/lang/eu/mailwrap.html new file mode 100644 index 000000000..0cf92c28b --- /dev/null +++ b/inc/lang/eu/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Mezu elektroniko hau DokuWiki-k sortua da @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/eu/resetpwd.txt b/inc/lang/eu/resetpwd.txt new file mode 100644 index 000000000..9bb6e3ae8 --- /dev/null +++ b/inc/lang/eu/resetpwd.txt @@ -0,0 +1,3 @@ + ====== Pasahitza berria ezarri ====== + +Mesedez wiki honetako zure pasahitza berria sartu.
\ No newline at end of file diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index 1b8586d5a..fdcdeb1bc 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -13,6 +13,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -198,6 +199,7 @@ $lang['user_tools'] = 'ابزار کاربر'; $lang['site_tools'] = 'ابزار سایت'; $lang['page_tools'] = 'ابزار صفحه'; $lang['skip_to_content'] = 'پرش به محتوا'; +$lang['sidebar'] = 'نوار کناری'; $lang['mail_newpage'] = 'صفحه اضافه شد:'; $lang['mail_changed'] = 'صفحه تغییر داده شد:'; $lang['mail_subscribe_list'] = 'صفحات تغییر داده شده در فضاینام'; @@ -323,4 +325,3 @@ $lang['media_perm_read'] = 'متاسفانه ، شما حق خواندن $lang['media_perm_upload'] = 'متاسفانه ، شما حق آپلود این فایل ها را ندارید.'; $lang['media_update'] = 'آپلود نسخه جدید'; $lang['media_restore'] = 'بازیابی این نسخه'; -$lang['plugin_install_err'] = 'افزونه به صورت نادرست نصب شده است. دایرکتوری افزونه را از \'%s\' به \'%s\' تغییر دهید.'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index ce15f68d0..4f5f6f1a2 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -43,6 +43,7 @@ $lang['btn_backtomedia'] = 'Takaisin mediatiedostojen valintaan'; $lang['btn_subscribe'] = 'Tilaa muutokset'; $lang['btn_profile'] = 'Päivitä profiili'; $lang['btn_reset'] = 'Tyhjennä'; +$lang['btn_resendpwd'] = 'Aseta uusi salasana'; $lang['btn_draft'] = 'Muokkaa luonnosta'; $lang['btn_recover'] = 'Palauta luonnos'; $lang['btn_draftdel'] = 'Poista luonnos'; @@ -79,6 +80,7 @@ $lang['profnoempty'] = 'Tyhjä nimi tai sähköpostiosoite ei ole sall $lang['profchanged'] = 'Käyttäjän profiilin päivitys onnistui.'; $lang['pwdforget'] = 'Unohtuiko salasana? Hanki uusi'; $lang['resendna'] = 'Tämä wiki ei tue salasanan uudelleenlähettämistä.'; +$lang['resendpwd'] = 'Aseta uusisalasana'; $lang['resendpwdmissing'] = 'Kaikki kentät on täytettävä.'; $lang['resendpwdnouser'] = 'Käyttäjää ei löydy tietokannastamme.'; $lang['resendpwdbadauth'] = 'Tunnistuskoodi on virheellinen. Varmista, että käytit koko varmistuslinkkiä.'; @@ -91,6 +93,7 @@ $lang['searchmedia_in'] = 'Etsi kohteesta %s'; $lang['txt_upload'] = 'Valitse tiedosto lähetettäväksi'; $lang['txt_filename'] = 'Lähetä nimellä (valinnainen)'; $lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva'; +$lang['maxuploadsize'] = 'Palvelimelle siirto max. %s / tiedosto.'; $lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut'; $lang['lockexpire'] = 'Lukitus päättyy'; $lang['js']['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.'; @@ -185,6 +188,12 @@ $lang['external_edit'] = 'ulkoinen muokkaus'; $lang['summary'] = 'Yhteenveto muokkauksesta'; $lang['noflash'] = 'Tarvitset <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash-liitännäisen</a> nähdäksesi tämän sisällön.'; $lang['download'] = 'Lataa palanen'; +$lang['tools'] = 'Työkalut'; +$lang['user_tools'] = 'Käyttäjän työkalut'; +$lang['site_tools'] = 'Sivuston työkalut'; +$lang['page_tools'] = 'Sivutyökalut'; +$lang['skip_to_content'] = 'Siirry sisältöön'; +$lang['sidebar'] = 'Sivupalkki'; $lang['mail_newpage'] = 'sivu lisätty:'; $lang['mail_changed'] = 'sivu muutettu:'; $lang['mail_subscribe_list'] = 'muuttuneet sivut nimiavaruudessa:'; @@ -255,6 +264,7 @@ $lang['subscr_style_digest'] = 'yhteenveto-sähköposti joka sivusta (joka %.2 $lang['subscr_style_list'] = 'lista muuttuneista sivuista edellisen sähköpostin jälkeen (joka %.2f. päivä)'; $lang['authmodfailed'] = 'Käyttäjien autentikoinnin asetukset ovat virheelliset. Ilmoita asiasta wikin ylläpitäjälle.'; $lang['authtempfail'] = 'Käyttäjien autentikointi ei tällä hetkellä onnistu. Jos ongelma jatkuu, ota yhteyttä wikin ylläpitäjään.'; +$lang['authpwdexpire'] = 'Salasanasi vanhenee %d pv:n päästä, vaihda salasanasi pikaisesti.'; $lang['i_chooselang'] = 'Valitse kieli'; $lang['i_installer'] = 'DokuWikin asentaja'; $lang['i_wikiname'] = 'Wikin nimi'; @@ -309,4 +319,3 @@ $lang['media_perm_read'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuks $lang['media_perm_upload'] = 'Anteeksi. Sinulla ei ole riittävästi oikeuksia lähettääksesi tiedostoja.'; $lang['media_update'] = 'Lähetä uusi versio'; $lang['media_restore'] = 'Palauta tämä versio'; -$lang['plugin_install_err'] = 'Liitännäinen asentui virheellisesti. Nimeä liitännäisen hakemisto \'%s\' -> \'%s\''; diff --git a/inc/lang/fi/mailwrap.html b/inc/lang/fi/mailwrap.html new file mode 100644 index 000000000..6ff63c04e --- /dev/null +++ b/inc/lang/fi/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Tämä viesti on tehty DokuWiki:ssä @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/fi/resetpwd.txt b/inc/lang/fi/resetpwd.txt new file mode 100644 index 000000000..c6780949a --- /dev/null +++ b/inc/lang/fi/resetpwd.txt @@ -0,0 +1,3 @@ +===== Aseta salasana ===== + +Anna uusi salasanasi tässä wikissä.
\ No newline at end of file diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index a77be6965..c4080bc50 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -24,6 +24,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -109,6 +110,7 @@ $lang['searchmedia_in'] = 'Chercher dans %s'; $lang['txt_upload'] = 'Sélectionnez un fichier à envoyer '; $lang['txt_filename'] = 'Donnez un « wikiname » (optionnel) '; $lang['txt_overwrt'] = 'Écraser le fichier cible'; +$lang['maxuploadsize'] = 'Téléverser max. %s par fichier'; $lang['lockedby'] = 'Actuellement bloqué par'; $lang['lockexpire'] = 'Le blocage expire à'; $lang['js']['willexpire'] = 'Votre verrouillage pour la modification de cette page expire dans une minute.\nPour éviter les conflits, utilisez le bouton « Aperçu » pour réinitialiser le minuteur.'; @@ -331,4 +333,3 @@ $lang['media_perm_read'] = 'Désolé, vous n\'avez pas les droits pour lir $lang['media_perm_upload'] = 'Désolé, vous n\'avez pas les droits pour télécharger des fichiers.'; $lang['media_update'] = 'Télécharger une nouvelle version'; $lang['media_restore'] = 'Restaurer cette version'; -$lang['plugin_install_err'] = 'Extension mal installée. Renommez le dossier de l\'extension \'%s\' en \'%s\'.'; diff --git a/inc/lang/fr/mailtext.txt b/inc/lang/fr/mailtext.txt index add3b2779..3c2d53292 100644 --- a/inc/lang/fr/mailtext.txt +++ b/inc/lang/fr/mailtext.txt @@ -7,7 +7,6 @@ Adresse IP : @IPADDRESS@ Nom d'hôte : @HOSTNAME@ Ancienne révision : @OLDPAGE@ Nouvelle révision : @NEWPAGE@ -Différences : @OLDPAGE@&do=diff Résumé : @SUMMARY@ Utilisateur : @USER@ diff --git a/inc/lang/fr/mailwrap.html b/inc/lang/fr/mailwrap.html new file mode 100644 index 000000000..2b674196b --- /dev/null +++ b/inc/lang/fr/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Ce courriel a été automatiquement généré par DokuWiki à l'adresse @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 9636d6c15..23bd9a741 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -310,4 +310,3 @@ $lang['media_perm_read'] = 'Sentímolo, non tes permisos suficientes para $lang['media_perm_upload'] = 'Sentímolo, non tes permisos suficientes para subir arquivos.'; $lang['media_update'] = 'Subir nova versión'; $lang['media_restore'] = 'Restaurar esta versión'; -$lang['plugin_install_err'] = 'Extensión instalada correctamente. Re-nomea o directorio da extensión de \'%s\' a \'%s\'.'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 70082caae..a415f2a2c 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -14,6 +14,7 @@ * @author Osman Tekin <osman.tekin93@hotmail.it> * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -177,6 +178,7 @@ $lang['diff'] = 'differenze con la versione attuale'; $lang['diff2'] = 'differenze tra le versioni selezionate'; $lang['difflink'] = 'Link a questa pagina di confronto'; $lang['diff_type'] = 'Guarda le differenze:'; +$lang['diff_inline'] = 'In linea'; $lang['diff_side'] = 'Fianco a Fianco'; $lang['line'] = 'Linea'; $lang['breadcrumb'] = 'Traccia'; @@ -195,6 +197,7 @@ $lang['user_tools'] = 'Strumenti Utente'; $lang['site_tools'] = 'Strumenti Sito'; $lang['page_tools'] = 'Strumenti Pagina'; $lang['skip_to_content'] = 'salta al contenuto'; +$lang['sidebar'] = 'Barra laterale'; $lang['mail_newpage'] = 'pagina aggiunta:'; $lang['mail_changed'] = 'pagina modificata:'; $lang['mail_subscribe_list'] = 'pagine modificate nella categoria:'; @@ -298,20 +301,24 @@ $lang['hours'] = '%d ore fa'; $lang['minutes'] = '%d minuti fa'; $lang['seconds'] = '%d secondi fa'; $lang['wordblock'] = 'La modifica non è stata salvata perché contiene testo bloccato (spam).'; +$lang['media_uploadtab'] = 'Upload'; $lang['media_searchtab'] = 'Cerca'; +$lang['media_file'] = 'File'; $lang['media_viewtab'] = 'Guarda'; $lang['media_edittab'] = 'Modifica'; $lang['media_historytab'] = 'Storia'; +$lang['media_list_thumbs'] = 'Miniatura'; $lang['media_list_rows'] = 'Righe'; $lang['media_sort_name'] = 'Nome'; $lang['media_sort_date'] = 'Data'; $lang['media_namespaces'] = 'Scegli il namespace'; $lang['media_files'] = 'File in %s'; +$lang['media_upload'] = 'Upload al %s'; $lang['media_search'] = 'Cerca in %s'; +$lang['media_view'] = '%s'; $lang['media_edit'] = 'Modifica %s'; $lang['media_history'] = 'Storia di %s'; $lang['media_perm_read'] = 'Spiacente, non hai abbastanza privilegi per leggere i files.'; $lang['media_perm_upload'] = 'Spiacente, non hai abbastanza privilegi per caricare files.'; $lang['media_update'] = 'Carica nuova versione'; $lang['media_restore'] = 'Ripristina questa versione'; -$lang['plugin_install_err'] = 'Plugin installato non correttamente. Rinomino la cartella del plugin \'%s\' in \'%s\'.'; diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 490c84cc9..791ef9a6e 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -318,4 +318,3 @@ $lang['media_perm_read'] = 'ファイルを閲覧する権限がありま $lang['media_perm_upload'] = 'ファイルをアップロードする権限がありません。'; $lang['media_update'] = '新しいバージョンをアップロード'; $lang['media_restore'] = 'このバージョンを復元'; -$lang['plugin_install_err'] = 'プラグインが正しくインストールされませんでした。プラグインのディレクトリ名を \'%s\' から \'%s\' に変更してください。'; diff --git a/inc/lang/kk/lang.php b/inc/lang/kk/lang.php index 3ff5ae455..37b0f462b 100644 --- a/inc/lang/kk/lang.php +++ b/inc/lang/kk/lang.php @@ -38,11 +38,13 @@ $lang['btn_backtomedia'] = 'Медиафайлды таңдауға қай $lang['btn_subscribe'] = 'Жазылуларды басқару'; $lang['btn_profile'] = 'Профильді жаңарту'; $lang['btn_reset'] = 'Түсіру'; +$lang['btn_resendpwd'] = 'Шартты белгінi Өзгерту'; $lang['btn_draft'] = 'Шимайды өңдеу'; $lang['btn_recover'] = 'Шимайды қайтару'; $lang['btn_draftdel'] = 'Шимайды өшіру'; $lang['btn_revert'] = 'Қалпына келтіру'; $lang['btn_register'] = 'Тіркеу'; +$lang['btn_apply'] = 'Қолдану/Енгізу'; $lang['loggedinas'] = 'түпнұсқамен кірген'; $lang['user'] = 'Түпнұсқа'; $lang['pass'] = 'Құпиясөз'; @@ -86,7 +88,7 @@ $lang['txt_filename'] = 'Келесідей еңгізу (қалауы $lang['txt_overwrt'] = 'Бар файлды қайта жазу'; $lang['lockedby'] = 'Осы уақытта тойтарылған'; $lang['lockexpire'] = 'Тойтару келесі уақытта бітеді'; -$lang['js']['willexpire'] = 'Бұл бетті түзеу тойтаруыңыз бір минутта бітеді. Қақтығыс болмау және тойтару таймерді түсіру үшін қарап шығу пернені басыңыз.'; +$lang['js']['willexpire'] = 'Бұл бетті түзеу тойтаруыңыз бір минутта бітеді. Қақтығыс болмау және тойтару таймерді түсіру үшін қарап шығу пернені басыңыз.'; $lang['js']['notsavedyet'] = 'Сақталмаған өзгерістер жоғалатын болады.'; $lang['js']['searchmedia'] = 'Файлдарды іздеу'; $lang['js']['keepopen'] = 'Таңдаған соң терезе жаппаңыз'; @@ -112,3 +114,17 @@ $lang['js']['medialeft'] = 'Сүретті сол жаққа тегіст $lang['js']['mediaright'] = 'Сүретті оң жаққа тегістеу'; $lang['js']['mediacenter'] = 'Сүретті ортаға тегістеу'; $lang['js']['medianoalign'] = 'Тегістеусіз'; +$lang['js']['linkwiz'] = 'Сілтеме көмекшіci'; +$lang['js']['media_diff'] = 'Өзгеліктердi Көрсету'; +$lang['js']['media_select'] = 'Файлды тандау'; +$lang['mediaselect'] = 'Медиа файлдар'; +$lang['mediaroot'] = 'root'; +$lang['yours'] = 'Сендердің болжамыңыз'; +$lang['created'] = 'ЖасалFан'; +$lang['mail_new_user'] = 'Жаңа пайдаланушы'; +$lang['qb_chars'] = 'Арнайы белгiлер'; +$lang['img_backto'] = 'Қайта оралу'; +$lang['img_format'] = 'Формат'; +$lang['img_camera'] = 'Камера'; +$lang['i_chooselang'] = 'Тіл таңдау'; +$lang['i_retry'] = 'Қайталау'; diff --git a/inc/lang/ko/install.html b/inc/lang/ko/install.html index 382fb7df0..aeeac870f 100644 --- a/inc/lang/ko/install.html +++ b/inc/lang/ko/install.html @@ -1,12 +1,12 @@ <p>이 페이지는 <a href="http://dokuwiki.org">Dokuwiki</a> 설치와 환경 설정을 도와줍니다. -설치 과정에 대한 더 자세한 정보는 <a href="http://dokuwiki.org/ko:install">(한국어) 설치 문서</a>와 +설치 과정에 대한 더 자세한 정보는 <a href="http://dokuwiki.org/ko:install">(한국어) 설치 문서</a>와 <a href="http://dokuwiki.org/install">(영어) 설치 문서</a>를 참고하기 바랍니다.</p> <p>DokuWiki는 위키 문서와 문서와 관련된 정보(예를 들어 그림, 검색 색인, 이전 버전 문서)를 저장하기 위해 일반적인 텍스트 파일을 사용합니다. 정상적으로 DokuWiki를 사용하려면 이 파일을 담고 있는 디렉토리에 대한 쓰기 권한을 가지고 있어야 합니다. 현재 설치 과정 중에는 디렉토리 권한 설정이 불가능합니다. 보통 직접 쉘 명령어를 사용하거나, 호스팅을 사용한다면 FTP나 호스팅 제어판(예를 들어 CPanel)을 사용해서 설정해야 합니다.</p> -<p>현재 설치 과정중에 관리자로 로그인 후 DokuWiki의 관리 메뉴(플러그인 설치, 사용자 관리, 위키 문서 접근 권한 관리, 옵션 설정)를 가능하게 <abbr title="접근 제어 목록">ACL</abbr>에 대한 환경 설정을 수행합니다. -이 것은 DokuWiki가 동작하는데 필요한 사항은 아니지만, 어쨌든 더 쉽게 관리자가 관리할 수 있도록 해줍니다.</p> +<p>현재 설치 과정중에 관리자로 로그인 후 DokuWiki의 관리 메뉴(플러그인 설치, 사용자 관리, 위키 문서 접근 권한 관리, 옵션 설정)를 가능하게 <acronym title="접근 제어 목록">ACL</acronym>에 대한 환경 설정을 수행합니다. +DokuWiki가 동작하는데 필요한 사항은 아니지만, 어쨌든 더 쉽게 관리자가 관리할 수 있도록 해줍니다.</p> <p>숙련된 사용자나 특별한 설치 과정이 필요한 경우에 다음 링크를 참고하기 바랍니다: <a href="http://dokuwiki.org/ko:install">설치 과정 (한국어)</a> diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index 7b4e30a49..89d045503 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -7,7 +7,7 @@ * @author jk Lee * @author dongnak@gmail.com * @author Song Younghwan <purluno@gmail.com> - * @author Seung-Chul Yoo <dryoo@live.com> + * @author Seung-Chul Yoo <dryoo@live.com> * @author erial2@gmail.com * @author Myeongjin <aranet100@gmail.com> */ @@ -37,13 +37,13 @@ $lang['btn_secedit'] = '편집'; $lang['btn_login'] = '로그인'; $lang['btn_logout'] = '로그아웃'; $lang['btn_admin'] = '관리'; -$lang['btn_update'] = '변경'; +$lang['btn_update'] = '바꾸기'; $lang['btn_delete'] = '삭제'; $lang['btn_back'] = '뒤로'; $lang['btn_backlink'] = '가리키는 링크'; $lang['btn_backtomedia'] = '미디어 파일 선택으로 돌아가기'; $lang['btn_subscribe'] = '구독 관리'; -$lang['btn_profile'] = '개인 정보 변경'; +$lang['btn_profile'] = '개인 정보 바꾸기'; $lang['btn_reset'] = '초기화'; $lang['btn_resendpwd'] = '새 비밀번호 설정'; $lang['btn_draft'] = '문서 초안 편집'; @@ -53,7 +53,7 @@ $lang['btn_revert'] = '복원'; $lang['btn_register'] = '등록'; $lang['btn_apply'] = '적용'; $lang['btn_media'] = '미디어 관리'; -$lang['loggedinas'] = '다른 사용자로 로그인'; +$lang['loggedinas'] = '다음 사용자로 로그인'; $lang['user'] = '사용자 이름'; $lang['pass'] = '비밀번호'; $lang['newpass'] = '새 비밀번호'; @@ -66,7 +66,7 @@ $lang['profile'] = '개인 정보'; $lang['badlogin'] = '잘못된 사용자 이름이거나 비밀번호입니다.'; $lang['minoredit'] = '사소한 바뀜'; $lang['draftdate'] = '문서 초안 자동 저장 시간'; -$lang['nosecedit'] = '문서가 수정되어 세션 정보의 유효 시간이 지나 문서 전부를 다시 읽습니다.'; +$lang['nosecedit'] = '한동안 문서가 바뀌어 세션 정보의 유효 시간이 지나 문서 전부를 다시 읽습니다.'; $lang['regmissing'] = '모든 항목을 입력해야 합니다.'; $lang['reguexists'] = '같은 이름을 사용하는 사용자가 있습니다.'; $lang['regsuccess'] = '사용자를 만들었으며 비밀번호는 이메일로 보냈습니다.'; @@ -193,6 +193,7 @@ $lang['user_tools'] = '사용자 도구'; $lang['site_tools'] = '사이트 도구'; $lang['page_tools'] = '문서 도구'; $lang['skip_to_content'] = '콘텐츠 넘기기'; +$lang['sidebar'] = '사이드바'; $lang['mail_newpage'] = '문서 추가:'; $lang['mail_changed'] = '문서 바뀜:'; $lang['mail_subscribe_list'] = '이름공간에서 바뀐 문서:'; @@ -218,7 +219,7 @@ $lang['qb_hplus'] = '상위 문단 제목'; $lang['qb_hminus'] = '하위 문단 제목'; $lang['qb_hequal'] = '동급 문단 제목'; $lang['qb_link'] = '내부 링크'; -$lang['qb_extlink'] = '외부 링크'; +$lang['qb_extlink'] = '바깥 링크'; $lang['qb_hr'] = '가로줄'; $lang['qb_ol'] = '순서 있는 목록'; $lang['qb_ul'] = '순서 없는 목록'; @@ -295,7 +296,7 @@ $lang['days'] = '%d일 전'; $lang['hours'] = '%d시간 전'; $lang['minutes'] = '%d분 전'; $lang['seconds'] = '%d초 전'; -$lang['wordblock'] = '스팸 문구를 포함하고 있어서 저장되지 않았습니다.'; +$lang['wordblock'] = '스팸 문구를 포함하고 있어서 저장하지 않았습니다.'; $lang['media_uploadtab'] = '올리기'; $lang['media_searchtab'] = '찾기'; $lang['media_file'] = '파일'; @@ -312,11 +313,10 @@ $lang['media_upload'] = '%s에 올리기'; $lang['media_search'] = '%s 찾기'; $lang['media_view'] = '%s'; $lang['media_viewold'] = '%s의 %s'; -$lang['media_edit'] = '%s 수정'; -$lang['media_history'] = '%s 변경 내력'; +$lang['media_edit'] = '%s 편집'; +$lang['media_history'] = '%s 바뀜 내역'; $lang['media_meta_edited'] = '메타데이터가 수정됨'; $lang['media_perm_read'] = '이 파일을 읽을 권한이 없습니다.'; $lang['media_perm_upload'] = '파일을 올릴 권한이 없습니다.'; $lang['media_update'] = '새 버전 올리기'; $lang['media_restore'] = '이 버전으로 되돌리기'; -$lang['plugin_install_err'] = '플러그인 설치가 잘못되었습니다. 플러그인 디렉토리 \'%s\'(을)를 \'%s\'(으)로 바꾸십시오.'; diff --git a/inc/lang/ko/mailtext.txt b/inc/lang/ko/mailtext.txt index 219fe6e0b..01bada9ba 100644 --- a/inc/lang/ko/mailtext.txt +++ b/inc/lang/ko/mailtext.txt @@ -1,4 +1,4 @@ -DokuWiki 문서가 추가 또는 변경되었습니다. 자세한 정보는 다음과 같습니다: +DokuWiki 문서가 추가 또는 바뀌었습니다. 자세한 정보는 다음과 같습니다: 날짜 : @DATE@ 브라우저 : @BROWSER@ diff --git a/inc/lang/ko/preview.txt b/inc/lang/ko/preview.txt index 6563874ee..1b7710e2f 100644 --- a/inc/lang/ko/preview.txt +++ b/inc/lang/ko/preview.txt @@ -1,3 +1,3 @@ ====== 미리 보기 ====== -이것은 입력한 내용이 어떻게 보일지 미리 보여줍니다. 아직 **저장되지 않았다**는 점을 기억해두십시오!
\ No newline at end of file +입력한 내용이 어떻게 보일지 미리 보여줍니다. 아직 **저장되지 않았다**는 점을 기억해두십시오!
\ No newline at end of file diff --git a/inc/lang/ko/showrev.txt b/inc/lang/ko/showrev.txt index 084d82737..f6930044b 100644 --- a/inc/lang/ko/showrev.txt +++ b/inc/lang/ko/showrev.txt @@ -1,2 +1,2 @@ -**이것은 문서의 이전 버전입니다!** +**문서의 이전 버전입니다!** ---- diff --git a/inc/lang/ko/updateprofile.txt b/inc/lang/ko/updateprofile.txt index ebf19d8ab..379981cb3 100644 --- a/inc/lang/ko/updateprofile.txt +++ b/inc/lang/ko/updateprofile.txt @@ -1,3 +1,3 @@ -====== 개인 정보 수정 ====== +====== 개인 정보 바꾸기 ====== 바꾸고 싶은 항목을 입력하기 바랍니다. 사용자 이름은 바꿀 수 없습니다.
\ No newline at end of file diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index b02e7f471..19a7b7cce 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -39,6 +39,7 @@ $lang['btn_backtomedia'] = 'Atpakaļ uz mēdiju failu izvēli'; $lang['btn_subscribe'] = 'Abonēt izmaiņu paziņojumus'; $lang['btn_profile'] = 'Labot savu profilu'; $lang['btn_reset'] = 'Atsaukt izmaiņas'; +$lang['btn_resendpwd'] = 'Uzstādīt jaunu paroli'; $lang['btn_draft'] = 'Labot melnrakstu'; $lang['btn_recover'] = 'Atjaunot melnrakstu'; $lang['btn_draftdel'] = 'Dzēst melnrakstu'; @@ -75,6 +76,7 @@ $lang['profnoempty'] = 'Bez vārda vai e-pasta adreses nevar.'; $lang['profchanged'] = 'Profils veiksmīgi izlabots.'; $lang['pwdforget'] = 'Aizmirsi paroli? Saņem jaunu'; $lang['resendna'] = 'Paroļu izsūtīšanu nepiedāvāju.'; +$lang['resendpwd'] = 'Uzstādīt jaunu paroli lietotājam'; $lang['resendpwdmissing'] = 'Atvaino, jāizpilda visas ailes.'; $lang['resendpwdnouser'] = 'Atvaino, tāda lietotāja nav.'; $lang['resendpwdbadauth'] = 'Atvaino, šis autorizācijas kods nav derīgs. Pārliecinies, ka lietoji pilnu apstiprināšanas adresi.'; @@ -87,6 +89,7 @@ $lang['searchmedia_in'] = 'Meklēt iekš %s'; $lang['txt_upload'] = 'Norādi augšupielādējamo failu'; $lang['txt_filename'] = 'Ievadi vikivārdu (nav obligāts)'; $lang['txt_overwrt'] = 'Aizstāt esošo failu'; +$lang['maxuploadsize'] = 'Augšuplādējamā faila ierobežojums: %s.'; $lang['lockedby'] = 'Patlaban bloķējis '; $lang['lockexpire'] = 'Bloķējums beigsies '; $lang['js']['willexpire'] = 'Tavs bloķējums uz šo lapu pēc minūtes beigsies.\nLai izvairītos no konflikta, nospied Iepriekšapskata pogu\n un bloķējuma laiku sāks skaitīt no jauna.'; @@ -129,6 +132,7 @@ $lang['js']['media_select'] = 'Norādīt failus...'; $lang['js']['media_upload_btn'] = 'Augšuplādēt'; $lang['js']['media_done_btn'] = 'Gatavs'; $lang['js']['media_drop'] = 'Nomet te augšuplādējamos failus'; +$lang['js']['media_cancel'] = 'atlikt'; $lang['js']['media_overwrt'] = 'Rakstīt pāri esošajiem failiem'; $lang['rssfailed'] = 'Kļūda saņemot saturu no '; $lang['nothingfound'] = 'Nekas nav atrasts.'; @@ -179,6 +183,12 @@ $lang['external_edit'] = 'ārpussistēmas labojums'; $lang['summary'] = 'Anotācija'; $lang['noflash'] = 'Lai attēlotu lapas saturu, vajag <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.'; $lang['download'] = 'Lejuplādēt «kodiņu»((snippet))'; +$lang['tools'] = 'Rīki'; +$lang['user_tools'] = 'Lietotāja rīki'; +$lang['site_tools'] = 'Vietnes rīki'; +$lang['page_tools'] = 'Lapas rīki'; +$lang['skip_to_content'] = 'uz rakstu'; +$lang['sidebar'] = 'Izvēlne'; $lang['mail_newpage'] = 'lapa pievienota:'; $lang['mail_changed'] = 'lapa mainīta:'; $lang['mail_subscribe_list'] = 'Nodaļā mainītās lapas:'; @@ -249,6 +259,7 @@ $lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu (reizi %.2f dienā $lang['subscr_style_list'] = 'kopš pēdējās vēstules notikušo labojumu sarakstu (reizi %.2f dienās)'; $lang['authmodfailed'] = 'Aplami konfigurēta lietotāju autentifikācija. Lūdzu ziņo Wiki administratoram.'; $lang['authtempfail'] = 'Lietotāju autentifikācija pašlaik nedarbojas. Ja tas turpinās ilgstoši, lūduz ziņo Wiki administratoram.'; +$lang['authpwdexpire'] = 'Tavai parolei pēc %d dienām biegsies termiņš, tā drīzumā jānomaina.'; $lang['i_chooselang'] = 'Izvēlies valodu'; $lang['i_installer'] = 'DokuWiki instalētājs'; $lang['i_wikiname'] = 'Wiki vārds'; @@ -304,4 +315,3 @@ $lang['media_perm_read'] = 'Atvainojiet, jums nav tiesību skatīt failus. $lang['media_perm_upload'] = 'Atvainojiet, jums nav tiesību augšupielādēt. '; $lang['media_update'] = 'Augšupielādēt jaunu versiju'; $lang['media_restore'] = 'Atjaunot šo versiju'; -$lang['plugin_install_err'] = 'Modulis aplami instalēts. Pārdēvē moduļa direktoriju %s par %s.'; diff --git a/inc/lang/lv/mailwrap.html b/inc/lang/lv/mailwrap.html new file mode 100644 index 000000000..34b723901 --- /dev/null +++ b/inc/lang/lv/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Šo vēstuli nosūtījusi programma DokuWiki no vietnes @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/lv/resetpwd.txt b/inc/lang/lv/resetpwd.txt new file mode 100644 index 000000000..757f34cff --- /dev/null +++ b/inc/lang/lv/resetpwd.txt @@ -0,0 +1,3 @@ +====== Uzstādīt jaunu paroli ====== + +Lūdzu izvēlies savam kontam jaunu paroli.
\ No newline at end of file diff --git a/inc/lang/nl/index.txt b/inc/lang/nl/index.txt index 288957ed4..ad7122ba0 100644 --- a/inc/lang/nl/index.txt +++ b/inc/lang/nl/index.txt @@ -1,4 +1,4 @@ ====== Index ====== -Dit is een index van alle beschikbare pagina's gesorteerd op [[doku>wiki:namespaces|namespaces]]. +Dit is een index van alle beschikbare pagina's gesorteerd op [[doku>namespaces|namespaces]]. diff --git a/inc/lang/nl/install.html b/inc/lang/nl/install.html index e13b9d3ad..a65325826 100644 --- a/inc/lang/nl/install.html +++ b/inc/lang/nl/install.html @@ -1,5 +1,5 @@ -<p>Deze pagina helpt u bij de eerste installatie en configuratie van <a href="http://wiki.splitbrain.org">Dokuwiki</a>. -Meer informatie over deze installer is beschikbaar op zijn eigen <a href="http://wiki.splitbrain.org/wiki:installer">documentatiepagina</a>.</p> +<p>Deze pagina helpt u bij de eerste installatie en configuratie van <a href="http://dokuwiki.org">Dokuwiki</a>. +Meer informatie over deze installer is beschikbaar op zijn eigen <a href="http://dokuwiki.org/installer">documentatiepagina</a>.</p> <p>DokuWiki gebruikt platte tekstbestanden voor het opslaan van wikipagina's en andere informatie die bij deze pagina's horen (bijvoorbeeld plaatjes, zoek-indexen, oude revisies enz.). Om goed te kunnen functioneren, <strong>moet</strong> DokuWiki schrijftoegang hebben tot de directories die deze bestanden bevatten. @@ -10,5 +10,5 @@ wat de beheerder in staat stelt in te loggen en toegang te verkrijgen tot het be Het is niet noodzakelijk voor DokuWiki om te functioneren maar het maakt het een stuk makkelijker om Dokuwiki te beheren.</p> <p>Ervaren gebruikers of gebruikers die een aangepaste configuratie nodig hebben kunnen voor details terecht op de volgende pagina's: -<a href="http://wiki.splitbrain.org/wiki:install">installatie-instructies</a> -en <a href="http://wiki.splitbrain.org/wiki:config">configuratie-instellingen</a>.</p> +<a href="http://dokuwiki.org/install">installatie-instructies</a> +en <a href="http://dokuwiki.org/config">configuratie-instellingen</a>.</p> diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 911ffdc10..fdc0c075a 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -16,6 +16,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -58,7 +59,7 @@ $lang['btn_draftdel'] = 'Verwijder concept'; $lang['btn_revert'] = 'Herstellen'; $lang['btn_register'] = 'Registreren'; $lang['btn_apply'] = 'Toepassen'; -$lang['btn_media'] = 'Media beheerder'; +$lang['btn_media'] = 'Mediabeheerder'; $lang['loggedinas'] = 'Ingelogd als'; $lang['user'] = 'Gebruikersnaam'; $lang['pass'] = 'Wachtwoord'; @@ -201,6 +202,7 @@ $lang['user_tools'] = 'Gebruikershulpmiddelen'; $lang['site_tools'] = 'Site-hulpmiddelen'; $lang['page_tools'] = 'Paginahulpmiddelen'; $lang['skip_to_content'] = 'spring naar tekst'; +$lang['sidebar'] = 'Zijbalk'; $lang['mail_newpage'] = 'pagina toegevoegd:'; $lang['mail_changed'] = 'pagina aangepast:'; $lang['mail_subscribe_list'] = 'Pagina\'s veranderd in namespace:'; @@ -278,7 +280,7 @@ $lang['i_wikiname'] = 'Wikinaam'; $lang['i_enableacl'] = 'ACLs inschakelen (aanbevolen)'; $lang['i_superuser'] = 'Superuser'; $lang['i_problems'] = 'De installer vond problemen, hieronder aangegeven. Verhelp deze voor je doorgaat.'; -$lang['i_modified'] = 'Uit veiligheidsoverwegingen werkt dit script alleen met nieuwe en onveranderde DokuWiki-installaties. Pak de bestanden opnieuw uit of raadpleeg de <a href="http://wiki.splitbrain.org/wiki:install">Dokuwiki installatie-instructies</a>'; +$lang['i_modified'] = 'Uit veiligheidsoverwegingen werkt dit script alleen met nieuwe en onveranderde DokuWiki-installaties. Pak de bestanden opnieuw uit of raadpleeg de <a href="http://dokuwiki.org/install">Dokuwiki installatie-instructies</a>'; $lang['i_funcna'] = 'PHP functie <code>%s</code> is niet beschikbaar. Wellicht heeft je hosting provider deze uitgeschakeld?'; $lang['i_phpver'] = 'PHP-versie <code>%s</code> is lager dan de vereiste <code>%s</code>. Upgrade PHP.'; $lang['i_permfail'] = '<code>%s</code> is niet schrijfbaar voor DokuWiki. Pas de permissie-instellingen van deze directory aan.'; @@ -326,4 +328,3 @@ $lang['media_perm_read'] = 'Sorry, u heeft niet voldoende rechten om besta $lang['media_perm_upload'] = 'Sorry, u heeft niet voldoende rechten om bestanden te uploaden.'; $lang['media_update'] = 'Upload nieuwe versie'; $lang['media_restore'] = 'Deze versie terugzetten'; -$lang['plugin_install_err'] = 'Plugin is juist geinstalleerd. Hernoem plugin map \'%s\' naar \'%s\'.'; diff --git a/inc/lang/nl/register.txt b/inc/lang/nl/register.txt index 338edcca3..fc31860da 100644 --- a/inc/lang/nl/register.txt +++ b/inc/lang/nl/register.txt @@ -1,4 +1,4 @@ ====== Registreer als nieuwe gebruiker ====== -Vul alle informatie hieronder in om een nieuw account voor deze wiki aan te maken. Zorg dat je een **geldig e-mailadres** opgeeft - als je je wachtwoord hier niet in kunt vullen wordt het naar dit adres verzonden. De gebruikersnaam moet een geldige [[doku>wiki:pagename|pagename]] zijn. +Vul alle informatie hieronder in om een nieuw account voor deze wiki aan te maken. Zorg dat je een **geldig e-mailadres** opgeeft - als je je wachtwoord hier niet in kunt vullen wordt het naar dit adres verzonden. De gebruikersnaam moet een geldige [[doku>pagename|paginanaam]] zijn. diff --git a/inc/lang/nl/resetpwd.txt b/inc/lang/nl/resetpwd.txt new file mode 100644 index 000000000..345e30725 --- /dev/null +++ b/inc/lang/nl/resetpwd.txt @@ -0,0 +1,3 @@ +====== Een nieuw wachtwoord instellen ====== + +Vul alstublieft een nieuw wachtwoord in voor jouw account in deze wiki.
\ No newline at end of file diff --git a/inc/lang/nl/subscr_digest.txt b/inc/lang/nl/subscr_digest.txt index 0e6c2c5ba..9f0fe878c 100644 --- a/inc/lang/nl/subscr_digest.txt +++ b/inc/lang/nl/subscr_digest.txt @@ -9,7 +9,7 @@ De pagina @PAGE@ in de @TITLE@ wiki is veranderd. Hier zijn de wijzigingen: Vorige revisie: @OLDPAGE@ Nieuwe revisie: @NEWPAGE@ -Om het verzenden van deze wijzigingsberichtente te stoppen, logt u in op het wiki op @DOKUWIKIURL@ en navigeert u naar @SUBSCRIBE@. Vervolgens kunt u zich voor elke gewenste pagina of namespace uitschrijven. +Om het verzenden van deze wijzigingsberichten te stoppen, logt u in op de wiki op @DOKUWIKIURL@ en bezoekt u @SUBSCRIBE@. Vervolgens kunt u zich voor elke gewenste pagina of namespace uitschrijven. -- Deze email is gegenereerd door DokuWiki op @DOKUWIKIURL@
\ No newline at end of file diff --git a/inc/lang/nl/subscr_single.txt b/inc/lang/nl/subscr_single.txt index 3e74bce17..1cd0c85d4 100644 --- a/inc/lang/nl/subscr_single.txt +++ b/inc/lang/nl/subscr_single.txt @@ -1,6 +1,7 @@ Halllo! -De pagina @PAGE@ in de @TITLE@ wiki is veranderd. Hier zijn de wijzigingen: +De pagina @PAGE@ in de @TITLE@ wiki is veranderd. +Hier zijn de wijzigingen: -------------------------------------------------------- @DIFF@ @@ -12,7 +13,7 @@ Wijzigingssamenvatting: @SUMMARY@ Vorige revisie: @OLDPAGE@ Nieuwe revisie: @NEWPAGE@ -Om het verzenden van deze wijzigingsberichtente te stoppen, logt u in op het wiki op @DOKUWIKIURL@ en navigeert u naar @SUBSCRIBE@. Vervolgens kunt u zich voor elke gewenste pagina of namespace uitschrijven. +Om het verzenden van deze wijzigingsberichten te stoppen, logt u in op het wiki op @DOKUWIKIURL@ en navigeert u naar @NEWPAGE@. Vervolgens kunt u "Inschrijvingen wijzigen" gebruiken om inschrijvingen te stoppen. -- Deze email is gegenereerd door DokuWiki op @DOKUWIKIURL@
\ No newline at end of file diff --git a/inc/lang/nl/uploadmail.txt b/inc/lang/nl/uploadmail.txt index 1816400d7..59920ae3d 100644 --- a/inc/lang/nl/uploadmail.txt +++ b/inc/lang/nl/uploadmail.txt @@ -1,6 +1,7 @@ Er is een bestand geüpload naar uw DokuWiki. Hier zijn de details; Bestand : @MEDIA@ +Oude revisie: @OLD@ Datum : @DATE@ Browser : @BROWSER@ IP-adres : @IPADDRESS@ diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 97ef741ef..cc3d34aed 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -323,4 +323,3 @@ $lang['media_perm_read'] = 'Beklager, du har ikke tilgang til å lese file $lang['media_perm_upload'] = 'Beklager, du har ikke tilgang til å laste opp filer.'; $lang['media_update'] = 'Last opp ny versjon'; $lang['media_restore'] = 'Gjenopprett denne versjonen'; -$lang['plugin_install_err'] = 'Tillegget ble feil installert. Skift navn på mappen \'%s\' til \'%s\'.'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 79d18bbf5..2f448d291 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -325,4 +325,3 @@ $lang['media_perm_read'] = 'Przepraszamy, nie masz wystarczających uprawn $lang['media_perm_upload'] = 'Przepraszamy, nie masz wystarczających uprawnień do przesyłania plików.'; $lang['media_update'] = 'Prześlij nową wersję'; $lang['media_restore'] = 'Odtwórz tą wersję'; -$lang['plugin_install_err'] = 'Wtyczka zainstalowana nieprawidłowo. Zmień nazwę katalogu wtyczki \'%s\' na \'%s\'.'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index d6dc8f96b..b3d56bae7 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -54,11 +54,14 @@ $lang['btn_backtomedia'] = 'Voltar à seleção do arquivo de mídia'; $lang['btn_subscribe'] = 'Monitorar alterações'; $lang['btn_profile'] = 'Atualizar o perfil'; $lang['btn_reset'] = 'Limpar'; +$lang['btn_resendpwd'] = 'Definir a nova senha'; $lang['btn_draft'] = 'Editar o rascunho'; $lang['btn_recover'] = 'Recuperar o rascunho'; $lang['btn_draftdel'] = 'Excluir o rascunho'; $lang['btn_revert'] = 'Restaurar'; $lang['btn_register'] = 'Cadastre-se'; +$lang['btn_apply'] = 'Aplicar'; +$lang['btn_media'] = 'Gerenciador de mídias'; $lang['loggedinas'] = 'Identificado(a) como'; $lang['user'] = 'Nome de usuário'; $lang['pass'] = 'Senha'; @@ -88,6 +91,7 @@ $lang['profnoempty'] = 'Não são permitidos nomes ou endereços de e- $lang['profchanged'] = 'O perfil do usuário foi atualizado com sucesso.'; $lang['pwdforget'] = 'Esqueceu sua senha? Solicite outra'; $lang['resendna'] = 'Esse wiki não tem suporte para o reenvio de senhas.'; +$lang['resendpwd'] = 'Definir a nova senha para'; $lang['resendpwdmissing'] = 'Desculpe, você deve preencher todos os campos.'; $lang['resendpwdnouser'] = 'Desculpe, não foi possível encontrar esse usuário no nosso banco de dados.'; $lang['resendpwdbadauth'] = 'Desculpe, esse código de autorização é inválido. Certifique-se de que você usou o link de confirmação inteiro.'; @@ -100,6 +104,7 @@ $lang['searchmedia_in'] = 'Buscar em %s'; $lang['txt_upload'] = 'Selecione o arquivo a ser enviado'; $lang['txt_filename'] = 'Enviar como (opcional)'; $lang['txt_overwrt'] = 'Substituir o arquivo existente'; +$lang['maxuploadsize'] = 'Tamanho máximo de %s por arquivo.'; $lang['lockedby'] = 'Atualmente bloqueada por'; $lang['lockexpire'] = 'O bloqueio expira em'; $lang['js']['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.'; @@ -134,6 +139,17 @@ Entretanto, você ainda pode copiar e colar o atalho.'; $lang['js']['linkwiz'] = 'Link Wizard'; $lang['js']['linkto'] = 'Link para:'; $lang['js']['del_confirm'] = 'Deseja realmente excluir o(s) item(ns) selecionado(s)?'; +$lang['js']['restore_confirm'] = 'Deseja realmente restaurar essa versão?'; +$lang['js']['media_diff'] = 'Ver as diferenças:'; +$lang['js']['media_diff_both'] = 'Lado a lado'; +$lang['js']['media_diff_opacity'] = 'Sobreposição'; +$lang['js']['media_diff_portions'] = 'Deslizamento'; +$lang['js']['media_select'] = 'Selecione os arquivos...'; +$lang['js']['media_upload_btn'] = 'Enviar'; +$lang['js']['media_done_btn'] = 'Concluído'; +$lang['js']['media_drop'] = 'Arraste os arquivos até aqui para enviar'; +$lang['js']['media_cancel'] = 'remover'; +$lang['js']['media_overwrt'] = 'Sobrescrever arquivos existentes'; $lang['rssfailed'] = 'Ocorreu um erro durante a atualização dessa fonte: '; $lang['nothingfound'] = 'Não foi encontrado nada.'; $lang['mediaselect'] = 'Arquivos de mídia'; @@ -178,16 +194,26 @@ $lang['lastmod'] = 'Última modificação'; $lang['by'] = 'por'; $lang['deleted'] = 'removida'; $lang['created'] = 'criada'; -$lang['restored'] = 'revisão anterior restaurada'; +$lang['restored'] = 'a revisão anterior foi restaurada (%s)'; $lang['external_edit'] = 'edição externa'; $lang['summary'] = 'Resumo da edição'; $lang['noflash'] = 'O <a href="http://www.adobe.com/products/flashplayer/">plug-in Adobe Flash</a> é necessário para exibir este conteúdo.'; -$lang['download'] = 'Download Snippet'; +$lang['download'] = 'Baixar o snippet'; +$lang['tools'] = 'Ferramentas'; +$lang['user_tools'] = 'Ferramentas do usuário'; +$lang['site_tools'] = 'Ferramentas do site'; +$lang['page_tools'] = 'Ferramentas da página'; +$lang['skip_to_content'] = 'ir para o conteúdo'; +$lang['sidebar'] = 'Barra lateral'; $lang['mail_newpage'] = 'página adicionada:'; $lang['mail_changed'] = 'página modificada:'; $lang['mail_subscribe_list'] = 'páginas alteradas no espaço de nomes:'; $lang['mail_new_user'] = 'novo usuário:'; $lang['mail_upload'] = 'arquivo enviado:'; +$lang['changes_type'] = 'Ver as mudanças de'; +$lang['pages_changes'] = 'Páginas'; +$lang['media_changes'] = 'Arquivos de mídia'; +$lang['both_changes'] = 'Páginas e arquivos de mídia'; $lang['qb_bold'] = 'Texto em negrito'; $lang['qb_italic'] = 'Texto em itálico'; $lang['qb_underl'] = 'Texto sublinhado'; @@ -212,7 +238,7 @@ $lang['qb_media'] = 'Adicionar imagens e/ou outros arquivos'; $lang['qb_sig'] = 'Inserir assinatura'; $lang['qb_smileys'] = 'Carinhas'; $lang['qb_chars'] = 'Caracteres especiais'; -$lang['upperns'] = 'Pular para namespace acima'; +$lang['upperns'] = 'Pular para espaço de nomes acima'; $lang['admin_register'] = 'Adicionar novo usuário'; $lang['metaedit'] = 'Editar metadados'; $lang['metasaveerr'] = 'Não foi possível escrever os metadados'; @@ -228,6 +254,9 @@ $lang['img_copyr'] = 'Direitos autorais'; $lang['img_format'] = 'Formato'; $lang['img_camera'] = 'Câmera'; $lang['img_keywords'] = 'Palavras-chave'; +$lang['img_width'] = 'Largura'; +$lang['img_height'] = 'Altura'; +$lang['img_manager'] = 'Ver no gerenciador de mídias'; $lang['subscr_subscribe_success'] = 'Adicionado %s à lista de monitoramentos de %s'; $lang['subscr_subscribe_error'] = 'Ocorreu um erro na adição de %s à lista de monitoramentos de %s'; $lang['subscr_subscribe_noaddress'] = 'Como não há nenhum endereço associado ao seu usuário, você não pode ser adicionado à lista de monitoramento'; @@ -246,6 +275,7 @@ $lang['subscr_style_digest'] = 'um agrupamento de e-mails com as mudanças par $lang['subscr_style_list'] = 'uma lista de páginas modificadas desde o último e-mail (a cada %.2f dias)'; $lang['authmodfailed'] = 'A configuração da autenticação de usuário está com problemas. Por favor, informe ao administrador do wiki.'; $lang['authtempfail'] = 'A autenticação de usuários está temporariamente desabilitada. Se essa situação persistir, por favor, informe ao administrador do Wiki.'; +$lang['authpwdexpire'] = 'Sua senha vai expirar em %d dias. Você deve mudá-la assim que for possível.'; $lang['i_chooselang'] = 'Selecione o seu idioma'; $lang['i_installer'] = 'Instalador do DokuWiki'; $lang['i_wikiname'] = 'Nome do Wiki'; @@ -278,3 +308,26 @@ $lang['hours'] = '%d horas atrás'; $lang['minutes'] = '%d minutos atrás'; $lang['seconds'] = '%d segundos atrás'; $lang['wordblock'] = 'Suas mudanças não foram salvas pois contem texto bloqueados (spam)'; +$lang['media_uploadtab'] = 'Enviar'; +$lang['media_searchtab'] = 'Pesquisar'; +$lang['media_file'] = 'Arquivo'; +$lang['media_viewtab'] = 'Ver'; +$lang['media_edittab'] = 'Editar'; +$lang['media_historytab'] = 'Histórico'; +$lang['media_list_thumbs'] = 'Miniaturas'; +$lang['media_list_rows'] = 'Linhas'; +$lang['media_sort_name'] = 'Nome'; +$lang['media_sort_date'] = 'Data'; +$lang['media_namespaces'] = 'Selecione o espaço de nomes'; +$lang['media_files'] = 'Arquivos em %s'; +$lang['media_upload'] = 'Enviar para %s'; +$lang['media_search'] = 'Pesquisar em %s'; +$lang['media_view'] = '%s'; +$lang['media_viewold'] = '%s em %s'; +$lang['media_edit'] = 'Editar %s'; +$lang['media_history'] = 'Histórico de %s'; +$lang['media_meta_edited'] = 'o metadado foi editado'; +$lang['media_perm_read'] = 'Desculpe, mas você não tem privilégios suficientes para ler arquivos.'; +$lang['media_perm_upload'] = 'Desculpe, mas você não tem privilégios suficientes para enviar arquivos.'; +$lang['media_update'] = 'Enviar uma nova versão'; +$lang['media_restore'] = 'Restaurar esta versão'; diff --git a/inc/lang/pt-br/mailwrap.html b/inc/lang/pt-br/mailwrap.html new file mode 100644 index 000000000..80bea7a22 --- /dev/null +++ b/inc/lang/pt-br/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Esta mensagem foi gerada pelo DokuWiki em @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/pt-br/resetpwd.txt b/inc/lang/pt-br/resetpwd.txt new file mode 100644 index 000000000..febb1d6a0 --- /dev/null +++ b/inc/lang/pt-br/resetpwd.txt @@ -0,0 +1,3 @@ +====== Definir uma nova senha ====== + +Por favor, digite uma nova senha para sua conta neste wiki.
\ No newline at end of file diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index a0b0f57e8..af388985c 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -317,4 +317,3 @@ $lang['js']['media_drop'] = 'Largue ficheiros aqui para enviar'; $lang['js']['media_cancel'] = 'remover'; $lang['js']['media_overwrt'] = 'Escrever por cima de ficheiros existentes'; -$lang['plugin_install_err'] = "Plugin instalado incorrectamente. Renomeie a pasta do plugin de '%s' para '%s'."; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 41727e521..0c7e02605 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -320,4 +320,3 @@ $lang['media_perm_read'] = 'Ne pare rău, dar nu aveți suficiente dreptur $lang['media_perm_upload'] = 'Ne pare rău, dar nu aveți suficiente drepturi pentru a putea încărca fișiere.'; $lang['media_update'] = 'Încarcă noua versiune'; $lang['media_restore'] = 'Restaurează această versiune'; -$lang['plugin_install_err'] = 'Modul instalat greșit. Redenumește directorul modulului \'%s\' în \'%s\'.'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 4c3d26b1d..5f428b36a 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -203,6 +203,7 @@ $lang['user_tools'] = 'Инструменты пользовател $lang['site_tools'] = 'Инструменты сайта'; $lang['page_tools'] = 'Инструменты страницы'; $lang['skip_to_content'] = 'Перейти к содержанию'; +$lang['sidebar'] = 'Боковая колонна'; $lang['mail_newpage'] = 'страница добавлена:'; $lang['mail_changed'] = 'страница изменена:'; $lang['mail_subscribe_list'] = 'изменились страницы в пространстве имён:'; @@ -332,4 +333,3 @@ $lang['media_perm_read'] = 'Извините, у Вас недостато $lang['media_perm_upload'] = 'Извините, у Вас недостаточно прав для загрузки файлов.'; $lang['media_update'] = 'Загрузить новую версию'; $lang['media_restore'] = 'Восстановить эту версию'; -$lang['plugin_install_err'] = 'Плагин установлен некорректно. Переименуйте папку плагина из \'%s\' в \'%s\'.'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 85e899b06..b8a947dc3 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -42,6 +42,7 @@ $lang['btn_backtomedia'] = 'Späť na výber súboru'; $lang['btn_subscribe'] = 'Sledovať zmeny'; $lang['btn_profile'] = 'Aktualizovať profil'; $lang['btn_reset'] = 'Zrušiť'; +$lang['btn_resendpwd'] = 'Nastaviť nové heslo'; $lang['btn_draft'] = 'Upraviť koncept'; $lang['btn_recover'] = 'Obnoviť koncept'; $lang['btn_draftdel'] = 'Zmazať koncept'; @@ -78,6 +79,7 @@ $lang['profnoempty'] = 'Prázdne meno alebo mailová adresa nie sú po $lang['profchanged'] = 'Užívateľský účet úspešne zmenený.'; $lang['pwdforget'] = 'Zabudli ste heslo? Získajte nové!'; $lang['resendna'] = 'Táto wiki nepodporuje opätovné zasielanie hesla.'; +$lang['resendpwd'] = 'Nastaviť nové heslo pre'; $lang['resendpwdmissing'] = 'Prepáčte, musíte vyplniť všetky polia.'; $lang['resendpwdnouser'] = 'Prepáčte, nemôžeme nájsť zadaného užívateľa v databáze.'; $lang['resendpwdbadauth'] = 'Prepáčte, tento autorizačný kód nie je platný. Uistite sa, či ste použili celý autorizačný odkaz.'; @@ -90,6 +92,7 @@ $lang['searchmedia_in'] = 'Hľadať v %s'; $lang['txt_upload'] = 'Vyberte súbor ako prílohu'; $lang['txt_filename'] = 'Uložiť ako (voliteľné)'; $lang['txt_overwrt'] = 'Prepísať existujúci súbor'; +$lang['maxuploadsize'] = 'Obmedzenie max. %s na súbor.'; $lang['lockedby'] = 'Práve zamknuté:'; $lang['lockexpire'] = 'Zámok stratí platnosť:'; $lang['js']['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; @@ -179,11 +182,17 @@ $lang['lastmod'] = 'Posledná úprava'; $lang['by'] = 'od'; $lang['deleted'] = 'odstránené'; $lang['created'] = 'vytvorené'; -$lang['restored'] = 'stará verzia bola obnovená'; +$lang['restored'] = 'stará verzia bola obnovená (%s)'; $lang['external_edit'] = 'externá úprava'; $lang['summary'] = 'Komentár k úpravám'; $lang['noflash'] = 'Pre zobrazenie tohto obsahu potrebujete <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.'; $lang['download'] = 'Stiahnuť'; +$lang['tools'] = 'Nástroje'; +$lang['user_tools'] = 'Nástroje používateľa'; +$lang['site_tools'] = 'Nástoje správy stránok'; +$lang['page_tools'] = 'Nástoje stránky'; +$lang['skip_to_content'] = 'skok na obsah'; +$lang['sidebar'] = 'Bočný panel'; $lang['mail_newpage'] = 'stránka pridaná:'; $lang['mail_changed'] = 'stránka zmenená:'; $lang['mail_subscribe_list'] = 'stránky zmenené v mennom priestore:'; @@ -254,6 +263,7 @@ $lang['subscr_style_digest'] = 'email so zhrnutím zmien pre každú stránku $lang['subscr_style_list'] = 'zoznam zmenených stránok od posledného emailu (perióda %.2f dňa)'; $lang['authmodfailed'] = 'Užívateľská autentifikácia nie je možná. Prosím informujte správcu systému.'; $lang['authtempfail'] = 'Užívateľská autentifikácia je dočasne nedostupná. Ak táto situácia pretrváva, prosím informujte správcu systému.'; +$lang['authpwdexpire'] = 'Platnosť hesla vyprší za %d dní, mali by ste ho zmeniť čo najskôr.'; $lang['i_chooselang'] = 'Zvoľte váš jazyk'; $lang['i_installer'] = 'DokuWiki inštalátor'; $lang['i_wikiname'] = 'Názov Wiki'; @@ -308,4 +318,3 @@ $lang['media_perm_read'] = 'Prepáčte, ale nemáte dostatočné oprávnen $lang['media_perm_upload'] = 'Prepáčte, ale nemáte dostatočné oprávnenie na nahrávanie súborov.'; $lang['media_update'] = 'Nahrať novú verziu'; $lang['media_restore'] = 'Obnoviť túto verziu'; -$lang['plugin_install_err'] = 'Plugin nebol nainštalovaný úspešne. Premenujte adresár s pluginom \'%s\' na \'%s\'.'; diff --git a/inc/lang/sk/mailwrap.html b/inc/lang/sk/mailwrap.html new file mode 100644 index 000000000..2e42515fb --- /dev/null +++ b/inc/lang/sk/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@.</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/sk/resetpwd.txt b/inc/lang/sk/resetpwd.txt new file mode 100644 index 000000000..a4df4a545 --- /dev/null +++ b/inc/lang/sk/resetpwd.txt @@ -0,0 +1,3 @@ +====== Nastavenie nového hesla ====== + +Prosím zadajte nové heslo vášho účtu v tejto wiki. diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index b34ab67e4..3a4dbd22e 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -311,4 +311,3 @@ $lang['media_perm_read'] = 'Ni ustreznih dovoljenj za branje datotek.'; $lang['media_perm_upload'] = 'Ni ustreznih dovoljenj za nalaganje datotek.'; $lang['media_update'] = 'Naloži novo različico'; $lang['media_restore'] = 'Obnovi to različico'; -$lang['plugin_install_err'] = 'Vstavek ni pravilno nameščen. Preimenujte mapo vstavka\'%s\' v \'%s\'.'; diff --git a/inc/lang/vi/lang.php b/inc/lang/vi/lang.php index c9179f6b3..99c4d47e4 100644 --- a/inc/lang/vi/lang.php +++ b/inc/lang/vi/lang.php @@ -263,6 +263,4 @@ $lang['media_perm_upload'] = 'Xin lỗi, bạn không đủ quyền để up $lang['media_update'] = 'Tải lên phiên bản mới'; $lang['media_restore'] = 'Phục hồi phiên bản này'; -$lang['plugin_install_err'] = "Plugin không được cài đặt chính xác.Đổi tên thư mục plugin '%s' thành '%s'."; - //Setup VIM: ex: et ts=2 : diff --git a/inc/lang/zh-tw/admin.txt b/inc/lang/zh-tw/admin.txt index 3cc10335d..5916e7106 100644 --- a/inc/lang/zh-tw/admin.txt +++ b/inc/lang/zh-tw/admin.txt @@ -1,4 +1,3 @@ ====== 管理選單 ====== -以下為 DokuWiki 的管理設定 - +以下為 DokuWiki 的管理設定。
\ No newline at end of file diff --git a/inc/lang/zh-tw/diff.txt b/inc/lang/zh-tw/diff.txt index b2b662ec3..17fad7ba0 100644 --- a/inc/lang/zh-tw/diff.txt +++ b/inc/lang/zh-tw/diff.txt @@ -1,4 +1,3 @@ ====== 差異處 ====== -這裡顯示二個版本的差異處。 - +這裏顯示二個版本的差異處。
\ No newline at end of file diff --git a/inc/lang/zh-tw/index.txt b/inc/lang/zh-tw/index.txt index 11ec223d9..bba277041 100644 --- a/inc/lang/zh-tw/index.txt +++ b/inc/lang/zh-tw/index.txt @@ -1,3 +1,3 @@ ====== 站台地圖 ====== -這個站台地圖列出了所有允許的頁面,依 [[doku>namespaces|命名空間]] 排序。 +這個站台地圖列出了所有允許的頁面,依 [[doku>namespaces|分類空間]] 排序。
\ No newline at end of file diff --git a/inc/lang/zh-tw/install.html b/inc/lang/zh-tw/install.html index f435efc21..2a8b1aac3 100644 --- a/inc/lang/zh-tw/install.html +++ b/inc/lang/zh-tw/install.html @@ -1,8 +1,8 @@ -<p>本頁面旨在幫助您完成第一次安装和配置 <a href="http://dokuwiki.org">Dokuwiki</a>。關於安裝工具的更多訊息請參閱 <a href="http://dokuwiki.org/installer">官方文檔頁面</a>。</p> +<p>本頁面旨在幫助您完成第一次安装和設定 <a href="http://dokuwiki.org">Dokuwiki</a>。關於安裝工具的更多訊息請參閱 <a href="http://dokuwiki.org/installer">官方文檔頁面</a>。</p> <p>DokuWiki 使用普通檔案儲存維基頁面以及與頁面相關的訊息(例如:圖像,搜尋索引,修訂記錄等)。為了正常運作,DokuWiki <strong>必須</strong> 擁有針對那些路徑和檔案的寫入權限。本安裝工具無法設定目錄權限,這通常要透過命令行、FTP 或您主機上的控制台(如cPanel)進行。</p> -<p>本安裝工具將設定您的 DokuWiki 用於 <abbr title="訪問控制列表">ACL</abbr> 的配置檔,它能讓管理員登入並使用「管理」功能來安裝插件、管理用户、管理訪問權限和其他配置設定。它並不是 DokuWiki 正常運作所必須,但安裝之後將更方便管理。</p> +<p>本安裝工具將設定您的 DokuWiki 用於 <abbr title="訪問控制列表">ACL</abbr> 的設定檔,它能讓管理員登入並使用「管理」功能來安裝插件、管理用户、管理訪問權限和其他設定設定。它並不是 DokuWiki 正常運作所必須,但安裝之後將更方便管理。</p> <p>有經驗的用戶或有特殊需求的用戶請參閱更詳細的 <a href="http://dokuwiki.org/install">安裝指南</a> -和 <a href="http://dokuwiki.org/config">配置設定</a>。</p>
\ No newline at end of file +和 <a href="http://dokuwiki.org/config">設定</a>。</p>
\ No newline at end of file diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index bbbbb71a6..2cceb4012 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -10,6 +10,7 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -45,6 +46,7 @@ $lang['btn_backtomedia'] = '重新選擇圖檔'; $lang['btn_subscribe'] = '訂閱更動通知'; $lang['btn_profile'] = '更新個人資料'; $lang['btn_reset'] = '資料重設'; +$lang['btn_resendpwd'] = '設定新密碼'; $lang['btn_draft'] = '編輯草稿'; $lang['btn_recover'] = '復原草稿'; $lang['btn_draftdel'] = '捨棄草稿'; @@ -60,39 +62,41 @@ $lang['oldpass'] = '目前密碼'; $lang['passchk'] = '確認密碼'; $lang['remember'] = '記住帳號密碼'; $lang['fullname'] = '真實姓名'; -$lang['email'] = 'E-Mail'; +$lang['email'] = '電郵'; $lang['profile'] = '使用者個人資料'; -$lang['badlogin'] = '很抱歉,您的使用者名稱或密碼可能有錯誤'; +$lang['badlogin'] = '很抱歉,您的使用者名稱或密碼可能有錯誤。'; $lang['minoredit'] = '小修改'; $lang['draftdate'] = '草稿已自動存檔於'; $lang['nosecedit'] = '頁面在這之間已被修改,過時的區段資料已載入全頁取代。'; -$lang['regmissing'] = '很抱歉,所有欄位都要填寫'; -$lang['reguexists'] = '很抱歉,本帳號已被註冊'; +$lang['regmissing'] = '很抱歉,所有欄位都要填寫。'; +$lang['reguexists'] = '很抱歉,本帳號已被註冊。'; $lang['regsuccess'] = '使用者已建立,密碼已寄發至該 email。'; -$lang['regsuccess2'] = '使用者已建立'; +$lang['regsuccess2'] = '使用者已建立。'; $lang['regmailfail'] = '寄出密碼信似乎發生錯誤,請跟管理員聯絡!'; $lang['regbadmail'] = '您輸入的 email 似乎不對,如果您認為是正確的,請與管理員聯絡。'; $lang['regbadpass'] = '兩次輸入的密碼不一致,請再試一次。'; $lang['regpwmail'] = '您的 DokuWiki 帳號密碼'; $lang['reghere'] = '您還沒有帳號嗎?註冊一個吧。'; -$lang['profna'] = '本維基不開放修改個人資料'; -$lang['profnochange'] = '未做任何變更'; -$lang['profnoempty'] = '帳號或 email 地址不可空白!'; -$lang['profchanged'] = '個人資料已成功更新囉。'; +$lang['profna'] = '本維基不開放修改個人資料。'; +$lang['profnochange'] = '未做任何變更。'; +$lang['profnoempty'] = '帳號或電郵地址不可空白!'; +$lang['profchanged'] = '個人資料已成功更新。'; $lang['pwdforget'] = '忘記密碼了?索取新密碼!'; -$lang['resendna'] = '本維基不開放重寄密碼'; +$lang['resendna'] = '本維基不開放重寄密碼。'; +$lang['resendpwd'] = '設定新密碼供'; $lang['resendpwdmissing'] = '抱歉,您必須填寫所有欄位。'; -$lang['resendpwdnouser'] = '抱歉,資料庫內找不到這個使用者'; +$lang['resendpwdnouser'] = '抱歉,資料庫內找不到這個使用者。'; $lang['resendpwdbadauth'] = '抱歉,認證碼無效。請確認您使用了完整的確認連結。'; $lang['resendpwdconfirm'] = '確認連結已通過郵件發送給您了。'; $lang['resendpwdsuccess'] = '您的新密碼已寄出。'; $lang['license'] = '若未特別註明,此維基上的內容都是採用以下授權方式:'; $lang['licenseok'] = '注意:編輯此頁面表示您已同意以下的授權方式:'; $lang['searchmedia'] = '搜尋檔名:'; -$lang['searchmedia_in'] = '在 %s 裡搜尋'; +$lang['searchmedia_in'] = '在 %s 裏搜尋'; $lang['txt_upload'] = '請選擇要上傳的檔案'; $lang['txt_filename'] = '請輸入要存在維基內的檔案名稱 (非必要)'; $lang['txt_overwrt'] = '是否要覆蓋原有檔案'; +$lang['maxuploadsize'] = '每個上傳檔案不可大於 %s 。'; $lang['lockedby'] = '目前已被下列人員鎖定'; $lang['lockexpire'] = '預計解除鎖定於'; $lang['js']['willexpire'] = '本頁的編輯鎖定將在一分鐘內到期。要避免發生衝突,請按「預覽」鍵重設鎖定計時。'; @@ -122,12 +126,12 @@ $lang['js']['mediaright'] = '圖像靠右對齊'; $lang['js']['mediacenter'] = '圖像置中對齊'; $lang['js']['medianoalign'] = '不對齊'; $lang['js']['nosmblinks'] = '只有在 Microsoft IE 下才能執行「連結到 Windows shares」。 -不過您仍可複製及貼上這個連結'; +不過您仍可複製及貼上這個連結。'; $lang['js']['linkwiz'] = '建立連結精靈'; $lang['js']['linkto'] = '連結至:'; $lang['js']['del_confirm'] = '確定刪除選取的項目?'; $lang['js']['restore_confirm'] = '確定還原到這個版本?'; -$lang['js']['media_diff'] = '檢視差異:'; +$lang['js']['media_diff'] = '檢視差異:'; $lang['js']['media_diff_both'] = '並排'; $lang['js']['media_diff_opacity'] = '重疊'; $lang['js']['media_diff_portions'] = '滑動'; @@ -145,21 +149,21 @@ $lang['uploadsucc'] = '上傳成功'; $lang['uploadfail'] = '上傳失敗。似乎是權限錯誤?'; $lang['uploadwrong'] = '拒絕上傳。這個副檔名被禁止了!'; $lang['uploadexist'] = '檔案已存在,未處理。'; -$lang['uploadbadcontent'] = '上傳檔案的內容不符合 %s 檔的副檔名'; +$lang['uploadbadcontent'] = '上傳檔案的內容不符合 %s 檔的副檔名。'; $lang['uploadspam'] = '這次的上傳被垃圾訊息黑名單阻檔了。'; $lang['uploadxss'] = '這次的上傳因可能的惡意的內容而被阻檔。'; $lang['uploadsize'] = '上傳的檔案太大了 (最大:%s)'; $lang['deletesucc'] = '檔案 "%s" 已刪除。'; $lang['deletefail'] = '檔案 "%s" 無法刪除,請檢查權限定。'; $lang['mediainuse'] = '檔案 "%s" 未刪除,因為它正被使用。'; -$lang['namespaces'] = '命名空間'; +$lang['namespaces'] = '分類空間'; $lang['mediafiles'] = '可用的檔案有'; -$lang['accessdenied'] = '您不被允許檢視此頁面'; -$lang['mediausage'] = '使用以下的語法來連結此檔案:'; +$lang['accessdenied'] = '您不可以檢視此頁面。'; +$lang['mediausage'] = '使用以下的語法來連結此檔案:'; $lang['mediaview'] = '檢視原始檔案'; $lang['mediaroot'] = 'root'; -$lang['mediaupload'] = '上傳檔案至目前的命名空間。要建立次級命名空間,將其名稱加在「上傳並重命名為」檔案名的前面,並用英文冒號隔開'; -$lang['mediaextchange'] = '檔案類型已由 .%s 變更為 .%s !'; +$lang['mediaupload'] = '上傳檔案至目前的分類空間。要建立子分類空間,將其名稱加在「上傳並重命名為」檔案名的前面,並用英文冒號隔開。'; +$lang['mediaextchange'] = '檔案類型已由 .%s 變更為 .%s !'; $lang['reference'] = '引用到本頁的,合計有'; $lang['ref_inuse'] = '此檔案無法刪除,因為它正被以下頁面使用:'; $lang['ref_hidden'] = '一些參考內容位於您沒有讀取權限的頁面中'; @@ -186,11 +190,17 @@ $lang['external_edit'] = '外部編輯'; $lang['summary'] = '編輯摘要'; $lang['noflash'] = '顯示此內容需要 <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>'; $lang['download'] = '下載程式碼片段'; -$lang['mail_newpage'] = '增加的頁面:'; -$lang['mail_changed'] = '變更的頁面:'; -$lang['mail_subscribe_list'] = '命名空間中更動的頁面:'; -$lang['mail_new_user'] = '新使用者:'; -$lang['mail_upload'] = '已上傳檔案:'; +$lang['tools'] = '工具'; +$lang['user_tools'] = '用戶工具'; +$lang['site_tools'] = '網站工具'; +$lang['page_tools'] = '頁面工具'; +$lang['skip_to_content'] = '跳至內容'; +$lang['sidebar'] = '側欄'; +$lang['mail_newpage'] = '增加的頁面:'; +$lang['mail_changed'] = '變更的頁面:'; +$lang['mail_subscribe_list'] = '分類空間中更動的頁面:'; +$lang['mail_new_user'] = '新使用者:'; +$lang['mail_upload'] = '已上傳檔案:'; $lang['changes_type'] = '檢視最近更新類型'; $lang['pages_changes'] = '頁面'; $lang['media_changes'] = '多媒體檔案'; @@ -219,7 +229,7 @@ $lang['qb_media'] = '加入圖片或檔案'; $lang['qb_sig'] = '插入簽名'; $lang['qb_smileys'] = '表情符號'; $lang['qb_chars'] = '特殊字元'; -$lang['upperns'] = '前往父層命名空間'; +$lang['upperns'] = '前往父分類空間'; $lang['admin_register'] = '新增使用者'; $lang['metaedit'] = '編輯後設資料'; $lang['metasaveerr'] = '後設資料寫入失敗'; @@ -245,7 +255,7 @@ $lang['subscr_unsubscribe_success'] = '已將 %s 移除自 %s 的訂閱列表'; $lang['subscr_unsubscribe_error'] = '將 %s 移除自 %s 的訂閱列表時發生錯誤'; $lang['subscr_already_subscribed'] = '%s 已經被 %s 訂閱了'; $lang['subscr_not_subscribed'] = '%s 尚未被 %s 訂閱'; -$lang['subscr_m_not_subscribed'] = '您尚未訂閱目前的頁面或命名空間。'; +$lang['subscr_m_not_subscribed'] = '您尚未訂閱目前的頁面或分類空間。'; $lang['subscr_m_new_header'] = '加入訂閱'; $lang['subscr_m_current_header'] = '目前訂閱'; $lang['subscr_m_unsubscribe'] = '取消訂閱'; @@ -256,6 +266,7 @@ $lang['subscr_style_digest'] = '對每個頁面發送更改的摘要信件 ( $lang['subscr_style_list'] = '自上次發信以來更改的頁面的列表 (每 %.2f 天)'; $lang['authmodfailed'] = '帳號認證的設定不正確,請通知該維基管理員。'; $lang['authtempfail'] = '帳號認證目前暫不提供,若本狀況持續發生的話,請通知該維基管理員。'; +$lang['authpwdexpire'] = '您的密碼將在 %d 天內到期,請馬上更換新密碼。'; $lang['i_chooselang'] = '選擇您的語系'; $lang['i_installer'] = 'DokuWiki 安裝工具'; $lang['i_wikiname'] = '維基名稱'; @@ -280,7 +291,7 @@ $lang['i_pol1'] = '公開的維基 (任何人可讀取,註冊 $lang['i_pol2'] = '封閉的維基 (只有註冊使用者可讀取、寫入、上傳)'; $lang['i_retry'] = '重試'; $lang['i_license'] = '請選擇您想要的內容發布許可協議:'; -$lang['recent_global'] = '您正在閱讀命名空間: <b>%s</b> 中的變更。您亦可觀看整個維基的<a href="%s">最近更新</a>。'; +$lang['recent_global'] = '您正在閱讀分類空間: <b>%s</b> 中的變更。您亦可觀看整個維基的<a href="%s">最近更新</a>。'; $lang['years'] = '%d 年前'; $lang['months'] = '%d 個月前'; $lang['weeks'] = '%d 週前'; @@ -299,7 +310,7 @@ $lang['media_list_thumbs'] = '縮圖'; $lang['media_list_rows'] = '列表'; $lang['media_sort_name'] = '名稱'; $lang['media_sort_date'] = '日期'; -$lang['media_namespaces'] = '選擇命名空間'; +$lang['media_namespaces'] = '選擇分類空間'; $lang['media_files'] = '在 %s 中的檔案'; $lang['media_upload'] = '上傳至 %s'; $lang['media_search'] = '在 %s 中搜尋'; @@ -308,8 +319,7 @@ $lang['media_viewold'] = '%s 在 %s'; $lang['media_edit'] = '編輯 %s'; $lang['media_history'] = '%s 的歷史紀錄'; $lang['media_meta_edited'] = '元資料已編輯'; -$lang['media_perm_read'] = '抱歉,您沒有足夠權限讀取檔案'; +$lang['media_perm_read'] = '抱歉,您沒有足夠權限讀取檔案。'; $lang['media_perm_upload'] = '抱歉,您沒有足夠權限上傳檔案。'; $lang['media_update'] = '上傳新的版本'; $lang['media_restore'] = '還原這個版本'; -$lang['plugin_install_err'] = '插件安裝錯誤。將插件目錄 "%s" 重新命名為 "%s"'; diff --git a/inc/lang/zh-tw/mailwrap.html b/inc/lang/zh-tw/mailwrap.html new file mode 100644 index 000000000..9cd5faacd --- /dev/null +++ b/inc/lang/zh-tw/mailwrap.html @@ -0,0 +1,13 @@ +<html> +<head> +<title>@TITLE@</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> +<body> + +@HTMLBODY@ + +<br /><hr /> +<small>這郵件由DokuWiki at @DOKUWIKIURL@. 生成</small> +</body> +</html>
\ No newline at end of file diff --git a/inc/lang/zh-tw/resetpwd.txt b/inc/lang/zh-tw/resetpwd.txt new file mode 100644 index 000000000..f760335af --- /dev/null +++ b/inc/lang/zh-tw/resetpwd.txt @@ -0,0 +1,3 @@ +====== 設定新密碼 ====== + +請為您的帳戶輸入新密碼。
\ No newline at end of file diff --git a/inc/lang/zh-tw/subscr_digest.txt b/inc/lang/zh-tw/subscr_digest.txt index a26e73050..a0f2be73e 100644 --- a/inc/lang/zh-tw/subscr_digest.txt +++ b/inc/lang/zh-tw/subscr_digest.txt @@ -12,8 +12,8 @@ 要取消頁面提醒,請登入維基 @DOKUWIKIURL@ 然後拜訪 @SUBSCRIBE@ -並取消訂閱頁面或命名空間的更改。 +並取消訂閱頁面或分類空間的更改。 -- 本信件由以下 DokuWiki 站台產生: -@DOKUWIKIURL@ +@DOKUWIKIURL@
\ No newline at end of file diff --git a/inc/lang/zh-tw/subscr_form.txt b/inc/lang/zh-tw/subscr_form.txt index 0ad675cc8..394d4cbad 100644 --- a/inc/lang/zh-tw/subscr_form.txt +++ b/inc/lang/zh-tw/subscr_form.txt @@ -1,3 +1,3 @@ ====== 訂閱管理 ====== -這個頁面允許您管理在目前頁面和命名空間的訂閱。
\ No newline at end of file +這個頁面允許您管理在目前頁面和分類空間的訂閱。
\ No newline at end of file diff --git a/inc/lang/zh-tw/subscr_list.txt b/inc/lang/zh-tw/subscr_list.txt index 2a1b26c6e..078eae63e 100644 --- a/inc/lang/zh-tw/subscr_list.txt +++ b/inc/lang/zh-tw/subscr_list.txt @@ -1,6 +1,6 @@ 您好! -維基 @TITLE@ 的 @PAGE@ 命名空間的頁面已更改。 +維基 @TITLE@ 的 @PAGE@ 分類空間的頁面已更改。 更改內容如下: -------------------------------------------------------- @@ -9,8 +9,8 @@ 要取消頁面提醒,請登入維基 @DOKUWIKIURL@ 然後拜訪 @SUBSCRIBE@ -並取消訂閱頁面或命名空間的更改。 +並取消訂閱頁面或分類空間的更改。 -- 本信件由以下 DokuWiki 站台產生: -@DOKUWIKIURL@ +@DOKUWIKIURL@
\ No newline at end of file diff --git a/inc/lang/zh-tw/subscr_single.txt b/inc/lang/zh-tw/subscr_single.txt index f3c623c5c..5128140d0 100644 --- a/inc/lang/zh-tw/subscr_single.txt +++ b/inc/lang/zh-tw/subscr_single.txt @@ -15,8 +15,8 @@ 要取消頁面提醒,請登入維基 @DOKUWIKIURL@ 然後拜訪 @NEWPAGE@ -並取消訂閱頁面或命名空間的更改。 +並取消訂閱頁面或分類空間的更改。 -- 本信件由以下 DokuWiki 站台產生: -@DOKUWIKIURL@ +@DOKUWIKIURL@
\ No newline at end of file diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 9ea0f5e7f..b21a74ed5 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -190,7 +190,7 @@ $lang['lastmod'] = '最后更改'; $lang['by'] = '由'; $lang['deleted'] = '移除'; $lang['created'] = '创建'; -$lang['restored'] = '已恢复为旧版'; +$lang['restored'] = '已恢复为旧版 (%s)'; $lang['external_edit'] = '外部编辑'; $lang['summary'] = '编辑摘要'; $lang['noflash'] = '需要 <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash 插件</a> 来播放本内容。 '; @@ -200,6 +200,7 @@ $lang['user_tools'] = '用户工具'; $lang['site_tools'] = '站点工具'; $lang['page_tools'] = '页面工具'; $lang['skip_to_content'] = '跳至内容'; +$lang['sidebar'] = '侧边栏'; $lang['mail_newpage'] = '添加页面:'; $lang['mail_changed'] = '更改页面:'; $lang['mail_subscribe_list'] = '命名空间中改变的页面:'; @@ -329,4 +330,3 @@ $lang['media_perm_read'] = '抱歉,您没有足够权限读取这些文 $lang['media_perm_upload'] = '抱歉,您没有足够权限来上传文件。'; $lang['media_update'] = '上传新版本'; $lang['media_restore'] = '恢复这个版本'; -$lang['plugin_install_err'] = '插件安装不正确。重命名插件目录“%s”为“%s”。'; diff --git a/inc/load.php b/inc/load.php index b676518e7..b8a279523 100644 --- a/inc/load.php +++ b/inc/load.php @@ -95,13 +95,13 @@ function load_autoload($name){ } // Plugin loading - if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_([^_]+)(?:_([^_]+))?$/', + if(preg_match('/^(helper|syntax|action|admin|renderer|remote)_plugin_('.DOKU_PLUGIN_NAME_REGEX.')(?:_([^_]+))?$/', $name, $m)) { // try to load the wanted plugin file $c = ((count($m) === 4) ? "/{$m[3]}" : ''); $plg = DOKU_PLUGIN . "{$m[2]}/{$m[1]}$c.php"; if(@file_exists($plg)){ - include DOKU_PLUGIN . "{$m[2]}/{$m[1]}$c.php"; + include_once DOKU_PLUGIN . "{$m[2]}/{$m[1]}$c.php"; } return; } diff --git a/inc/mail.php b/inc/mail.php index bec0c5b10..d0ea651bf 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -32,20 +32,25 @@ if (!defined('PREG_PATTERN_VALID_EMAIL')) define('PREG_PATTERN_VALID_EMAIL', '[' /** * Prepare mailfrom replacement patterns * + * Also prepares a mailfromnobody config that contains an autoconstructed address + * if the mailfrom one is userdependent and this might not be wanted (subscriptions) + * * @author Andreas Gohr <andi@splitbrain.org> */ function mail_setup(){ global $conf; global $USERINFO; - $replace = array(); + // auto constructed address + $host = @parse_url(DOKU_URL,PHP_URL_HOST); + if(!$host) $host = 'example.com'; + $noreply = 'noreply@'.$host; + $replace = array(); if(!empty($USERINFO['mail'])){ $replace['@MAIL@'] = $USERINFO['mail']; }else{ - $host = @parse_url(DOKU_URL,PHP_URL_HOST); - if(!$host) $host = 'example.com'; - $replace['@MAIL@'] = 'noreply@'.$host; + $replace['@MAIL@'] = $noreply; } if(!empty($_SERVER['REMOTE_USER'])){ @@ -60,9 +65,18 @@ function mail_setup(){ $replace['@NAME@'] = ''; } - $conf['mailfrom'] = str_replace(array_keys($replace), - array_values($replace), - $conf['mailfrom']); + // apply replacements + $from = str_replace(array_keys($replace), + array_values($replace), + $conf['mailfrom']); + + // any replacements done? set different mailfromnone + if($from != $conf['mailfrom']){ + $conf['mailfromnobody'] = $noreply; + }else{ + $conf['mailfromnobody'] = $from; + } + $conf['mailfrom'] = $from; } /** diff --git a/inc/media.php b/inc/media.php index 35112f274..6335bf210 100644 --- a/inc/media.php +++ b/inc/media.php @@ -296,7 +296,7 @@ function media_upload($ns,$auth,$file=false){ $res = media_save(array('name' => $file['tmp_name'], 'mime' => $imime, 'ext' => $iext), $ns.':'.$id, - $INPUT->post->bool('ow'), $auth, 'move_uploaded_file'); + $INPUT->post->bool('ow'), $auth, 'copy_uploaded_file'); if (is_array($res)) { msg($res[0], $res[1]); return false; @@ -305,6 +305,23 @@ function media_upload($ns,$auth,$file=false){ } /** + * An alternative to move_uploaded_file that copies + * + * Using copy, makes sure any setgid bits on the media directory are honored + * + * @see move_uploaded_file() + * @param string $from + * @param string $to + * @return bool + */ +function copy_uploaded_file($from, $to){ + if(!is_uploaded_file($from)) return false; + $ok = copy($from, $to); + @unlink($from); + return $ok; +} + +/** * This generates an action event and delegates to _media_upload_action(). * Action plugins are allowed to pre/postprocess the uploaded file. * (The triggered event is preventable.) @@ -646,6 +663,7 @@ function media_tab_files_options(){ global $lang; global $NS; global $INPUT; + global $ID; $form = new Doku_Form(array('class' => 'options', 'method' => 'get', 'action' => wl($ID))); $media_manager_params = media_managerURL(array(), '', false, true); @@ -1365,9 +1383,9 @@ function media_printfile($item,$auth,$jump,$display_namespace=false){ // output echo '<div class="'.$zebra.'"'.$jump.' title="'.hsc($item['id']).'">'.NL; if (!$display_namespace) { - echo '<a name="h_:'.$item['id'].'" class="'.$class.'">'.hsc($file).'</a> '; + echo '<a id="h_:'.$item['id'].'" class="'.$class.'">'.hsc($file).'</a> '; } else { - echo '<a name="h_:'.$item['id'].'" class="'.$class.'">'.hsc($item['id']).'</a><br/>'; + echo '<a id="h_:'.$item['id'].'" class="'.$class.'">'.hsc($item['id']).'</a><br/>'; } echo '<span class="info">('.$info.')</span>'.NL; @@ -1431,7 +1449,7 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false media_printimgdetail($item, true); } else { - echo '<a name="d_:'.$item['id'].'" class="image" title="'.$item['id'].'" href="'. + echo '<a id="d_:'.$item['id'].'" class="image" title="'.$item['id'].'" href="'. media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']), 'tab_details' => 'view')).'">'; echo media_printicon($item['id']); @@ -1444,7 +1462,7 @@ function media_printfile_thumbs($item,$auth,$jump=false,$display_namespace=false $name = hsc($item['id']); } echo '<dd class="name"><a href="'.media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']), - 'tab_details' => 'view')).'" name="h_:'.$item['id'].'">'.$name.'</a></dd>'.NL; + 'tab_details' => 'view')).'" id="h_:'.$item['id'].'">'.$name.'</a></dd>'.NL; if($item['isimg']){ $size = ''; @@ -1492,7 +1510,7 @@ function media_printimgdetail($item, $fullscreen=false){ // output if ($fullscreen) { - echo '<a name="l_:'.$item['id'].'" class="image thumb" href="'. + echo '<a id="l_:'.$item['id'].'" class="image thumb" href="'. media_managerURL(array('image' => hsc($item['id']), 'ns' => getNS($item['id']), 'tab_details' => 'view')).'">'; echo '<img src="'.$src.'" '.$att.' />'; echo '</a>'; @@ -1502,7 +1520,7 @@ function media_printimgdetail($item, $fullscreen=false){ echo '<div class="detail">'; echo '<div class="thumb">'; - echo '<a name="d_:'.$item['id'].'" class="select">'; + echo '<a id="d_:'.$item['id'].'" class="select">'; echo '<img src="'.$src.'" '.$att.' />'; echo '</a>'; echo '</div>'; diff --git a/inc/pageutils.php b/inc/pageutils.php index d6abff894..3bb10883f 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -199,7 +199,8 @@ function noNSorNS($id) { * Creates a XHTML valid linkid from a given headline title * * @param string $title The headline title - * @param array $check Existing IDs (title => number) + * @param array|bool $check Existing IDs (title => number) + * @return string the title * @author Andreas Gohr <andi@splitbrain.org> */ function sectionID($title,&$check) { @@ -535,15 +536,25 @@ function getCacheName($data,$ext=''){ * @author Andreas Gohr <gohr@cosmocode.de> */ function isHiddenPage($id){ + $data = array( + 'id' => $id, + 'hidden' => false + ); + trigger_event('PAGEUTILS_ID_HIDEPAGE', $data, '_isHiddenPage'); + return $data['hidden']; +} + +function _isHiddenPage(&$data) { global $conf; global $ACT; - if(empty($conf['hidepages'])) return false; - if($ACT == 'admin') return false; - if(preg_match('/'.$conf['hidepages'].'/ui',':'.$id)){ - return true; + if ($data['hidden']) return; + if(empty($conf['hidepages'])) return; + if($ACT == 'admin') return; + + if(preg_match('/'.$conf['hidepages'].'/ui',':'.$data['id'])){ + $data['hidden'] = true; } - return false; } /** diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index 8bfdc3b9c..8638ffa6a 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -133,27 +133,6 @@ class Doku_Renderer_metadata extends Doku_Renderer { } } - function strong_open(){} - function strong_close(){} - - function emphasis_open(){} - function emphasis_close(){} - - function underline_open(){} - function underline_close(){} - - function monospace_open(){} - function monospace_close(){} - - function subscript_open(){} - function subscript_close(){} - - function superscript_open(){} - function superscript_close(){} - - function deleted_open(){} - function deleted_close(){} - /** * Callback for footnote start syntax * @@ -218,14 +197,6 @@ class Doku_Renderer_metadata extends Doku_Renderer { if ($this->capture) $this->doc .= $text; } - function php($text){} - - function phpblock($text){} - - function html($text){} - - function htmlblock($text){} - function preformatted($text){ if ($this->capture) $this->doc .= $text; } @@ -393,18 +364,6 @@ class Doku_Renderer_metadata extends Doku_Renderer { $params['refresh']; } - function table_open($maxcols = NULL, $numrows = NULL){} - function table_close(){} - - function tablerow_open(){} - function tablerow_close(){} - - function tableheader_open($colspan = 1, $align = NULL, $rowspan = 1){} - function tableheader_close(){} - - function tablecell_open($colspan = 1, $align = NULL, $rowspan = 1){} - function tablecell_close(){} - //---------------------------------------------------------- // Utils diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index 0923e6896..2c78f220a 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -62,7 +62,7 @@ class Doku_Renderer extends DokuWiki_Plugin { //handle plugin rendering function plugin($name,$data){ - $plugin =& plugin_load('syntax',$name); + $plugin = plugin_load('syntax',$name); if($plugin != null){ $plugin->render($this->getFormat(),$this,$data); } diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index e18718746..b4e78a530 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -358,6 +358,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Execute PHP code if allowed * + * @param string $text PHP code that is either executed or printed * @param string $wrapper html element to wrap result if $conf['phpok'] is okff * * @author Andreas Gohr <andi@splitbrain.org> @@ -382,6 +383,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Insert HTML if allowed * + * @param string $text html text * @param string $wrapper html element to wrap result if $conf['htmlok'] is okff * * @author Andreas Gohr <andi@splitbrain.org> diff --git a/inc/parserutils.php b/inc/parserutils.php index 20f992ba2..1733fcf09 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -386,9 +386,18 @@ function p_set_metadata($id, $data, $render=false, $persistent=true){ if ($key == 'relation'){ foreach ($value as $subkey => $subvalue){ - $meta['current'][$key][$subkey] = !empty($meta['current'][$key][$subkey]) ? array_merge($meta['current'][$key][$subkey], $subvalue) : $subvalue; - if ($persistent) - $meta['persistent'][$key][$subkey] = !empty($meta['persistent'][$key][$subkey]) ? array_merge($meta['persistent'][$key][$subkey], $subvalue) : $subvalue; + if(isset($meta['current'][$key][$subkey]) && is_array($meta['current'][$key][$subkey])) { + $meta['current'][$key][$subkey] = array_merge($meta['current'][$key][$subkey], (array)$subvalue); + } else { + $meta['current'][$key][$subkey] = $subvalue; + } + if($persistent) { + if(isset($meta['persistent'][$key][$subkey]) && is_array($meta['persistent'][$key][$subkey])) { + $meta['persistent'][$key][$subkey] = array_merge($meta['persistent'][$key][$subkey], (array)$subvalue); + } else { + $meta['persistent'][$key][$subkey] = $subvalue; + } + } } // be careful with some senisitive arrays of $meta @@ -396,10 +405,10 @@ function p_set_metadata($id, $data, $render=false, $persistent=true){ // these keys, must have subkeys - a legitimate value must be an array if (is_array($value)) { - $meta['current'][$key] = !empty($meta['current'][$key]) ? array_merge($meta['current'][$key],$value) : $value; + $meta['current'][$key] = !empty($meta['current'][$key]) ? array_merge((array)$meta['current'][$key],$value) : $value; if ($persistent) { - $meta['persistent'][$key] = !empty($meta['persistent'][$key]) ? array_merge($meta['persistent'][$key],$value) : $value; + $meta['persistent'][$key] = !empty($meta['persistent'][$key]) ? array_merge((array)$meta['persistent'][$key],$value) : $value; } } @@ -570,7 +579,7 @@ function p_get_parsermodes(){ $obj = null; foreach($pluginlist as $p){ /** @var DokuWiki_Syntax_Plugin $obj */ - if(!$obj =& plugin_load('syntax',$p)) continue; //attempt to load plugin into $obj + if(!$obj = plugin_load('syntax',$p)) continue; //attempt to load plugin into $obj $PARSER_MODES[$obj->getType()][] = "plugin_$p"; //register mode type //add to modes $modes[] = array( @@ -668,7 +677,9 @@ function p_render($mode,$instructions,&$info){ // Loop through the instructions foreach ( $instructions as $instruction ) { // Execute the callback against the Renderer - call_user_func_array(array(&$Renderer, $instruction[0]), $instruction[1] ? $instruction[1] : array()); + if(method_exists($Renderer, $instruction[0])){ + call_user_func_array(array(&$Renderer, $instruction[0]), $instruction[1] ? $instruction[1] : array()); + } } //set info array diff --git a/inc/plugin.php b/inc/plugin.php index d2fe3818d..b0518346d 100644 --- a/inc/plugin.php +++ b/inc/plugin.php @@ -191,7 +191,7 @@ class DokuWiki_Plugin { */ function loadHelper($name, $msg){ if (!plugin_isdisabled($name)){ - $obj =& plugin_load('helper',$name); + $obj = plugin_load('helper',$name); }else{ $obj = null; } diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 11636fb91..0b4041a77 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -70,7 +70,6 @@ class Doku_Plugin_Controller { //we keep all loaded plugins available in global scope for reuse global $DOKU_PLUGINS; - global $lang; list($plugin,$component) = $this->_splitName($name); @@ -97,7 +96,10 @@ class Doku_Plugin_Controller { $dir = $this->get_directory($plugin); $inf = confToHash(DOKU_PLUGIN."$dir/plugin.info.txt"); if($inf['base'] && $inf['base'] != $plugin){ - msg(sprintf($lang['plugin_install_err'],hsc($plugin),hsc($inf['base'])),-1); + msg(sprintf("Plugin installed incorrectly. Rename plugin directory '%s' to '%s'.", hsc($plugin), hsc($inf['base'])), -1); + } elseif (preg_match('/^'.DOKU_PLUGIN_NAME_REGEX.'$/', $plugin) !== 1) { + msg(sprintf("Plugin name '%s' is not a valid plugin name, only the characters a-z and 0-9 are allowed. ". + 'Maybe the plugin has been installed in the wrong directory?', hsc($plugin)), -1); } return null; } diff --git a/inc/pluginutils.php b/inc/pluginutils.php index 53cfedf82..7c37d4f7f 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -8,6 +8,8 @@ // plugin related constants if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); +// note that only [a-z0-9]+ is officially supported, this is only to support plugins that don't follow these conventions, too +if(!defined('DOKU_PLUGIN_NAME_REGEX')) define('DOKU_PLUGIN_NAME_REGEX', '[a-zA-Z0-9\x7f-\xff]+'); /** * Original plugin functions, remain for backwards compatibility diff --git a/inc/search.php b/inc/search.php index a02b86b34..1cecfd5ec 100644 --- a/inc/search.php +++ b/inc/search.php @@ -119,7 +119,7 @@ function search_index(&$data,$base,$file,$type,$lvl,$opts){ 'listfiles' => !$opts['nofiles'], 'sneakyacl' => $conf['sneaky_index'], // Hacky, should rather use recmatch - 'depth' => preg_match('#^'.$file.'(/|$)#','/'.$opts['ns']) ? 0 : -1 + 'depth' => preg_match('#^'.preg_quote($file, '#').'(/|$)#','/'.$opts['ns']) ? 0 : -1 ); return search_universal($data, $base, $file, $type, $lvl, $opts); diff --git a/inc/subscription.php b/inc/subscription.php index d1ee0397a..6b201c266 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -20,10 +20,11 @@ * Get the name of the metafile tracking subscriptions to target page or * namespace * + * @author Adrian Lang <lang@cosmocode.de> + * * @param string $id The target page or namespace, specified by id; Namespaces * are identified by appending a colon. - * - * @author Adrian Lang <lang@cosmocode.de> + * @return string */ function subscription_filename($id) { $meta_fname = '.mlist'; @@ -39,16 +40,23 @@ function subscription_filename($id) { /** * Lock subscription info for an ID * + * @author Adrian Lang <lang@cosmocode.de> * @param string $id The target page or namespace, specified by id; Namespaces * are identified by appending a colon. - * - * @author Adrian Lang <lang@cosmocode.de> + * @return string */ function subscription_lock_filename ($id){ global $conf; return $conf['lockdir'].'/_subscr_' . md5($id) . '.lock'; } +/** + * Creates a lock file for writing subscription data + * + * @todo add lock time parameter to io_lock() and use this instead + * @param $id + * @return bool + */ function subscription_lock($id) { global $conf; $lock = subscription_lock_filename($id); @@ -70,10 +78,10 @@ function subscription_lock($id) { /** * Unlock subscription info for an ID * + * @author Adrian Lang <lang@cosmocode.de> * @param string $id The target page or namespace, specified by id; Namespaces * are identified by appending a colon. - * - * @author Adrian Lang <lang@cosmocode.de> + * @return bool */ function subscription_unlock($id) { $lockf = subscription_lock_filename($id); @@ -92,6 +100,8 @@ function subscription_unlock($id) { * returned if a subscription should be deleted but the user is not subscribed * and the subscription meta file exists. * + * @author Adrian Lang <lang@cosmocode.de> + * * @param string $user The subscriber or unsubscriber * @param string $page The target object (page or namespace), specified by * id; Namespaces are identified by a trailing colon. @@ -99,8 +109,7 @@ function subscription_unlock($id) { * “every”, “digest”, and “list”. * @param string $data An optional data blob * @param bool $overwrite Whether an existing subscription may be overwritten - * - * @author Adrian Lang <lang@cosmocode.de> + * @return bool */ function subscription_set($user, $page, $style, $data = null, $overwrite = false) { @@ -123,7 +132,7 @@ function subscription_set($user, $page, $style, $data = null, // Delete subscription if one exists and $overwrite is true. If $overwrite // is false, fail. $subs = subscription_find($page, array('user' => $user)); - if (count($subs) > 0 && array_pop(array_keys($subs)) === $page) { + if (count($subs) > 0 && isset($subs[$page])) { if (!$overwrite) { msg(sprintf($lang['subscr_already_subscribed'], $user, prettyprint_id($page)), -1); @@ -149,12 +158,12 @@ function subscription_set($user, $page, $style, $data = null, * This function searches all relevant subscription files for a page or * namespace. * - * @param string $page The target object’s (namespace or page) id - * @param array $pre A hash of predefined values - * + * @author Adrian Lang <lang@cosmocode.de> * @see function subscription_regex for $pre documentation * - * @author Adrian Lang <lang@cosmocode.de> + * @param string $page The target object’s (namespace or page) id + * @param array $pre A hash of predefined values + * @return array */ function subscription_find($page, $pre) { // Construct list of files which may contain relevant subscriptions. @@ -231,13 +240,15 @@ function get_info_subscribed() { /** * Construct a regular expression parsing a subscription definition line * + * @author Adrian Lang <lang@cosmocode.de> + * * @param array $pre A hash of predefined values; “user”, “style”, and * “data” may be set to limit the results to * subscriptions matching these parameters. If * “escaped” is true, these fields are inserted into the * regular expression without escaping. * - * @author Adrian Lang <lang@cosmocode.de> + * @return string complete regexp including delimiters */ function subscription_regex($pre = array()) { if (!isset($pre['escaped']) || $pre['escaped'] === false) { @@ -258,15 +269,18 @@ function subscription_regex($pre = array()) { * * This is the default action for COMMON_NOTIFY_ADDRESSLIST. * + * @author Steven Danz <steven-danz@kc.rr.com> + * @author Adrian Lang <lang@cosmocode.de> + * + * @todo this does NOT return a string but uses a reference to write back, either fix function or docs * @param array $data Containing $id (the page id), $self (whether the author * should be notified, $addresslist (current email address * list) - * - * @author Steven Danz <steven-danz@kc.rr.com> - * @author Adrian Lang <lang@cosmocode.de> + * @return string */ function subscription_addresslist(&$data){ global $conf; + /** @var auth_basic $auth */ global $auth; $id = $data['id']; @@ -303,11 +317,11 @@ function subscription_addresslist(&$data){ * * Sends a digest mail showing a bunch of changes. * + * @author Adrian Lang <lang@cosmocode.de> + * * @param string $subscriber_mail The target mail address * @param array $id The ID * @param int $lastupdate Time of the last notification - * - * @author Adrian Lang <lang@cosmocode.de> */ function subscription_send_digest($subscriber_mail, $id, $lastupdate) { $n = 0; @@ -339,11 +353,11 @@ function subscription_send_digest($subscriber_mail, $id, $lastupdate) { * * Sends a list mail showing a list of changed pages. * + * @author Adrian Lang <lang@cosmocode.de> + * * @param string $subscriber_mail The target mail address * @param array $ids Array of ids * @param string $ns_id The id of the namespace - * - * @author Adrian Lang <lang@cosmocode.de> */ function subscription_send_list($subscriber_mail, $ids, $ns_id) { if (count($ids) === 0) return; @@ -365,6 +379,8 @@ function subscription_send_list($subscriber_mail, $ids, $ns_id) { /** * Helper function for sending a mail * + * @author Adrian Lang <lang@cosmocode.de> + * * @param string $subscriber_mail The target mail address * @param array $replaces Predefined parameters used to parse the * template @@ -372,21 +388,23 @@ function subscription_send_list($subscriber_mail, $ids, $ns_id) { * prefix “mail_”) * @param string $id The page or namespace id * @param string $template The name of the mail template - * - * @author Adrian Lang <lang@cosmocode.de> + * @return bool */ function subscription_send($subscriber_mail, $replaces, $subject, $id, $template) { - global $conf; global $lang; + global $conf; $text = rawLocale($template); $trep = array_merge($replaces, array('PAGE' => $id)); + $hrep = $trep; + $hrep['DIFF'] = nl2br(htmlspecialchars($hrep['DIFF'])); $subject = $lang['mail_' . $subject] . ' ' . $id; $mail = new Mailer(); $mail->bcc($subscriber_mail); $mail->subject($subject); - $mail->setBody($text,$trep); + $mail->setBody($text,$trep,$hrep); + $mail->from($conf['mailfromnobody']); $mail->setHeader( 'List-Unsubscribe', '<'.wl($id,array('do'=>'subscribe'),true,'&').'>', diff --git a/inc/template.php b/inc/template.php index 5b6260155..0d96be214 100644 --- a/inc/template.php +++ b/inc/template.php @@ -9,29 +9,33 @@ if(!defined('DOKU_INC')) die('meh.'); /** - * Returns the path to the given template, uses - * default one if the custom version doesn't exist. + * Access a template file + * + * Returns the path to the given file inside the current template, uses + * default template if the custom version doesn't exist. * * @author Andreas Gohr <andi@splitbrain.org> + * @param string $file + * @return string */ -function template($tpl){ +function template($file) { global $conf; - if(@is_readable(DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl)) - return DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl; + if(@is_readable(DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$file)) + return DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$file; - return DOKU_INC.'lib/tpl/default/'.$tpl; + return DOKU_INC.'lib/tpl/dokuwiki/'.$file; } - /** * Convenience function to access template dir from local FS * * This replaces the deprecated DOKU_TPLINC constant * * @author Andreas Gohr <andi@splitbrain.org> + * @return string */ -function tpl_incdir(){ +function tpl_incdir() { global $conf; return DOKU_INC.'lib/tpl/'.$conf['template'].'/'; } @@ -42,8 +46,9 @@ function tpl_incdir(){ * This replaces the deprecated DOKU_TPL constant * * @author Andreas Gohr <andi@splitbrain.org> + * @return string */ -function tpl_basedir(){ +function tpl_basedir() { global $conf; return DOKU_BASE.'lib/tpl/'.$conf['template'].'/'; } @@ -59,32 +64,43 @@ function tpl_basedir(){ * handled by this function. ACL stuff is not done here either. * * @author Andreas Gohr <andi@splitbrain.org> + * @triggers TPL_ACT_RENDER + * @triggers TPL_CONTENT_DISPLAY + * @param bool $prependTOC should the TOC be displayed here? + * @return bool true if any output */ -function tpl_content($prependTOC=true) { +function tpl_content($prependTOC = true) { global $ACT; global $INFO; $INFO['prependTOC'] = $prependTOC; ob_start(); - trigger_event('TPL_ACT_RENDER',$ACT,'tpl_content_core'); + trigger_event('TPL_ACT_RENDER', $ACT, 'tpl_content_core'); $html_output = ob_get_clean(); - trigger_event('TPL_CONTENT_DISPLAY',$html_output,'ptln'); + trigger_event('TPL_CONTENT_DISPLAY', $html_output, 'ptln'); return !empty($html_output); } -function tpl_content_core(){ +/** + * Default Action of TPL_ACT_RENDER + * + * @return bool + */ +function tpl_content_core() { global $ACT; global $TEXT; global $PRE; global $SUF; global $SUM; global $IDX; + global $INPUT; - switch($ACT){ + switch($ACT) { case 'show': html_show(); break; + /** @noinspection PhpMissingBreakStatementInspection */ case 'locked': html_locked(); case 'edit': @@ -102,20 +118,13 @@ function tpl_content_core(){ html_search(); break; case 'revisions': - $first = isset($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; - html_revisions($first); + html_revisions($INPUT->int('first')); break; case 'diff': html_diff(); break; case 'recent': - if (is_array($_REQUEST['first'])) { - $_REQUEST['first'] = array_keys($_REQUEST['first']); - $_REQUEST['first'] = $_REQUEST['first'][0]; - } - $first = is_numeric($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; - $show_changes = $_REQUEST['show_changes']; - html_recent($first, $show_changes); + html_recent($INPUT->extract('first')->int('first'), $INPUT->str('show_changes')); break; case 'index': html_index($IDX); #FIXME can this be pulled from globals? is it sanitized correctly? @@ -124,8 +133,8 @@ function tpl_content_core(){ html_backlinks(); break; case 'conflict': - html_conflict(con($PRE,$TEXT,$SUF),$SUM); - html_diff(con($PRE,$TEXT,$SUF),false); + html_conflict(con($PRE, $TEXT, $SUF), $SUM); + html_diff(con($PRE, $TEXT, $SUF), false); break; case 'login': html_login(); @@ -152,9 +161,9 @@ function tpl_content_core(){ tpl_media(); break; default: - $evt = new Doku_Event('TPL_ACT_UNKNOWN',$ACT); - if ($evt->advise_before()) - msg("Failed to handle command: ".hsc($ACT),-1); + $evt = new Doku_Event('TPL_ACT_UNKNOWN', $ACT); + if($evt->advise_before()) + msg("Failed to handle command: ".hsc($ACT), -1); $evt->advise_after(); unset($evt); return false; @@ -169,43 +178,47 @@ function tpl_content_core(){ * a false argument * * @author Andreas Gohr <andi@splitbrain.org> + * @param bool $return Should the TOC be returned instead to be printed? + * @return string */ -function tpl_toc($return=false){ +function tpl_toc($return = false) { global $TOC; global $ACT; global $ID; global $REV; global $INFO; global $conf; + global $INPUT; $toc = array(); - if(is_array($TOC)){ + if(is_array($TOC)) { // if a TOC was prepared in global scope, always use it $toc = $TOC; - }elseif(($ACT == 'show' || substr($ACT,0,6) == 'export') && !$REV && $INFO['exists']){ + } elseif(($ACT == 'show' || substr($ACT, 0, 6) == 'export') && !$REV && $INFO['exists']) { // get TOC from metadata, render if neccessary $meta = p_get_metadata($ID, false, METADATA_RENDER_USING_CACHE); - if(isset($meta['internal']['toc'])){ + if(isset($meta['internal']['toc'])) { $tocok = $meta['internal']['toc']; - }else{ + } else { $tocok = true; } - $toc = $meta['description']['tableofcontents']; - if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']){ + $toc = $meta['description']['tableofcontents']; + if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']) { $toc = array(); } - }elseif($ACT == 'admin'){ + } elseif($ACT == 'admin') { // try to load admin plugin TOC FIXME: duplicates code from tpl_admin $plugin = null; - if (!empty($_REQUEST['page'])) { + $class = $INPUT->str('page'); + if(!empty($class)) { $pluginlist = plugin_list('admin'); - if (in_array($_REQUEST['page'], $pluginlist)) { + if(in_array($class, $pluginlist)) { // attempt to load the plugin - $plugin =& plugin_load('admin',$_REQUEST['page']); + /** @var $plugin DokuWiki_Admin_Plugin */ + $plugin =& plugin_load('admin', $class); } } - if ( ($plugin !== null) && - (!$plugin->forAdminOnly() || $INFO['isadmin']) ){ + if( ($plugin !== null) && (!$plugin->forAdminOnly() || $INFO['isadmin']) ) { $toc = $plugin->getTOC(); $TOC = $toc; // avoid later rebuild } @@ -215,6 +228,7 @@ function tpl_toc($return=false){ $html = html_TOC($toc); if($return) return $html; echo $html; + return ''; } /** @@ -222,26 +236,28 @@ function tpl_toc($return=false){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_admin(){ +function tpl_admin() { global $INFO; global $TOC; + global $INPUT; $plugin = null; - if (!empty($_REQUEST['page'])) { + $class = $INPUT->str('page'); + if(!empty($class)) { $pluginlist = plugin_list('admin'); - if (in_array($_REQUEST['page'], $pluginlist)) { - + if(in_array($class, $pluginlist)) { // attempt to load the plugin - $plugin =& plugin_load('admin',$_REQUEST['page']); + /** @var $plugin DokuWiki_Admin_Plugin */ + $plugin =& plugin_load('admin', $class); } } - if ($plugin !== null){ + if($plugin !== null) { if(!is_array($TOC)) $TOC = $plugin->getTOC(); //if TOC wasn't requested yet if($INFO['prependTOC']) tpl_toc(); $plugin->html(); - }else{ + } else { html_admin(); } return true; @@ -252,11 +268,12 @@ function tpl_admin(){ * * This has to go into the head section of your template. * - * @triggers TPL_METAHEADER_OUTPUT - * @param boolean $alt Should feeds and alternative format links be added? * @author Andreas Gohr <andi@splitbrain.org> + * @triggers TPL_METAHEADER_OUTPUT + * @param bool $alt Should feeds and alternative format links be added? + * @return bool */ -function tpl_metaheaders($alt=true){ +function tpl_metaheaders($alt = true) { global $ID; global $REV; global $INFO; @@ -265,13 +282,12 @@ function tpl_metaheaders($alt=true){ global $QUERY; global $lang; global $conf; - $it=2; // prepare the head array $head = array(); // prepare seed for js and css - $tseed = 0; + $tseed = 0; $depends = getConfigFiles('main'); foreach($depends as $f) { $time = @filemtime($f); @@ -279,99 +295,119 @@ function tpl_metaheaders($alt=true){ } // the usual stuff - $head['meta'][] = array( 'name'=>'generator', 'content'=>'DokuWiki'); - $head['link'][] = array( 'rel'=>'search', 'type'=>'application/opensearchdescription+xml', - 'href'=>DOKU_BASE.'lib/exe/opensearch.php', 'title'=>$conf['title'] ); - $head['link'][] = array( 'rel'=>'start', 'href'=>DOKU_BASE ); - if(actionOK('index')){ - $head['link'][] = array( 'rel'=>'contents', 'href'=> wl($ID,'do=index',false,'&'), - 'title'=>$lang['btn_index'] ); + $head['meta'][] = array('name'=> 'generator', 'content'=> 'DokuWiki'); + $head['link'][] = array( + 'rel' => 'search', 'type'=> 'application/opensearchdescription+xml', + 'href'=> DOKU_BASE.'lib/exe/opensearch.php', 'title'=> $conf['title'] + ); + $head['link'][] = array('rel'=> 'start', 'href'=> DOKU_BASE); + if(actionOK('index')) { + $head['link'][] = array( + 'rel' => 'contents', 'href'=> wl($ID, 'do=index', false, '&'), + 'title'=> $lang['btn_index'] + ); } - if($alt){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Recent Changes', 'href'=>DOKU_BASE.'feed.php'); - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Current Namespace', - 'href'=>DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace']); - if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']){ - $head['link'][] = array( 'rel'=>'edit', - 'title'=>$lang['btn_edit'], - 'href'=> wl($ID,'do=edit',false,'&')); + if($alt) { + $head['link'][] = array( + 'rel' => 'alternate', 'type'=> 'application/rss+xml', + 'title'=> 'Recent Changes', 'href'=> DOKU_BASE.'feed.php' + ); + $head['link'][] = array( + 'rel' => 'alternate', 'type'=> 'application/rss+xml', + 'title'=> 'Current Namespace', + 'href' => DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace'] + ); + if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']) { + $head['link'][] = array( + 'rel' => 'edit', + 'title'=> $lang['btn_edit'], + 'href' => wl($ID, 'do=edit', false, '&') + ); } - if($ACT == 'search'){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Search Result', - 'href'=>DOKU_BASE.'feed.php?mode=search&q='.$QUERY); + if($ACT == 'search') { + $head['link'][] = array( + 'rel' => 'alternate', 'type'=> 'application/rss+xml', + 'title'=> 'Search Result', + 'href' => DOKU_BASE.'feed.php?mode=search&q='.$QUERY + ); } - if(actionOK('export_xhtml')){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/html', 'title'=>'Plain HTML', - 'href'=>exportlink($ID, 'xhtml', '', false, '&')); + if(actionOK('export_xhtml')) { + $head['link'][] = array( + 'rel' => 'alternate', 'type'=> 'text/html', 'title'=> 'Plain HTML', + 'href'=> exportlink($ID, 'xhtml', '', false, '&') + ); } - if(actionOK('export_raw')){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/plain', 'title'=>'Wiki Markup', - 'href'=>exportlink($ID, 'raw', '', false, '&')); + if(actionOK('export_raw')) { + $head['link'][] = array( + 'rel' => 'alternate', 'type'=> 'text/plain', 'title'=> 'Wiki Markup', + 'href'=> exportlink($ID, 'raw', '', false, '&') + ); } } // setup robot tags apropriate for different modes - if( ($ACT=='show' || $ACT=='export_xhtml') && !$REV){ - if($INFO['exists']){ + if(($ACT == 'show' || $ACT == 'export_xhtml') && !$REV) { + if($INFO['exists']) { //delay indexing: - if((time() - $INFO['lastmod']) >= $conf['indexdelay']){ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'index,follow'); - }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); + if((time() - $INFO['lastmod']) >= $conf['indexdelay']) { + $head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow'); + } else { + $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow'); } - $head['link'][] = array( 'rel'=>'canonical', 'href'=>wl($ID,'',true,'&') ); - }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,follow'); + $head['link'][] = array('rel'=> 'canonical', 'href'=> wl($ID, '', true, '&')); + } else { + $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,follow'); } - }elseif(defined('DOKU_MEDIADETAIL')){ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'index,follow'); - }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); + } elseif(defined('DOKU_MEDIADETAIL')) { + $head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow'); + } else { + $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow'); } // set metadata - if($ACT == 'show' || $ACT=='export_xhtml'){ + if($ACT == 'show' || $ACT == 'export_xhtml') { // date of modification - if($REV){ - $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$REV)); - }else{ - $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$INFO['lastmod'])); + if($REV) { + $head['meta'][] = array('name'=> 'date', 'content'=> date('Y-m-d\TH:i:sO', $REV)); + } else { + $head['meta'][] = array('name'=> 'date', 'content'=> date('Y-m-d\TH:i:sO', $INFO['lastmod'])); } // keywords (explicit or implicit) - if(!empty($INFO['meta']['subject'])){ - $head['meta'][] = array( 'name'=>'keywords', 'content'=>join(',',$INFO['meta']['subject'])); - }else{ - $head['meta'][] = array( 'name'=>'keywords', 'content'=>str_replace(':',',',$ID)); + if(!empty($INFO['meta']['subject'])) { + $head['meta'][] = array('name'=> 'keywords', 'content'=> join(',', $INFO['meta']['subject'])); + } else { + $head['meta'][] = array('name'=> 'keywords', 'content'=> str_replace(':', ',', $ID)); } } // load stylesheets - $head['link'][] = array('rel'=>'stylesheet', 'type'=>'text/css', - 'href'=>DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed); + $head['link'][] = array( + 'rel' => 'stylesheet', 'type'=> 'text/css', + 'href'=> DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed + ); // make $INFO and other vars available to JavaScripts - $json = new JSON(); + $json = new JSON(); $script = "var NS='".$INFO['namespace']."';"; - if($conf['useacl'] && $_SERVER['REMOTE_USER']){ + if($conf['useacl'] && $_SERVER['REMOTE_USER']) { $script .= "var SIG='".toolbar_signature()."';"; } $script .= 'var JSINFO = '.$json->encode($JSINFO).';'; - $head['script'][] = array( 'type'=>'text/javascript', '_data'=> $script); + $head['script'][] = array('type'=> 'text/javascript', '_data'=> $script); // load external javascript - $head['script'][] = array( 'type'=>'text/javascript', 'charset'=>'utf-8', '_data'=>'', - 'src'=>DOKU_BASE.'lib/exe/js.php'.'?tseed='.$tseed); + $head['script'][] = array( + 'type'=> 'text/javascript', 'charset'=> 'utf-8', '_data'=> '', + 'src' => DOKU_BASE.'lib/exe/js.php'.'?tseed='.$tseed + ); // trigger event here - trigger_event('TPL_METAHEADER_OUTPUT',$head,'_tpl_metaheaders_action',true); + trigger_event('TPL_METAHEADER_OUTPUT', $head, '_tpl_metaheaders_action', true); return true; } @@ -387,18 +423,18 @@ function tpl_metaheaders($alt=true){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function _tpl_metaheaders_action($data){ - foreach($data as $tag => $inst){ - foreach($inst as $attr){ - echo '<',$tag,' ',buildAttributes($attr); - if(isset($attr['_data']) || $tag == 'script'){ +function _tpl_metaheaders_action($data) { + foreach($data as $tag => $inst) { + foreach($inst as $attr) { + echo '<', $tag, ' ', buildAttributes($attr); + if(isset($attr['_data']) || $tag == 'script') { if($tag == 'script' && $attr['_data']) - $attr['_data'] = "<!--//--><![CDATA[//><!--\n". + $attr['_data'] = "/*<![CDATA[*/". $attr['_data']. - "\n//--><!]]>"; + "\n/*!]]>*/"; - echo '>',$attr['_data'],'</',$tag,'>'; - }else{ + echo '>', $attr['_data'], '</', $tag, '>'; + } else { echo '/>'; } echo "\n"; @@ -413,11 +449,11 @@ function _tpl_metaheaders_action($data){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_link($url,$name,$more='',$return=false){ +function tpl_link($url, $name, $more = '', $return = false) { $out = '<a href="'.$url.'" '; - if ($more) $out .= ' '.$more; + if($more) $out .= ' '.$more; $out .= ">$name</a>"; - if ($return) return $out; + if($return) return $out; print $out; return true; } @@ -429,8 +465,8 @@ function tpl_link($url,$name,$more='',$return=false){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_pagelink($id,$name=null){ - print html_wikilink($id,$name); +function tpl_pagelink($id, $name = null) { + print html_wikilink($id, $name); return true; } @@ -442,14 +478,13 @@ function tpl_pagelink($id,$name=null){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_getparent($id){ - global $conf; +function tpl_getparent($id) { $parent = getNS($id).':'; - resolve_pageid('',$parent,$exists); + resolve_pageid('', $parent, $exists); if($parent == $id) { - $pos = strrpos (getNS($id),':'); - $parent = substr($parent,0,$pos).':'; - resolve_pageid('',$parent,$exists); + $pos = strrpos(getNS($id), ':'); + $parent = substr($parent, 0, $pos).':'; + resolve_pageid('', $parent, $exists); if($parent == $id) return false; } return $parent; @@ -461,21 +496,27 @@ function tpl_getparent($id){ * @author Adrian Lang <mail@adrianlang.de> * @see tpl_get_action */ -function tpl_button($type,$return=false){ +function tpl_button($type, $return = false) { $data = tpl_get_action($type); - if ($data === false) { + if($data === false) { return false; - } elseif (!is_array($data)) { + } elseif(!is_array($data)) { $out = sprintf($data, 'button'); } else { + /** + * @var string $accesskey + * @var string $id + * @var string $method + * @var array $params + */ extract($data); - if ($id === '#dokuwiki__top') { + if($id === '#dokuwiki__top') { $out = html_topbtn(); } else { $out = html_btn($type, $id, $accesskey, $params, $method); } } - if ($return) return $out; + if($return) return $out; echo $out; return true; } @@ -486,32 +527,40 @@ function tpl_button($type,$return=false){ * @author Adrian Lang <mail@adrianlang.de> * @see tpl_get_action */ -function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ +function tpl_actionlink($type, $pre = '', $suf = '', $inner = '', $return = false) { global $lang; $data = tpl_get_action($type); - if ($data === false) { + if($data === false) { return false; - } elseif (!is_array($data)) { + } elseif(!is_array($data)) { $out = sprintf($data, 'link'); } else { + /** + * @var string $accesskey + * @var string $id + * @var string $method + * @var array $params + */ extract($data); - if (strpos($id, '#') === 0) { + if(strpos($id, '#') === 0) { $linktarget = $id; } else { $linktarget = wl($id, $params); } - $caption = $lang['btn_' . $type]; - $akey = $addTitle = ''; - if($accesskey){ - $akey = 'accesskey="'.$accesskey.'" '; + $caption = $lang['btn_'.$type]; + $akey = $addTitle = ''; + if($accesskey) { + $akey = 'accesskey="'.$accesskey.'" '; $addTitle = ' ['.strtoupper($accesskey).']'; } - $out = tpl_link($linktarget, $pre.(($inner)?$inner:$caption).$suf, - 'class="action ' . $type . '" ' . - $akey . 'rel="nofollow" ' . - 'title="' . hsc($caption).$addTitle . '"', 1); + $out = tpl_link( + $linktarget, $pre.(($inner) ? $inner : $caption).$suf, + 'class="action '.$type.'" '. + $akey.'rel="nofollow" '. + 'title="'.hsc($caption).$addTitle.'"', 1 + ); } - if ($return) return $out; + if($return) return $out; echo $out; return true; } @@ -536,53 +585,53 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ * @author Andreas Gohr <andi@splitbrain.org> * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * @author Adrian Lang <mail@adrianlang.de> + * @param string $type + * @return array|bool|string */ function tpl_get_action($type) { global $ID; global $INFO; global $REV; global $ACT; - global $conf; - global $auth; // check disabled actions and fix the badly named ones - if($type == 'history') $type='revisions'; + if($type == 'history') $type = 'revisions'; if(!actionOK($type)) return false; $accesskey = null; $id = $ID; $method = 'get'; $params = array('do' => $type); - switch($type){ + switch($type) { case 'edit': // most complicated type - we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ + if($ACT == 'show' || $ACT == 'search') { $method = 'post'; - if($INFO['writable']){ + if($INFO['writable']) { $accesskey = 'e'; if(!empty($INFO['draft'])) { - $type = 'draft'; + $type = 'draft'; $params['do'] = 'draft'; } else { $params['rev'] = $REV; - if(!$INFO['exists']){ - $type = 'create'; + if(!$INFO['exists']) { + $type = 'create'; } } - }else{ + } else { if(!actionOK('source')) return false; //pseudo action $params['rev'] = $REV; - $type = 'source'; - $accesskey = 'v'; + $type = 'source'; + $accesskey = 'v'; } - }else{ - $params = array(); - $type = 'show'; + } else { + $params = array(); + $type = 'show'; $accesskey = 'v'; } break; case 'revisions': - $type = 'revs'; + $type = 'revs'; $accesskey = 'o'; break; case 'recent': @@ -593,40 +642,40 @@ function tpl_get_action($type) { break; case 'top': $accesskey = 't'; - $params = array(); - $id = '#dokuwiki__top'; + $params = array(); + $id = '#dokuwiki__top'; break; case 'back': $parent = tpl_getparent($ID); - if (!$parent) { + if(!$parent) { return false; } - $id = $parent; - $params = array(); + $id = $parent; + $params = array(); $accesskey = 'b'; break; case 'login': $params['sectok'] = getSecurityToken(); - if(isset($_SERVER['REMOTE_USER'])){ - if (!actionOK('logout')) { + if(isset($_SERVER['REMOTE_USER'])) { + if(!actionOK('logout')) { return false; } $params['do'] = 'logout'; - $type = 'logout'; + $type = 'logout'; } break; case 'register': - if($_SERVER['REMOTE_USER']){ + if($_SERVER['REMOTE_USER']) { return false; } break; case 'resendpwd': - if($_SERVER['REMOTE_USER']){ + if($_SERVER['REMOTE_USER']) { return false; } break; case 'admin': - if(!$INFO['ismanager']){ + if(!$INFO['ismanager']) { return false; } break; @@ -634,21 +683,22 @@ function tpl_get_action($type) { if(!$INFO['ismanager'] || !$REV || !$INFO['writable']) { return false; } - $params['rev'] = $REV; + $params['rev'] = $REV; $params['sectok'] = getSecurityToken(); break; + /** @noinspection PhpMissingBreakStatementInspection */ case 'subscription': - $type = 'subscribe'; + $type = 'subscribe'; $params['do'] = 'subscribe'; case 'subscribe': - if(!$_SERVER['REMOTE_USER']){ + if(!$_SERVER['REMOTE_USER']) { return false; } break; case 'backlink': break; case 'profile': - if(!isset($_SERVER['REMOTE_USER'])){ + if(!isset($_SERVER['REMOTE_USER'])) { return false; } break; @@ -665,14 +715,25 @@ function tpl_get_action($type) { * Wrapper around tpl_button() and tpl_actionlink() * * @author Anika Henke <anika@selfthinker.org> + * @param + * @param bool $link link or form button? + * @param bool $wrapper HTML element wrapper + * @param bool $return return or print + * @param string $pre prefix for links + * @param string $suf suffix for links + * @param string $inner inner HTML for links + * @return bool|string */ -function tpl_action($type,$link=0,$wrapper=false,$return=false,$pre='',$suf='',$inner='') { +function tpl_action($type, $link = false, $wrapper = false, $return = false, $pre = '', $suf = '', $inner = '') { $out = ''; - if ($link) $out .= tpl_actionlink($type,$pre,$suf,$inner,1); - else $out .= tpl_button($type,1); - if ($out && $wrapper) $out = "<$wrapper>$out</$wrapper>"; + if($link) { + $out .= tpl_actionlink($type, $pre, $suf, $inner, 1); + } else { + $out .= tpl_button($type, 1); + } + if($out && $wrapper) $out = "<$wrapper>$out</$wrapper>"; - if ($return) return $out; + if($return) return $out; print $out; return $out ? true : false; } @@ -688,14 +749,17 @@ function tpl_action($type,$link=0,$wrapper=false,$return=false,$pre='',$suf='',$ * autocompletion feature (MSIE and Firefox) * * @author Andreas Gohr <andi@splitbrain.org> + * @param bool $ajax + * @param bool $autocomplete + * @return bool */ -function tpl_searchform($ajax=true,$autocomplete=true){ +function tpl_searchform($ajax = true, $autocomplete = true) { global $lang; global $ACT; global $QUERY; // don't print the search form if search action has been disabled - if (!actionOk('search')) return false; + if(!actionOk('search')) return false; print '<form action="'.wl().'" accept-charset="utf-8" class="search" id="dw__search" method="get"><div class="no">'; print '<input type="hidden" name="do" value="search" />'; @@ -713,8 +777,10 @@ function tpl_searchform($ajax=true,$autocomplete=true){ * Print the breadcrumbs trace * * @author Andreas Gohr <andi@splitbrain.org> + * @param string $sep Separator between entries + * @return bool */ -function tpl_breadcrumbs($sep='•'){ +function tpl_breadcrumbs($sep = '•') { global $lang; global $conf; @@ -725,7 +791,7 @@ function tpl_breadcrumbs($sep='•'){ //reverse crumborder in right-to-left mode, add RLM character to fix heb/eng display mixups if($lang['direction'] == 'rtl') { - $crumbs = array_reverse($crumbs,true); + $crumbs = array_reverse($crumbs, true); $crumbs_sep = ' ‏<span class="bcsep">'.$sep.'</span>‏ '; } else { $crumbs_sep = ' <span class="bcsep">'.$sep.'</span> '; @@ -734,13 +800,13 @@ function tpl_breadcrumbs($sep='•'){ //render crumbs, highlight the last one print '<span class="bchead">'.$lang['breadcrumb'].':</span>'; $last = count($crumbs); - $i = 0; - foreach ($crumbs as $id => $name){ + $i = 0; + foreach($crumbs as $id => $name) { $i++; echo $crumbs_sep; - if ($i == $last) print '<span class="curid">'; - tpl_link(wl($id),hsc($name),'class="breadcrumbs" title="'.$id.'"'); - if ($i == $last) print '</span>'; + if($i == $last) print '<span class="curid">'; + tpl_link(wl($id), hsc($name), 'class="breadcrumbs" title="'.$id.'"'); + if($i == $last) print '</span>'; } return true; } @@ -756,8 +822,10 @@ function tpl_breadcrumbs($sep='•'){ * @author Sean Coates <sean@caedmon.net> * @author <fredrik@averpil.com> * @todo May behave strangely in RTL languages + * @param string $sep Separator between entries + * @return bool */ -function tpl_youarehere($sep=' » '){ +function tpl_youarehere($sep = ' » ') { global $conf; global $ID; global $lang; @@ -775,10 +843,10 @@ function tpl_youarehere($sep=' » '){ // print intermediate namespace links $part = ''; - for($i=0; $i<$count - 1; $i++){ + for($i = 0; $i < $count - 1; $i++) { $part .= $parts[$i].':'; $page = $part; - if ($page == $conf['start']) continue; // Skip startpage + if($page == $conf['start']) continue; // Skip startpage // output echo $sep; @@ -786,10 +854,10 @@ function tpl_youarehere($sep=' » '){ } // print current page, skipping start page, skipping for namespace index - resolve_pageid('',$page,$exists); - if(isset($page) && $page==$part.$parts[$i]) return; + resolve_pageid('', $page, $exists); + if(isset($page) && $page == $part.$parts[$i]) return true; $page = $part.$parts[$i]; - if($page == $conf['start']) return; + if($page == $conf['start']) return true; echo $sep; tpl_pagelink($page); return true; @@ -802,11 +870,12 @@ function tpl_youarehere($sep=' » '){ * Could be enhanced with a profile link in future? * * @author Andreas Gohr <andi@splitbrain.org> + * @return bool */ -function tpl_userinfo(){ +function tpl_userinfo() { global $lang; global $INFO; - if(isset($_SERVER['REMOTE_USER'])){ + if(isset($_SERVER['REMOTE_USER'])) { print $lang['loggedinas'].': '.hsc($INFO['userinfo']['name']).' ('.hsc($_SERVER['REMOTE_USER']).')'; return true; } @@ -817,51 +886,55 @@ function tpl_userinfo(){ * Print some info about the current page * * @author Andreas Gohr <andi@splitbrain.org> + * @param bool $ret return content instead of printing it + * @return bool|string */ -function tpl_pageinfo($ret=false){ +function tpl_pageinfo($ret = false) { global $conf; global $lang; global $INFO; global $ID; // return if we are not allowed to view the page - if (!auth_quickaclcheck($ID)) { return false; } + if(!auth_quickaclcheck($ID)) { + return false; + } // prepare date and path $fn = $INFO['filepath']; - if(!$conf['fullpath']){ - if($INFO['rev']){ - $fn = str_replace(fullpath($conf['olddir']).'/','',$fn); - }else{ - $fn = str_replace(fullpath($conf['datadir']).'/','',$fn); + if(!$conf['fullpath']) { + if($INFO['rev']) { + $fn = str_replace(fullpath($conf['olddir']).'/', '', $fn); + } else { + $fn = str_replace(fullpath($conf['datadir']).'/', '', $fn); } } - $fn = utf8_decodeFN($fn); + $fn = utf8_decodeFN($fn); $date = dformat($INFO['lastmod']); // print it - if($INFO['exists']){ + if($INFO['exists']) { $out = ''; $out .= $fn; $out .= ' · '; $out .= $lang['lastmod']; $out .= ': '; $out .= $date; - if($INFO['editor']){ + if($INFO['editor']) { $out .= ' '.$lang['by'].' '; $out .= editorinfo($INFO['editor']); - }else{ + } else { $out .= ' ('.$lang['external_edit'].')'; } - if($INFO['locked']){ + if($INFO['locked']) { $out .= ' · '; $out .= $lang['lockedby']; $out .= ': '; $out .= editorinfo($INFO['locked']); } - if($ret){ + if($ret) { return $out; - }else{ + } else { echo $out; return true; } @@ -876,21 +949,23 @@ function tpl_pageinfo($ret=false){ * the given ID is used. * * @author Andreas Gohr <andi@splitbrain.org> + * @param string $id page id + * @param bool $ret return content instead of printing + * @return bool|string */ -function tpl_pagetitle($id=null, $ret=false){ - global $conf; - if(is_null($id)){ +function tpl_pagetitle($id = null, $ret = false) { + if(is_null($id)) { global $ID; $id = $ID; } $name = $id; - if (useHeading('navigation')) { + if(useHeading('navigation')) { $title = p_get_first_heading($id); - if ($title) $name = $title; + if($title) $name = $title; } - if ($ret) { + if($ret) { return hsc($name); } else { print hsc($name); @@ -911,8 +986,12 @@ function tpl_pagetitle($id=null, $ret=false){ * Only allowed in: detail.php * * @author Andreas Gohr <andi@splitbrain.org> + * @param array $tags tags to try + * @param string $alt alternative output if no data was found + * @param null $src the image src, uses global $SRC if not given + * @return string */ -function tpl_img_getTag($tags,$alt='',$src=null){ +function tpl_img_getTag($tags, $alt = '', $src = null) { // Init Exif Reader global $SRC; @@ -931,66 +1010,72 @@ function tpl_img_getTag($tags,$alt='',$src=null){ * * Only allowed in: detail.php * + * @triggers TPL_IMG_DISPLAY * @param $maxwidth int - maximal width of the image * @param $maxheight int - maximal height of the image * @param $link bool - link to the orginal size? * @param $params array - additional image attributes + * @return mixed Result of TPL_IMG_DISPLAY */ -function tpl_img($maxwidth=0,$maxheight=0,$link=true,$params=null){ +function tpl_img($maxwidth = 0, $maxheight = 0, $link = true, $params = null) { global $IMG; + global $INPUT; $w = tpl_img_getTag('File.Width'); $h = tpl_img_getTag('File.Height'); //resize to given max values $ratio = 1; - if($w >= $h){ - if($maxwidth && $w >= $maxwidth){ - $ratio = $maxwidth/$w; - }elseif($maxheight && $h > $maxheight){ - $ratio = $maxheight/$h; + if($w >= $h) { + if($maxwidth && $w >= $maxwidth) { + $ratio = $maxwidth / $w; + } elseif($maxheight && $h > $maxheight) { + $ratio = $maxheight / $h; } - }else{ - if($maxheight && $h >= $maxheight){ - $ratio = $maxheight/$h; - }elseif($maxwidth && $w > $maxwidth){ - $ratio = $maxwidth/$w; + } else { + if($maxheight && $h >= $maxheight) { + $ratio = $maxheight / $h; + } elseif($maxwidth && $w > $maxwidth) { + $ratio = $maxwidth / $w; } } - if($ratio){ - $w = floor($ratio*$w); - $h = floor($ratio*$h); + if($ratio) { + $w = floor($ratio * $w); + $h = floor($ratio * $h); } //prepare URLs - $url=ml($IMG,array('cache'=>$_REQUEST['cache']),true,'&'); - $src=ml($IMG,array('cache'=>$_REQUEST['cache'],'w'=>$w,'h'=>$h),true,'&'); + $url = ml($IMG, array('cache'=> $INPUT->str('cache')), true, '&'); + $src = ml($IMG, array('cache'=> $INPUT->str('cache'), 'w'=> $w, 'h'=> $h), true, '&'); //prepare attributes - $alt=tpl_img_getTag('Simple.Title'); - if(is_null($params)){ + $alt = tpl_img_getTag('Simple.Title'); + if(is_null($params)) { $p = array(); - }else{ + } else { $p = $params; } - if($w) $p['width'] = $w; + if($w) $p['width'] = $w; if($h) $p['height'] = $h; - $p['class'] = 'img_detail'; - if($alt){ + $p['class'] = 'img_detail'; + if($alt) { $p['alt'] = $alt; $p['title'] = $alt; - }else{ + } else { $p['alt'] = ''; } $p['src'] = $src; - $data = array('url'=>($link?$url:null), 'params'=>$p); - return trigger_event('TPL_IMG_DISPLAY',$data,'_tpl_img_action',true); + $data = array('url'=> ($link ? $url : null), 'params'=> $p); + return trigger_event('TPL_IMG_DISPLAY', $data, '_tpl_img_action', true); } /** * Default action for TPL_IMG_DISPLAY + * + * @param array $data + * @return bool */ -function _tpl_img_action($data, $param=null) { +function _tpl_img_action($data) { global $lang; $p = buildAttributes($data['params']); @@ -1005,38 +1090,42 @@ function _tpl_img_action($data, $param=null) { * * Should be called somewhere at the very end of the main.php * template + * + * @return bool */ -function tpl_indexerWebBug(){ +function tpl_indexerWebBug() { global $ID; - $p = array(); + $p = array(); $p['src'] = DOKU_BASE.'lib/exe/indexer.php?id='.rawurlencode($ID). '&'.time(); $p['width'] = 2; //no more 1x1 px image because we live in times of ad blockers... $p['height'] = 1; $p['alt'] = ''; - $att = buildAttributes($p); + $att = buildAttributes($p); print "<img $att />"; return true; } -// configuration methods /** * tpl_getConf($id) * * use this function to access template configuration variables + * + * @param string $id + * @return string */ -function tpl_getConf($id){ +function tpl_getConf($id) { global $conf; static $tpl_configloaded = false; $tpl = $conf['template']; - if (!$tpl_configloaded){ + if(!$tpl_configloaded) { $tconf = tpl_loadConfig(); - if ($tconf !== false){ - foreach ($tconf as $key => $value){ - if (isset($conf['tpl'][$tpl][$key])) continue; + if($tconf !== false) { + foreach($tconf as $key => $value) { + if(isset($conf['tpl'][$tpl][$key])) continue; $conf['tpl'][$tpl][$key] = $value; } $tpl_configloaded = true; @@ -1048,15 +1137,18 @@ function tpl_getConf($id){ /** * tpl_loadConfig() + * * reads all template configuration variables * this function is automatically called by tpl_getConf() + * + * @return array */ -function tpl_loadConfig(){ +function tpl_loadConfig() { $file = tpl_incdir().'/conf/default.php'; $conf = array(); - if (!@file_exists($file)) return false; + if(!@file_exists($file)) return false; // load default config file include($file); @@ -1070,18 +1162,18 @@ function tpl_loadConfig(){ * * use this function to access template language variables */ -function tpl_getLang($id){ +function tpl_getLang($id) { static $lang = array(); - if (count($lang) === 0){ + if(count($lang) === 0) { $path = tpl_incdir().'lang/'; $lang = array(); - global $conf; // definitely don't invoke "global $lang" + global $conf; // definitely don't invoke "global $lang" // don't include once @include($path.'en/lang.php'); - if ($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php'); + if($conf['lang'] != 'en') @include($path.$conf['lang'].'/lang.php'); } return $lang[$id]; @@ -1100,44 +1192,41 @@ function tpl_getLang($id){ * @param bool $fromajax - set true when calling this function via ajax * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_mediaContent($fromajax=false){ +function tpl_mediaContent($fromajax = false) { global $IMG; global $AUTH; global $INUSE; global $NS; global $JUMPTO; + global $INPUT; - if(is_array($_REQUEST['do'])){ - $do = array_shift(array_keys($_REQUEST['do'])); - }else{ - $do = $_REQUEST['do']; - } - if(in_array($do,array('save','cancel'))) $do = ''; + $do = $INPUT->extract('do')->str('do'); + if(in_array($do, array('save', 'cancel'))) $do = ''; - if(!$do){ - if($_REQUEST['edit']){ + if(!$do) { + if($INPUT->bool('edit')) { $do = 'metaform'; - }elseif(is_array($INUSE)){ + } elseif(is_array($INUSE)) { $do = 'filesinuse'; - }else{ + } else { $do = 'filelist'; } } // output the content pane, wrapped in an event. if(!$fromajax) ptln('<div id="media__content">'); - $data = array( 'do' => $do); - $evt = new Doku_Event('MEDIAMANAGER_CONTENT_OUTPUT', $data); - if ($evt->advise_before()) { + $data = array('do' => $do); + $evt = new Doku_Event('MEDIAMANAGER_CONTENT_OUTPUT', $data); + if($evt->advise_before()) { $do = $data['do']; - if($do == 'filesinuse'){ - media_filesinuse($INUSE,$IMG); - }elseif($do == 'filelist'){ - media_filelist($NS,$AUTH,$JUMPTO); - }elseif($do == 'searchlist'){ - media_searchlist($_REQUEST['q'],$NS,$AUTH); - }else{ - msg('Unknown action '.hsc($do),-1); + if($do == 'filesinuse') { + media_filesinuse($INUSE, $IMG); + } elseif($do == 'filelist') { + media_filelist($NS, $AUTH, $JUMPTO); + } elseif($do == 'searchlist') { + media_searchlist($INPUT->str('q'), $NS, $AUTH); + } else { + msg('Unknown action '.hsc($do), -1); } } $evt->advise_after(); @@ -1153,37 +1242,38 @@ function tpl_mediaContent($fromajax=false){ * * @author Kate Arzamastseva <pshns@ukr.net> */ -function tpl_mediaFileList(){ +function tpl_mediaFileList() { global $AUTH; global $NS; global $JUMPTO; global $lang; + global $INPUT; - $opened_tab = $_REQUEST['tab_files']; - if (!$opened_tab || !in_array($opened_tab, array('files', 'upload', 'search'))) $opened_tab = 'files'; - if ($_REQUEST['mediado'] == 'update') $opened_tab = 'upload'; + $opened_tab = $INPUT->str('tab_files'); + if(!$opened_tab || !in_array($opened_tab, array('files', 'upload', 'search'))) $opened_tab = 'files'; + if($INPUT->str('mediado') == 'update') $opened_tab = 'upload'; - echo '<h2 class="a11y">' . $lang['mediaselect'] . '</h2>'.NL; + echo '<h2 class="a11y">'.$lang['mediaselect'].'</h2>'.NL; media_tabs_files($opened_tab); echo '<div class="panelHeader">'.NL; echo '<h3>'; $tabTitle = ($NS) ? $NS : '['.$lang['mediaroot'].']'; - printf($lang['media_' . $opened_tab], '<strong>'.hsc($tabTitle).'</strong>'); + printf($lang['media_'.$opened_tab], '<strong>'.hsc($tabTitle).'</strong>'); echo '</h3>'.NL; - if ($opened_tab === 'search' || $opened_tab === 'files') { + if($opened_tab === 'search' || $opened_tab === 'files') { media_tab_files_options(); } echo '</div>'.NL; echo '<div class="panelContent">'.NL; - if ($opened_tab == 'files') { - media_tab_files($NS,$AUTH,$JUMPTO); - } elseif ($opened_tab == 'upload') { - media_tab_upload($NS,$AUTH,$JUMPTO); - } elseif ($opened_tab == 'search') { - media_tab_search($NS,$AUTH); + if($opened_tab == 'files') { + media_tab_files($NS, $AUTH, $JUMPTO); + } elseif($opened_tab == 'upload') { + media_tab_upload($NS, $AUTH, $JUMPTO); + } elseif($opened_tab == 'search') { + media_tab_search($NS, $AUTH); } echo '</div>'.NL; } @@ -1196,55 +1286,55 @@ function tpl_mediaFileList(){ * * @author Kate Arzamastseva <pshns@ukr.net> */ -function tpl_mediaFileDetails($image, $rev){ - global $AUTH, $NS, $conf, $DEL, $lang; +function tpl_mediaFileDetails($image, $rev) { + global $AUTH, $NS, $conf, $DEL, $lang, $INPUT; $removed = (!file_exists(mediaFN($image)) && file_exists(mediaMetaFN($image, '.changes')) && $conf['mediarevisions']); - if (!$image || (!file_exists(mediaFN($image)) && !$removed) || $DEL) return ''; - if ($rev && !file_exists(mediaFN($image, $rev))) $rev = false; - if (isset($NS) && getNS($image) != $NS) return ''; - $do = $_REQUEST['mediado']; + if(!$image || (!file_exists(mediaFN($image)) && !$removed) || $DEL) return; + if($rev && !file_exists(mediaFN($image, $rev))) $rev = false; + if(isset($NS) && getNS($image) != $NS) return; + $do = $INPUT->str('mediado'); - $opened_tab = $_REQUEST['tab_details']; + $opened_tab = $INPUT->str('tab_details'); $tab_array = array('view'); - list($ext, $mime) = mimetype($image); - if ($mime == 'image/jpeg') { + list(, $mime) = mimetype($image); + if($mime == 'image/jpeg') { $tab_array[] = 'edit'; } - if ($conf['mediarevisions']) { + if($conf['mediarevisions']) { $tab_array[] = 'history'; } - if (!$opened_tab || !in_array($opened_tab, $tab_array)) $opened_tab = 'view'; - if ($_REQUEST['edit']) $opened_tab = 'edit'; - if ($do == 'restore') $opened_tab = 'view'; + if(!$opened_tab || !in_array($opened_tab, $tab_array)) $opened_tab = 'view'; + if($INPUT->bool('edit')) $opened_tab = 'edit'; + if($do == 'restore') $opened_tab = 'view'; media_tabs_details($image, $opened_tab); echo '<div class="panelHeader"><h3>'; - list($ext,$mime,$dl) = mimetype($image,false); - $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext); - $class = 'select mediafile mf_'.$class; - $tabTitle = '<strong class="'.$class.'"><a href="'.ml($image).'" title="'.$lang['mediaview'].'">'.$image.'</a>'.'</strong>'; - if ($opened_tab === 'view' && $rev) { + list($ext) = mimetype($image, false); + $class = preg_replace('/[^_\-a-z0-9]+/i', '_', $ext); + $class = 'select mediafile mf_'.$class; + $tabTitle = '<strong><a href="'.ml($image).'" class="'.$class.'" title="'.$lang['mediaview'].'">'.$image.'</a>'.'</strong>'; + if($opened_tab === 'view' && $rev) { printf($lang['media_viewold'], $tabTitle, dformat($rev)); } else { - printf($lang['media_' . $opened_tab], $tabTitle); + printf($lang['media_'.$opened_tab], $tabTitle); } echo '</h3></div>'.NL; echo '<div class="panelContent">'.NL; - if ($opened_tab == 'view') { + if($opened_tab == 'view') { media_tab_view($image, $NS, $AUTH, $rev); - } elseif ($opened_tab == 'edit' && !$removed) { + } elseif($opened_tab == 'edit' && !$removed) { media_tab_edit($image, $NS, $AUTH); - } elseif ($opened_tab == 'history' && $conf['mediarevisions']) { - media_tab_history($image,$NS,$AUTH); + } elseif($opened_tab == 'history' && $conf['mediarevisions']) { + media_tab_history($image, $NS, $AUTH); } echo '</div>'.NL; @@ -1257,14 +1347,13 @@ function tpl_mediaFileDetails($image, $rev){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_mediaTree(){ +function tpl_mediaTree() { global $NS; ptln('<div id="media__tree">'); media_nstree($NS); ptln('</div>'); } - /** * Print a dropdown menu with all DokuWiki actions * @@ -1272,16 +1361,12 @@ function tpl_mediaTree(){ * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_actiondropdown($empty='',$button='>'){ +function tpl_actiondropdown($empty = '', $button = '>') { global $ID; - global $INFO; global $REV; - global $ACT; - global $conf; global $lang; - global $auth; - echo '<form action="' . DOKU_SCRIPT . '" method="post" accept-charset="utf-8">'; + echo '<form action="'.DOKU_SCRIPT.'" method="post" accept-charset="utf-8">'; echo '<div class="no">'; echo '<input type="hidden" name="id" value="'.$ID.'" />'; if($REV) echo '<input type="hidden" name="rev" value="'.$REV.'" />'; @@ -1291,45 +1376,45 @@ function tpl_actiondropdown($empty='',$button='>'){ echo '<option value="">'.$empty.'</option>'; echo '<optgroup label="'.$lang['page_tools'].'">'; - $act = tpl_get_action('edit'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('edit'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('revert'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('revert'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('revisions'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('revisions'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('backlink'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('backlink'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('subscribe'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - echo '</optgroup>'; + $act = tpl_get_action('subscribe'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + echo '</optgroup>'; echo '<optgroup label="'.$lang['site_tools'].'">'; - $act = tpl_get_action('recent'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('recent'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('media'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('media'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('index'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('index'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; echo '</optgroup>'; echo '<optgroup label="'.$lang['user_tools'].'">'; - $act = tpl_get_action('login'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('login'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('register'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('register'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('profile'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('profile'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - $act = tpl_get_action('admin'); - if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + $act = tpl_get_action('admin'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; echo '</optgroup>'; echo '</select>'; @@ -1342,24 +1427,26 @@ function tpl_actiondropdown($empty='',$button='>'){ * Print a informational line about the used license * * @author Andreas Gohr <andi@splitbrain.org> - * @param string $img - print image? (|button|badge) - * @param bool $return - when true don't print, but return HTML - * @param bool $wrap - wrap in div with class="license"? + * @param string $img print image? (|button|badge) + * @param bool $imgonly skip the textual description? + * @param bool $return when true don't print, but return HTML + * @param bool $wrap wrap in div with class="license"? + * @return string */ -function tpl_license($img='badge',$imgonly=false,$return=false,$wrap=true){ +function tpl_license($img = 'badge', $imgonly = false, $return = false, $wrap = true) { global $license; global $conf; global $lang; if(!$conf['license']) return ''; if(!is_array($license[$conf['license']])) return ''; - $lic = $license[$conf['license']]; + $lic = $license[$conf['license']]; $target = ($conf['target']['extern']) ? ' target="'.$conf['target']['extern'].'"' : ''; $out = ''; - if($wrap) $out .= '<div class="license">'; - if($img){ + if($wrap) $out .= '<div class="license">'; + if($img) { $src = license_img($img); - if($src){ + if($src) { $out .= '<a href="'.$lic['url'].'" rel="license"'.$target; $out .= '><img src="'.DOKU_BASE.$src.'" alt="'.$lic['name'].'" /></a>'; if(!$imgonly) $out .= ' '; @@ -1374,23 +1461,24 @@ function tpl_license($img='badge',$imgonly=false,$return=false,$wrap=true){ if($return) return $out; echo $out; + return ''; } - /** - * Includes the rendered XHTML of a given page + * Includes the rendered HTML of a given page * * This function is useful to populate sidebars or similar features in a * template */ -function tpl_include_page($pageid,$print=true){ +function tpl_include_page($pageid, $print = true, $propagate = false) { global $ID; global $TOC; - $oldid = $ID; + + if ($propagate) $pageid = page_findnearest($pageid); + $oldtoc = $TOC; - $html = p_wiki_xhtml($pageid,'',false); - $ID = $oldid; - $TOC = $oldtoc; + $html = p_wiki_xhtml($pageid, '', false); + $TOC = $oldtoc; if(!$print) return $html; echo $html; @@ -1398,17 +1486,6 @@ function tpl_include_page($pageid,$print=true){ } /** - * Include the sidebar, will check current namespaces first - */ -function tpl_sidebar($print=true){ - global $conf; - - $sidebar = page_findnearest($conf['sidebar']); - if($sidebar) return tpl_include_page($sidebar, $print); - return ''; -} - -/** * Display the subscribe form * * @author Adrian Lang <lang@cosmocode.de> @@ -1418,18 +1495,18 @@ function tpl_subscribe() { global $ID; global $lang; global $conf; - $stime_days = $conf['subscribe_time']/60/60/24; + $stime_days = $conf['subscribe_time'] / 60 / 60 / 24; echo p_locale_xhtml('subscr_form'); - echo '<h2>' . $lang['subscr_m_current_header'] . '</h2>'; + echo '<h2>'.$lang['subscr_m_current_header'].'</h2>'; echo '<div class="level2">'; - if ($INFO['subscribed'] === false) { - echo '<p>' . $lang['subscr_m_not_subscribed'] . '</p>'; + if($INFO['subscribed'] === false) { + echo '<p>'.$lang['subscr_m_not_subscribed'].'</p>'; } else { echo '<ul>'; foreach($INFO['subscribed'] as $sub) { echo '<li><div class="li">'; - if ($sub['target'] !== $ID) { + if($sub['target'] !== $ID) { echo '<code class="ns">'.hsc(prettyprint_id($sub['target'])).'</code>'; } else { echo '<code class="page">'.hsc(prettyprint_id($sub['target'])).'</code>'; @@ -1438,32 +1515,36 @@ function tpl_subscribe() { if(!$sstl) $sstl = hsc($sub['style']); echo ' ('.$sstl.') '; - echo '<a href="' . wl($ID, - array('do'=>'subscribe', - 'sub_target'=>$sub['target'], - 'sub_style'=>$sub['style'], - 'sub_action'=>'unsubscribe', - 'sectok' => getSecurityToken())) . - '" class="unsubscribe">'.$lang['subscr_m_unsubscribe'] . - '</a></div></li>'; + echo '<a href="'.wl( + $ID, + array( + 'do' => 'subscribe', + 'sub_target'=> $sub['target'], + 'sub_style' => $sub['style'], + 'sub_action'=> 'unsubscribe', + 'sectok' => getSecurityToken() + ) + ). + '" class="unsubscribe">'.$lang['subscr_m_unsubscribe']. + '</a></div></li>'; } echo '</ul>'; } echo '</div>'; // Add new subscription form - echo '<h2>' . $lang['subscr_m_new_header'] . '</h2>'; + echo '<h2>'.$lang['subscr_m_new_header'].'</h2>'; echo '<div class="level2">'; - $ns = getNS($ID).':'; + $ns = getNS($ID).':'; $targets = array( - $ID => '<code class="page">'.prettyprint_id($ID).'</code>', - $ns => '<code class="ns">'.prettyprint_id($ns).'</code>', - ); - $styles = array( - 'every' => $lang['subscr_style_every'], - 'digest' => sprintf($lang['subscr_style_digest'], $stime_days), - 'list' => sprintf($lang['subscr_style_list'], $stime_days), - ); + $ID => '<code class="page">'.prettyprint_id($ID).'</code>', + $ns => '<code class="ns">'.prettyprint_id($ns).'</code>', + ); + $styles = array( + 'every' => $lang['subscr_style_every'], + 'digest' => sprintf($lang['subscr_style_digest'], $stime_days), + 'list' => sprintf($lang['subscr_style_list'], $stime_days), + ); $form = new Doku_Form(array('id' => 'subscribe__form')); $form->startFieldset($lang['subscr_m_subscribe']); @@ -1486,7 +1567,7 @@ function tpl_subscribe() { * * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_flush(){ +function tpl_flush() { ob_flush(); flush(); } @@ -1498,18 +1579,22 @@ function tpl_flush(){ * file, otherwise it is assumed to be relative to the current template * * @param array $search locations to look at - * @param bool $abs if to use absolute URL - * @param arrayref $imginfo filled with getimagesize() + * @param bool $abs if to use absolute URL + * @param array &$imginfo filled with getimagesize() + * @return string * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ +function tpl_getMediaFile($search, $abs = false, &$imginfo = null) { + $img = ''; + $file = ''; + $ismedia = false; // loop through candidates until a match was found: - foreach($search as $img){ - if(substr($img,0,1) == ':'){ + foreach($search as $img) { + if(substr($img, 0, 1) == ':') { $file = mediaFN($img); $ismedia = true; - }else{ - $file = tpl_incdir().$img; + } else { + $file = tpl_incdir().$img; $ismedia = false; } @@ -1517,14 +1602,14 @@ function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ } // fetch image data if requested - if(!is_null($imginfo)){ + if(!is_null($imginfo)) { $imginfo = getimagesize($file); } // build URL - if($ismedia){ + if($ismedia) { $url = ml($img, '', true, '', $abs); - }else{ + } else { $url = tpl_basedir().$img; if($abs) $url = DOKU_URL.substr($url, strlen(DOKU_REL)); } @@ -1548,13 +1633,13 @@ function tpl_getMediaFile($search, $abs=false, &$imginfo=null){ * @author Anika Henke <anika@selfthinker.org> * @author Andreas Gohr <andi@splitbrain.org> */ -function tpl_includeFile($file){ +function tpl_includeFile($file) { global $config_cascade; - foreach (array('protected','local','default') as $config_group) { - if (empty($config_cascade['main'][$config_group])) continue; - foreach ($config_cascade['main'][$config_group] as $conf_file) { + foreach(array('protected', 'local', 'default') as $config_group) { + if(empty($config_cascade['main'][$config_group])) continue; + foreach($config_cascade['main'][$config_group] as $conf_file) { $dir = dirname($conf_file); - if(file_exists("$dir/$file")){ + if(file_exists("$dir/$file")) { include("$dir/$file"); return; } @@ -1563,7 +1648,7 @@ function tpl_includeFile($file){ // still here? try the template dir $file = tpl_incdir().$file; - if(file_exists($file)){ + if(file_exists($file)) { include($file); } } @@ -1575,7 +1660,7 @@ function tpl_includeFile($file){ * @deprecated Use tpl_getMediaFile() instead * @author Anika Henke <anika@selfthinker.org> */ -function tpl_getFavicon($abs=false, $fileName='favicon.ico') { +function tpl_getFavicon($abs = false, $fileName = 'favicon.ico') { $look = array(":wiki:$fileName", ":$fileName", "images/$fileName"); return tpl_getMediaFile($look, $abs); } @@ -1583,21 +1668,22 @@ function tpl_getFavicon($abs=false, $fileName='favicon.ico') { /** * Returns <link> tag for various icon types (favicon|mobile|generic) * - * @param array $types - list of icon types to display (favicon|mobile|generic) * @author Anika Henke <anika@selfthinker.org> + * @param array $types - list of icon types to display (favicon|mobile|generic) + * @return string */ -function tpl_favicon($types=array('favicon')) { +function tpl_favicon($types = array('favicon')) { $return = ''; - foreach ($types as $type) { + foreach($types as $type) { switch($type) { case 'favicon': $look = array(':wiki:favicon.ico', ':favicon.ico', 'images/favicon.ico'); $return .= '<link rel="shortcut icon" href="'.tpl_getMediaFile($look).'" />'.NL; break; case 'mobile': - $look = array(':wiki:apple-touch-icon.png', ':apple-touch-icon.png', 'images/apple-touch-icon.ico'); + $look = array(':wiki:apple-touch-icon.png', ':apple-touch-icon.png', 'images/apple-touch-icon.png'); $return .= '<link rel="apple-touch-icon" href="'.tpl_getMediaFile($look).'" />'.NL; break; case 'generic': @@ -1617,14 +1703,15 @@ function tpl_favicon($types=array('favicon')) { * @author Kate Arzamastseva <pshns@ukr.net> */ function tpl_media() { - global $DEL, $NS, $IMG, $AUTH, $JUMPTO, $REV, $lang, $fullscreen, $conf; + global $NS, $IMG, $JUMPTO, $REV, $lang, $fullscreen, $INPUT; $fullscreen = true; require_once DOKU_INC.'lib/exe/mediamanager.php'; - if ($_REQUEST['image']) $image = cleanID($_REQUEST['image']); - if (isset($IMG)) $image = $IMG; - if (isset($JUMPTO)) $image = $JUMPTO; - if (isset($REV) && !$JUMPTO) $rev = $REV; + $rev = ''; + $image = cleanID($INPUT->str('image')); + if(isset($IMG)) $image = $IMG; + if(isset($JUMPTO)) $image = $JUMPTO; + if(isset($REV) && !$JUMPTO) $rev = $REV; echo '<div id="mediamanager__page">'.NL; echo '<h1>'.$lang['btn_media'].'</h1>'.NL; diff --git a/inc/utf8.php b/inc/utf8.php index 227fa830a..6fab8502c 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -91,15 +91,16 @@ if(!function_exists('utf8_basename')){ * @return string */ function utf8_basename($path, $suffix=''){ + $path = trim($path,'\\/'); $rpos = max(strrpos($path, '/'), strrpos($path, '\\')); - $file = substr($path, $rpos+1); + if($rpos) $path = substr($path, $rpos+1); $suflen = strlen($suffix); - if($suflen && (substr($file, -$suflen) == $suffix)){ - $file = substr($file, 0, -$suflen); + if($suflen && (substr($path, -$suflen) == $suffix)){ + $path = substr($path, 0, -$suflen); } - return $file; + return $path; } } diff --git a/install.php b/install.php index 017512533..d954e20ed 100644 --- a/install.php +++ b/install.php @@ -24,7 +24,7 @@ if (get_magic_quotes_gpc() && !defined('MAGIC_QUOTES_STRIPPED')) { @ini_set('magic_quotes_gpc', 0); define('MAGIC_QUOTES_STRIPPED',1); } -@set_magic_quotes_runtime(0); +if (function_exists('set_magic_quotes_runtime')) @set_magic_quotes_runtime(0); @ini_set('magic_quotes_sybase',0); // language strings @@ -54,7 +54,7 @@ $dokuwiki_hash = array( '2011-05-25' => '4241865472edb6fa14a1227721008072', '2011-11-10' => 'b46ff19a7587966ac4df61cbab1b8b31', '2012-01-25' => '72c083c73608fc43c586901fd5dabb74', - 'devel' => 'eb0b3fc90056fbc12bac6f49f7764df3' + '2012-09-10' => 'eb0b3fc90056fbc12bac6f49f7764df3' ); diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 945091f34..9989269cf 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -14,10 +14,10 @@ session_write_close(); header('Content-Type: text/html; charset=utf-8'); //call the requested function -if(isset($_POST['call'])){ - $call = $_POST['call']; -}else if(isset($_GET['call'])){ - $call = $_GET['call']; +if($INPUT->post->has('call')){ + $call = $INPUT->post->str('call'); +}else if($INPUT->get->has('call')){ + $call = $INPUT->get->str('call'); }else{ exit; } @@ -43,9 +43,10 @@ if(function_exists($callfn)){ function ajax_qsearch(){ global $conf; global $lang; + global $INPUT; - $query = $_POST['q']; - if(empty($query)) $query = $_GET['q']; + $query = $INPUT->post->str('q'); + if(empty($query)) $query = $INPUT->get->str('q'); if(empty($query)) return; $query = urldecode($query); @@ -81,9 +82,10 @@ function ajax_qsearch(){ function ajax_suggestions() { global $conf; global $lang; + global $INPUT; - $query = cleanID($_POST['q']); - if(empty($query)) $query = cleanID($_GET['q']); + $query = cleanID($INPUT->post->str('q')); + if(empty($query)) $query = cleanID($INPUT->get->str('q')); if(empty($query)) return; $data = array(); @@ -121,8 +123,9 @@ function ajax_lock(){ global $lang; global $ID; global $INFO; + global $INPUT; - $ID = cleanID($_POST['id']); + $ID = cleanID($INPUT->post->str('id')); if(empty($ID)) return; $INFO = pageinfo(); @@ -137,15 +140,15 @@ function ajax_lock(){ echo 1; } - if($conf['usedraft'] && $_POST['wikitext']){ + if($conf['usedraft'] && $INPUT->post->str('wikitext')){ $client = $_SERVER['REMOTE_USER']; if(!$client) $client = clientIP(true); $draft = array('id' => $ID, - 'prefix' => substr($_POST['prefix'], 0, -1), - 'text' => $_POST['wikitext'], - 'suffix' => $_POST['suffix'], - 'date' => (int) $_POST['date'], + 'prefix' => substr($INPUT->post->str('prefix'), 0, -1), + 'text' => $INPUT->post->str('wikitext'), + 'suffix' => $INPUT->post->str('suffix'), + 'date' => $INPUT->post->int('date'), 'client' => $client, ); $cname = getCacheName($draft['client'].$ID,'.draft'); @@ -162,7 +165,8 @@ function ajax_lock(){ * @author Andreas Gohr <andi@splitbrain.org> */ function ajax_draftdel(){ - $id = cleanID($_REQUEST['id']); + global $INPUT; + $id = cleanID($INPUT->str('id')); if(empty($id)) return; $client = $_SERVER['REMOTE_USER']; @@ -179,9 +183,10 @@ function ajax_draftdel(){ */ function ajax_medians(){ global $conf; + global $INPUT; // wanted namespace - $ns = cleanID($_POST['ns']); + $ns = cleanID($INPUT->post->str('ns')); $dir = utf8_encodeFN(str_replace(':','/',$ns)); $lvl = count(explode(':',$ns)); @@ -202,9 +207,10 @@ function ajax_medians(){ function ajax_medialist(){ global $conf; global $NS; + global $INPUT; - $NS = cleanID($_POST['ns']); - if ($_POST['do'] == 'media') { + $NS = cleanID($INPUT->post->str('ns')); + if ($INPUT->post->str('do') == 'media') { tpl_mediaFileList(); } else { tpl_mediaContent(true); @@ -218,11 +224,11 @@ function ajax_medialist(){ * @author Kate Arzamastseva <pshns@ukr.net> */ function ajax_mediadetails(){ - global $DEL, $NS, $IMG, $AUTH, $JUMPTO, $REV, $lang, $fullscreen, $conf; + global $DEL, $NS, $IMG, $AUTH, $JUMPTO, $REV, $lang, $fullscreen, $conf, $INPUT; $fullscreen = true; require_once(DOKU_INC.'lib/exe/mediamanager.php'); - if ($_REQUEST['image']) $image = cleanID($_REQUEST['image']); + if ($INPUT->has('image')) $image = cleanID($INPUT->str('image')); if (isset($IMG)) $image = $IMG; if (isset($JUMPTO)) $image = $JUMPTO; if (isset($REV) && !$JUMPTO) $rev = $REV; @@ -237,25 +243,26 @@ function ajax_mediadetails(){ */ function ajax_mediadiff(){ global $NS; + global $INPUT; - if ($_REQUEST['image']) $image = cleanID($_REQUEST['image']); - $NS = $_POST['ns']; - $auth = auth_quickaclcheck("$ns:*"); + if ($INPUT->has('image')) $image = cleanID($INPUT->str('image')); + $NS = $INPUT->post->str('ns'); + $auth = auth_quickaclcheck("$NS:*"); media_diff($image, $NS, $auth, true); } function ajax_mediaupload(){ - global $NS, $MSG; + global $NS, $MSG, $INPUT; if ($_FILES['qqfile']['tmp_name']) { - $id = ((empty($_POST['mediaid'])) ? $_FILES['qqfile']['name'] : $_POST['mediaid']); - } elseif (isset($_GET['qqfile'])) { - $id = $_GET['qqfile']; + $id = $INPUT->post->str('mediaid', $_FILES['qqfile']['name']); + } elseif ($INPUT->get->has('qqfile')) { + $id = $INPUT->get->str('qqfile'); } $id = cleanID($id); - $NS = $_REQUEST['ns']; + $NS = $INPUT->str('ns'); $ns = $NS.':'.getNS($id); $AUTH = auth_quickaclcheck("$ns:*"); @@ -264,7 +271,7 @@ function ajax_mediaupload(){ if ($_FILES['qqfile']['error']) unset($_FILES['qqfile']); if ($_FILES['qqfile']['tmp_name']) $res = media_upload($NS, $AUTH, $_FILES['qqfile']); - if (isset($_GET['qqfile'])) $res = media_upload_xhr($NS, $AUTH); + if ($INPUT->get->has('qqfile')) $res = media_upload_xhr($NS, $AUTH); if ($res) $result = array('success' => true, 'link' => media_managerURL(array('ns' => $ns, 'image' => $NS.':'.$id), '&'), @@ -308,9 +315,10 @@ function dir_delete($path) { */ function ajax_index(){ global $conf; + global $INPUT; // wanted namespace - $ns = cleanID($_POST['idx']); + $ns = cleanID($INPUT->post->str('idx')); $dir = utf8_encodeFN(str_replace(':','/',$ns)); $lvl = count(explode(':',$ns)); @@ -331,8 +339,9 @@ function ajax_index(){ function ajax_linkwiz(){ global $conf; global $lang; + global $INPUT; - $q = ltrim(trim($_POST['q']),':'); + $q = ltrim(trim($INPUT->post->str('q')),':'); $id = noNS($q); $ns = getNS($q); diff --git a/lib/exe/css.php b/lib/exe/css.php index 8de3db11b..1e662c64a 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -49,44 +49,51 @@ function css_out(){ $tpldir = tpl_basedir(); } + // used style.ini file + $styleini = css_styleini($tplinc); + // The generated script depends on some dynamic options $cache = new cache('styles'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].DOKU_BASE.$tplinc.$type,'.css'); // load template styles $tplstyles = array(); - if(@file_exists($tplinc.'style.ini')){ - $ini = parse_ini_file($tplinc.'style.ini',true); - foreach($ini['stylesheets'] as $file => $mode){ + if ($styleini) { + foreach($styleini['stylesheets'] as $file => $mode) { $tplstyles[$mode][$tplinc.$file] = $tpldir; } } - // start output buffering - ob_start(); + // if old 'default' userstyle setting exists, make it 'screen' userstyle for backwards compatibility + if (isset($config_cascade['userstyle']['default'])) { + $config_cascade['userstyle']['screen'] = $config_cascade['userstyle']['default']; + } + + // Array of needed files and their web locations, the latter ones + // are needed to fix relative paths in the stylesheets + $files = array(); + + $cache_files = getConfigFiles('main'); + $cache_files[] = $tplinc.'style.ini'; + $cache_files[] = $tplinc.'style.local.ini'; + $cache_files[] = __FILE__; foreach($mediatypes as $mediatype) { - // Array of needed files and their web locations, the latter ones - // are needed to fix relative paths in the stylesheets - $files = array(); + $files[$mediatype] = array(); // load core styles - $files[DOKU_INC.'lib/styles/'.$mediatype.'.css'] = DOKU_BASE.'lib/styles/'; + $files[$mediatype][DOKU_INC.'lib/styles/'.$mediatype.'.css'] = DOKU_BASE.'lib/styles/'; // load jQuery-UI theme if ($mediatype == 'screen') { - $files[DOKU_INC.'lib/scripts/jquery/jquery-ui-theme/smoothness.css'] = DOKU_BASE.'lib/scripts/jquery/jquery-ui-theme/'; + $files[$mediatype][DOKU_INC.'lib/scripts/jquery/jquery-ui-theme/smoothness.css'] = DOKU_BASE.'lib/scripts/jquery/jquery-ui-theme/'; } // load plugin styles - $files = array_merge($files, css_pluginstyles($mediatype)); + $files[$mediatype] = array_merge($files[$mediatype], css_pluginstyles($mediatype)); // load template styles if (isset($tplstyles[$mediatype])) { - $files = array_merge($files, $tplstyles[$mediatype]); - } - // if old 'default' userstyle setting exists, make it 'screen' userstyle for backwards compatibility - if (isset($config_cascade['userstyle']['default'])) { - $config_cascade['userstyle']['screen'] = $config_cascade['userstyle']['default']; + $files[$mediatype] = array_merge($files[$mediatype], $tplstyles[$mediatype]); } // load user styles if(isset($config_cascade['userstyle'][$mediatype])){ - $files[$config_cascade['userstyle'][$mediatype]] = DOKU_BASE; + $files[$mediatype][$config_cascade['userstyle'][$mediatype]] = DOKU_BASE; } // load rtl styles // note: this adds the rtl styles only to the 'screen' media type @@ -94,30 +101,36 @@ function css_out(){ // please use "[dir=rtl]" in any css file in all, screen or print mode instead if ($mediatype=='screen') { if($lang['direction'] == 'rtl'){ - if (isset($tplstyles['rtl'])) $files = array_merge($files, $tplstyles['rtl']); + if (isset($tplstyles['rtl'])) $files[$mediatype] = array_merge($files[$mediatype], $tplstyles['rtl']); + if (isset($config_cascade['userstyle']['rtl'])) $files[$mediatype][$config_cascade['userstyle']['rtl']] = DOKU_BASE; } } - $cache_files = array_merge(array_keys($files), getConfigFiles('main')); - $cache_files[] = $tplinc.'style.ini'; - $cache_files[] = __FILE__; + $cache_files = array_merge($cache_files, array_keys($files[$mediatype])); + } + + // check cache age & handle conditional request + // This may exit if a cache can be used + http_cached($cache->cache, + $cache->useCache(array('files' => $cache_files))); - // check cache age & handle conditional request - // This may exit if a cache can be used - http_cached($cache->cache, - $cache->useCache(array('files' => $cache_files))); + // start output buffering + ob_start(); - // build the stylesheet + // build the stylesheet + foreach ($mediatypes as $mediatype) { // print the default classes for interwiki links and file downloads if ($mediatype == 'screen') { + print '@media screen {'; css_interwiki(); css_filetypes(); + print '}'; } // load files $css_content = ''; - foreach($files as $file => $location){ + foreach($files[$mediatype] as $file => $location){ $css_content .= css_loadfile($file, $location); } switch ($mediatype) { @@ -165,14 +178,37 @@ function css_out(){ * @author Andreas Gohr <andi@splitbrain.org> */ function css_applystyle($css,$tplinc){ - if(@file_exists($tplinc.'style.ini')){ - $ini = parse_ini_file($tplinc.'style.ini',true); - $css = strtr($css,$ini['replacements']); + $styleini = css_styleini($tplinc); + + if($styleini){ + $css = strtr($css,$styleini['replacements']); } return $css; } /** + * Get contents of merged style.ini and style.local.ini as an array. + * + * @author Anika Henke <anika@selfthinker.org> + */ +function css_styleini($tplinc) { + $styleini = array(); + + foreach (array($tplinc.'style.ini', $tplinc.'style.local.ini') as $ini) { + $tmp = (@file_exists($ini)) ? parse_ini_file($ini, true) : array(); + + foreach($tmp as $key => $value) { + if(array_key_exists($key, $styleini) && is_array($value)) { + $styleini[$key] = array_merge($styleini[$key], $tmp[$key]); + } else { + $styleini[$key] = $value; + } + } + } + return $styleini; +} + +/** * Prints classes for interwikilinks * * Interwiki links have two classes: 'interwiki' and 'iw_$name>' where diff --git a/lib/exe/detail.php b/lib/exe/detail.php index ea46bc037..e597db3a2 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -2,6 +2,7 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); define('DOKU_MEDIADETAIL',1); require_once(DOKU_INC.'inc/init.php'); +trigger_event('DETAIL_STARTED', $tmp=array()); //close session session_write_close(); diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 150812b55..52e7ebe1e 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -152,12 +152,12 @@ function sendFile($file,$mime,$dl,$cache){ * @returns array(STATUS, STATUSMESSAGE) */ function checkFileStatus(&$media, &$file, $rev='') { - global $MIME, $EXT, $CACHE; + global $MIME, $EXT, $CACHE, $INPUT; //media to local file if(preg_match('#^(https?)://#i',$media)){ //check hash - if(substr(md5(auth_cookiesalt().$media),0,6) != $_REQUEST['hash']){ + if(substr(md5(auth_cookiesalt().$media),0,6) !== $INPUT->str('hash')){ return array( 412, 'Precondition Failed'); } //handle external images diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index e149770c0..1ccede923 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -175,6 +175,7 @@ function sendDigest() { } $subscriptions = subscription_find($ID, array('style' => '(digest|list)', 'escaped' => true)); + /** @var auth_basic $auth */ global $auth; global $lang; global $conf; diff --git a/lib/exe/js.php b/lib/exe/js.php index f84c07709..42979eeed 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -102,8 +102,12 @@ function js_out(){ // load files foreach($files as $file){ + $ismin = (substr($file,-7) == '.min.js'); + echo "\n\n/* XXXXXXXXXX begin of ".str_replace(DOKU_INC, '', $file) ." XXXXXXXXXX */\n\n"; + if($ismin) echo "\n/* BEGIN NOCOMPRESS */\n"; js_load($file); + if($ismin) echo "\n/* END NOCOMPRESS */\n"; echo "\n\n/* XXXXXXXXXX end of " . str_replace(DOKU_INC, '', $file) . " XXXXXXXXXX */\n\n"; } @@ -262,7 +266,18 @@ function js_compress($s){ if($ch == '/' && $s{$i+1} == '*' && $s{$i+2} != '@'){ $endC = strpos($s,'*/',$i+2); if($endC === false) trigger_error('Found invalid /*..*/ comment', E_USER_ERROR); - $i = $endC + 2; + + // check if this is a NOCOMPRESS comment + if(substr($s, $i, $endC+2-$i) == '/* BEGIN NOCOMPRESS */'){ + $endNC = strpos($s, '/* END NOCOMPRESS */', $endC+2); + if($endNC === false) trigger_error('Found invalid NOCOMPRESS comment', E_USER_ERROR); + + // verbatim copy contents, trimming but putting it on its own line + $result .= "\n".trim(substr($s, $i + 22, $endNC - ($i + 22)))."\n"; // BEGIN comment = 22 chars + $i = $endNC + 20; // END comment = 20 chars + }else{ + $i = $endC + 2; + } continue; } @@ -286,10 +301,8 @@ function js_compress($s){ // now move forward and find the end of it $j = 1; while($s{$i+$j} != '/'){ - while( ($s{$i+$j} != '\\') && ($s{$i+$j} != '/')){ - $j = $j + 1; - } if($s{$i+$j} == '\\') $j = $j + 2; + else $j++; } $result .= substr($s,$i,$j+1); $i = $i + $j + 1; diff --git a/lib/tpl/dokuwiki/images/icons-license.txt b/lib/images/README index 7e12bbbd4..e2788b400 100644 --- a/lib/tpl/dokuwiki/images/icons-license.txt +++ b/lib/images/README @@ -1,4 +1,5 @@ -Icons for: sitetools.png, email.png, external-link.png and unc.png + +Icons: email.png, external-link.png, unc.png Icon set: Dusseldorf Designer: pc.de License: Creative Commons Attribution License [http://creativecommons.org/licenses/by/3.0/] diff --git a/lib/images/_deprecated.txt b/lib/images/_deprecated.txt new file mode 100644 index 000000000..bccea2049 --- /dev/null +++ b/lib/images/_deprecated.txt @@ -0,0 +1,12 @@ + +== @deprecated 2012-10-06 == + +arrow_down.gif +arrow_up.gif +at.gif +close.png +del.png +edit.gif +list-minus.gif +list-plus.gif +pencil.png diff --git a/lib/images/arrow_down.gif b/lib/images/arrow_down.gif Binary files differnew file mode 100644 index 000000000..ff13b9585 --- /dev/null +++ b/lib/images/arrow_down.gif diff --git a/lib/images/arrow_up.gif b/lib/images/arrow_up.gif Binary files differnew file mode 100644 index 000000000..d491c18db --- /dev/null +++ b/lib/images/arrow_up.gif diff --git a/lib/images/at.gif b/lib/images/at.gif Binary files differnew file mode 100644 index 000000000..8bdf40d54 --- /dev/null +++ b/lib/images/at.gif diff --git a/lib/tpl/dokuwiki/images/bullet.png b/lib/images/bullet.png Binary files differindex 5e557b334..5e557b334 100644 --- a/lib/tpl/dokuwiki/images/bullet.png +++ b/lib/images/bullet.png diff --git a/lib/images/close.png b/lib/images/close.png Binary files differnew file mode 100644 index 000000000..4ccef0603 --- /dev/null +++ b/lib/images/close.png diff --git a/lib/tpl/dokuwiki/images/closed-rtl.png b/lib/images/closed-rtl.png Binary files differindex caa027e34..caa027e34 100644 --- a/lib/tpl/dokuwiki/images/closed-rtl.png +++ b/lib/images/closed-rtl.png diff --git a/lib/tpl/dokuwiki/images/closed.png b/lib/images/closed.png Binary files differindex e3bd0f9e9..e3bd0f9e9 100644 --- a/lib/tpl/dokuwiki/images/closed.png +++ b/lib/images/closed.png diff --git a/lib/images/del.png b/lib/images/del.png Binary files differnew file mode 100644 index 000000000..e59ded55f --- /dev/null +++ b/lib/images/del.png diff --git a/lib/images/edit.gif b/lib/images/edit.gif Binary files differnew file mode 100644 index 000000000..a2a23de7b --- /dev/null +++ b/lib/images/edit.gif diff --git a/lib/tpl/dokuwiki/images/email.png b/lib/images/email.png Binary files differindex d1d4a5fd5..d1d4a5fd5 100644 --- a/lib/tpl/dokuwiki/images/email.png +++ b/lib/images/email.png diff --git a/lib/tpl/dokuwiki/images/external-link.png b/lib/images/external-link.png Binary files differindex a4d5de17c..a4d5de17c 100644 --- a/lib/tpl/dokuwiki/images/external-link.png +++ b/lib/images/external-link.png diff --git a/lib/images/list-minus.gif b/lib/images/list-minus.gif Binary files differnew file mode 100644 index 000000000..36902f159 --- /dev/null +++ b/lib/images/list-minus.gif diff --git a/lib/images/list-plus.gif b/lib/images/list-plus.gif Binary files differnew file mode 100644 index 000000000..adc3fac8a --- /dev/null +++ b/lib/images/list-plus.gif diff --git a/lib/tpl/dokuwiki/images/open.png b/lib/images/open.png Binary files differindex 5f2d408c5..5f2d408c5 100644 --- a/lib/tpl/dokuwiki/images/open.png +++ b/lib/images/open.png diff --git a/lib/images/pencil.png b/lib/images/pencil.png Binary files differnew file mode 100644 index 000000000..78142b61e --- /dev/null +++ b/lib/images/pencil.png diff --git a/lib/tpl/dokuwiki/images/resizecol.png b/lib/images/resizecol.png Binary files differindex b5aeec004..b5aeec004 100644 --- a/lib/tpl/dokuwiki/images/resizecol.png +++ b/lib/images/resizecol.png diff --git a/lib/images/smileys/index.php b/lib/images/smileys/index.php new file mode 100644 index 000000000..9a2905b33 --- /dev/null +++ b/lib/images/smileys/index.php @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html lang="en" dir="ltr"> +<head> + <title>simleys</title> + + <style type="text/css"> + body { + background-color: #ccc; + font-family: Arial; + } + + .box { + width: 200px; + float:left; + padding: 0.5em; + margin: 0; + } + + .white { + background-color: #fff; + } + + .black { + background-color: #000; + } + </style> + +</head> +<body> + +<div class="white box"> +<?php +foreach (glob('*.gif') as $img) { + echo '<img src="'.$img.'" alt="'.$img.'" title="'.$img.'" /> '; +} +?> +</div> + +<div class="black box"> +<?php +foreach (glob('*.gif') as $img) { + echo '<img src="'.$img.'" alt="'.$img.'" title="'.$img.'" /> '; +} +?> +</div> + +</body> +</html> diff --git a/lib/tpl/dokuwiki/images/unc.png b/lib/images/unc.png Binary files differindex a552d6e6f..a552d6e6f 100644 --- a/lib/tpl/dokuwiki/images/unc.png +++ b/lib/images/unc.png diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index a0d2e430e..1197892f2 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -56,22 +56,23 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { global $ID; global $auth; global $config_cascade; + global $INPUT; // fresh 1:1 copy without replacements $AUTH_ACL = file($config_cascade['acl']['default']); // namespace given? - if($_REQUEST['ns'] == '*'){ + if($INPUT->str('ns') == '*'){ $this->ns = '*'; }else{ - $this->ns = cleanID($_REQUEST['ns']); + $this->ns = cleanID($INPUT->str('ns')); } - if ($_REQUEST['current_ns']) { - $this->current_item = array('id' => cleanID($_REQUEST['current_ns']), 'type' => 'd'); - } elseif ($_REQUEST['current_id']) { - $this->current_item = array('id' => cleanID($_REQUEST['current_id']), 'type' => 'f'); + if ($INPUT->str('current_ns')) { + $this->current_item = array('id' => cleanID($INPUT->str('current_ns')), 'type' => 'd'); + } elseif ($INPUT->str('current_id')) { + $this->current_item = array('id' => cleanID($INPUT->str('current_id')), 'type' => 'f'); } elseif ($this->ns) { $this->current_item = array('id' => $this->ns, 'type' => 'd'); } else { @@ -79,24 +80,25 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } // user or group choosen? - $who = trim($_REQUEST['acl_w']); - if($_REQUEST['acl_t'] == '__g__' && $who){ + $who = trim($INPUT->str('acl_w')); + if($INPUT->str('acl_t') == '__g__' && $who){ $this->who = '@'.ltrim($auth->cleanGroup($who),'@'); - }elseif($_REQUEST['acl_t'] == '__u__' && $who){ + }elseif($INPUT->str('acl_t') == '__u__' && $who){ $this->who = ltrim($who,'@'); if($this->who != '%USER%' && $this->who != '%GROUP%'){ #keep wildcard as is $this->who = $auth->cleanUser($this->who); } - }elseif($_REQUEST['acl_t'] && - $_REQUEST['acl_t'] != '__u__' && - $_REQUEST['acl_t'] != '__g__'){ - $this->who = $_REQUEST['acl_t']; + }elseif($INPUT->str('acl_t') && + $INPUT->str('acl_t') != '__u__' && + $INPUT->str('acl_t') != '__g__'){ + $this->who = $INPUT->str('acl_t'); }elseif($who){ $this->who = $who; } // handle modifications - if(isset($_REQUEST['cmd']) && checkSecurityToken()){ + if($INPUT->has('cmd') && checkSecurityToken()){ + $cmd = $INPUT->extract('cmd')->str('cmd'); // scope for modifications if($this->ns){ @@ -109,19 +111,21 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { $scope = $ID; } - if(isset($_REQUEST['cmd']['save']) && $scope && $this->who && isset($_REQUEST['acl'])){ + if($cmd == 'save' && $scope && $this->who && $INPUT->has('acl')){ // handle additions or single modifications $this->_acl_del($scope, $this->who); - $this->_acl_add($scope, $this->who, (int) $_REQUEST['acl']); - }elseif(isset($_REQUEST['cmd']['del']) && $scope && $this->who){ + $this->_acl_add($scope, $this->who, $INPUT->int('acl')); + }elseif($cmd == 'del' && $scope && $this->who){ // handle single deletions $this->_acl_del($scope, $this->who); - }elseif(isset($_REQUEST['cmd']['update'])){ + }elseif($cmd == 'update'){ + $acl = $INPUT->arr('acl'); + // handle update of the whole file - foreach((array) $_REQUEST['del'] as $where => $names){ + foreach($INPUT->arr('del') as $where => $names){ // remove all rules marked for deletion foreach($names as $who) - unset($_REQUEST['acl'][$where][$who]); + unset($acl[$where][$who]); } // prepare lines $lines = array(); @@ -134,7 +138,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } } // re-add all rules - foreach((array) $_REQUEST['acl'] as $where => $opt){ + foreach($acl as $where => $opt){ foreach($opt as $who => $perm){ if ($who[0]=='@') { if ($who!='@ALL') { @@ -191,7 +195,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo '</div>'.NL; echo '<div class="footnotes"><div class="fn">'.NL; - echo '<sup><a id="fn__1" class="fn_bot" name="fn__1" href="#fnt__1">1)</a></sup>'.NL; + echo '<sup><a id="fn__1" class="fn_bot" href="#fnt__1">1)</a></sup>'.NL; echo $this->getLang('p_include'); echo '</div></div>'; @@ -602,7 +606,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo '<tr>'; echo '<th>'.$this->getLang('where').'</th>'; echo '<th>'.$this->getLang('who').'</th>'; - echo '<th>'.$this->getLang('perm').'<sup><a id="fnt__1" class="fn_top" name="fnt__1" href="#fn__1">1)</a></sup></th>'; + echo '<th>'.$this->getLang('perm').'<sup><a id="fnt__1" class="fn_top" href="#fn__1">1)</a></sup></th>'; echo '<th>'.$lang['btn_delete'].'</th>'; echo '</tr>'; foreach($this->acl as $where => $set){ @@ -630,7 +634,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo $this->_html_checkboxes($perm,$ispage,'acl['.$where.']['.$who.']'); echo '</td>'; - echo '<td align="center">'; + echo '<td class="check">'; echo '<input type="checkbox" name="del['.hsc($where).'][]" value="'.hsc($who).'" />'; echo '</td>'; echo '</tr>'; @@ -638,7 +642,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } echo '<tr>'; - echo '<th align="right" colspan="4">'; + echo '<th class="action" colspan="4">'; echo '<input type="submit" value="'.$lang['btn_update'].'" name="cmd[update]" class="button" />'; echo '</th>'; echo '</tr>'; @@ -746,7 +750,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } //build code - $ret .= '<label for="pbox'.$label.'" title="'.$this->getLang('acl_perm'.$perm).'"'.$class.'>'; + $ret .= '<label for="pbox'.$label.'"'.$class.'>'; $ret .= '<input '.buildAttributes($atts).' /> '; $ret .= $this->getLang('acl_perm'.$perm); $ret .= '</label>'.NL; diff --git a/lib/plugins/acl/ajax.php b/lib/plugins/acl/ajax.php index 3a5d89c08..10e18af97 100644 --- a/lib/plugins/acl/ajax.php +++ b/lib/plugins/acl/ajax.php @@ -11,6 +11,10 @@ require_once(DOKU_INC.'inc/init.php'); //close session session_write_close(); +global $conf; +global $ID; +global $INPUT; + //fix for Opera XMLHttpRequests $postData = http_get_raw_post_data(); if(!count($_POST) && !empty($postData)){ @@ -22,20 +26,19 @@ if(!checkSecurityToken()) die('CRSF Attack'); $ID = getID(); +/** @var $acl admin_plugin_acl */ $acl = plugin_load('admin','acl'); $acl->handle(); -$ajax = $_REQUEST['ajax']; +$ajax = $INPUT->str('ajax'); header('Content-Type: text/html; charset=utf-8'); if($ajax == 'info'){ $acl->_html_info(); }elseif($ajax == 'tree'){ - global $conf; - global $ID; $dir = $conf['datadir']; - $ns = $_REQUEST['ns']; + $ns = $INPUT->str('ns'); if($ns == '*'){ $ns =''; } diff --git a/lib/plugins/acl/lang/es/lang.php b/lib/plugins/acl/lang/es/lang.php index ee50a7530..b60033e0f 100644 --- a/lib/plugins/acl/lang/es/lang.php +++ b/lib/plugins/acl/lang/es/lang.php @@ -22,6 +22,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; $lang['acl_group'] = 'Grupo'; diff --git a/lib/plugins/acl/lang/eu/lang.php b/lib/plugins/acl/lang/eu/lang.php index 99e70ad00..b9285ff36 100644 --- a/lib/plugins/acl/lang/eu/lang.php +++ b/lib/plugins/acl/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['admin_acl'] = 'Atzipen Kontrol Listaren Kudeaketa'; $lang['acl_group'] = 'Taldea'; diff --git a/lib/plugins/acl/lang/fa/lang.php b/lib/plugins/acl/lang/fa/lang.php index 8b7d72f51..7fe0f2c43 100644 --- a/lib/plugins/acl/lang/fa/lang.php +++ b/lib/plugins/acl/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['admin_acl'] = 'مدیریت کنترل دسترسیها'; $lang['acl_group'] = 'گروه'; diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index 7db8ae4ac..b1b3188be 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -23,6 +23,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; $lang['acl_group'] = 'Groupe'; diff --git a/lib/plugins/acl/lang/it/lang.php b/lib/plugins/acl/lang/it/lang.php index a55a2c0f3..07e86697d 100644 --- a/lib/plugins/acl/lang/it/lang.php +++ b/lib/plugins/acl/lang/it/lang.php @@ -14,6 +14,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['admin_acl'] = 'Gestione Lista Controllo Accessi (ACL)'; $lang['acl_group'] = 'Gruppo'; diff --git a/lib/plugins/acl/lang/kk/lang.php b/lib/plugins/acl/lang/kk/lang.php index dde5b9577..f21b93132 100644 --- a/lib/plugins/acl/lang/kk/lang.php +++ b/lib/plugins/acl/lang/kk/lang.php @@ -4,3 +4,7 @@ * * @author Nurgozha Kaliaskarov astana08@gmail.com */ +$lang['acl_group'] = 'Группа'; +$lang['acl_user'] = 'Пайдаланушы'; +$lang['page'] = 'Бет'; +$lang['acl_perm1'] = 'Оқу'; diff --git a/lib/plugins/acl/lang/ko/help.txt b/lib/plugins/acl/lang/ko/help.txt index 377636682..6a15b7a2e 100644 --- a/lib/plugins/acl/lang/ko/help.txt +++ b/lib/plugins/acl/lang/ko/help.txt @@ -1,4 +1,4 @@ -=== 도움말: === +=== 빠른 도움말: === 현재 문서에서 위키 이름공간과 문서에 대한 접근 권한을 추가하거나 삭제할 수 있습니다. diff --git a/lib/plugins/acl/lang/ko/lang.php b/lib/plugins/acl/lang/ko/lang.php index c8e1ce5cc..5d2662ef8 100644 --- a/lib/plugins/acl/lang/ko/lang.php +++ b/lib/plugins/acl/lang/ko/lang.php @@ -41,4 +41,4 @@ $lang['acl_perm4'] = '만들기'; $lang['acl_perm8'] = '올리기'; $lang['acl_perm16'] = '삭제'; $lang['acl_new'] = '새 항목 추가'; -$lang['acl_mod'] = '선택 항목 변경'; +$lang['acl_mod'] = '선택 항목 수정'; diff --git a/lib/plugins/acl/lang/nl/lang.php b/lib/plugins/acl/lang/nl/lang.php index cb0765505..567eb46dc 100644 --- a/lib/plugins/acl/lang/nl/lang.php +++ b/lib/plugins/acl/lang/nl/lang.php @@ -18,6 +18,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['admin_acl'] = 'Toegangsrechten'; $lang['acl_group'] = 'Groep'; diff --git a/lib/plugins/acl/lang/zh-tw/help.txt b/lib/plugins/acl/lang/zh-tw/help.txt index bc1bddb00..d5d031059 100644 --- a/lib/plugins/acl/lang/zh-tw/help.txt +++ b/lib/plugins/acl/lang/zh-tw/help.txt @@ -1,12 +1,11 @@ === 快速指南: === -你可以用這個頁面為維基中的命名空間或頁面增加或移除權限。 +你可以用這個頁面為維基中的分類空間或頁面增加或移除權限。 -左方面板顯示了所有命名空間和頁面。 +左方面板顯示了所有分類空間和頁面。 上方表格允許你觀看及修改選取的使用者或群組的權限。 下方表格顯示了目前所有的存取控制表 (ACL),你可以用它快速刪除或更改多項規則。 閱讀 [[doku>acl|official documentation on ACL]] 可以幫助你完整地了解 DokuWiki 存取控制的運作。 - diff --git a/lib/plugins/acl/lang/zh-tw/lang.php b/lib/plugins/acl/lang/zh-tw/lang.php index 085537864..ff115df18 100644 --- a/lib/plugins/acl/lang/zh-tw/lang.php +++ b/lib/plugins/acl/lang/zh-tw/lang.php @@ -11,25 +11,26 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin <danny0838@pchome.com.tw> * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['admin_acl'] = '管理存取控制表 (ACL)'; $lang['acl_group'] = '群組'; $lang['acl_user'] = '使用者'; $lang['acl_perms'] = '設定權限於'; $lang['page'] = '頁面'; -$lang['namespace'] = '命名空間'; +$lang['namespace'] = '分類空間'; $lang['btn_select'] = '選擇'; $lang['p_user_id'] = '使用者 <b class="acluser">%s</b> 目前在頁面 <b class="aclpage">%s</b> 擁有以下權限:<i>%s</i>。'; -$lang['p_user_ns'] = '使用者 <b class=\"acluser\">%s</b> 目前在命名空間 <b class=\"aclns\">%s</b> 擁有以下權限:<i>%s</i>。'; +$lang['p_user_ns'] = '使用者 <b class=\"acluser\">%s</b> 目前在分類空間 <b class=\"aclns\">%s</b> 擁有以下權限:<i>%s</i>。'; $lang['p_group_id'] = '群組 <b class="aclgroup">%s</b> 的成員目前在頁面 <b class="aclpage">%s</b> 擁有以下權限:<i>%s</i>。'; -$lang['p_group_ns'] = '群組 <b class=\"aclgroup\">%s</b> 的成員目前在命名空間 <b class=\"aclns\">%s</b> 擁有以下權限:<i>%s</i>。'; +$lang['p_group_ns'] = '群組 <b class=\"aclgroup\">%s</b> 的成員目前在分類空間 <b class=\"aclns\">%s</b> 擁有以下權限:<i>%s</i>。'; $lang['p_choose_id'] = '請在上方表格<b>輸入使用者或群組</b>以檢視或編輯頁面 <b class="aclpage">%s</b> 的權限設定。'; -$lang['p_choose_ns'] = '請在上方表格<b>輸入使用者或群組</b>以檢視或編輯命名空間 <b class=\"aclns\">%s</b> 的權限設定。'; -$lang['p_inherited'] = '注意:這些權限並未明確指定,而是從群組或上層的命名空間繼承而來。'; +$lang['p_choose_ns'] = '請在上方表格<b>輸入使用者或群組</b>以檢視或編輯分類空間 <b class=\"aclns\">%s</b> 的權限設定。'; +$lang['p_inherited'] = '注意:這些權限並未明確指定,而是從群組或上層的分類空間繼承而來。'; $lang['p_isadmin'] = '注意:選取的群組或使用者擁有完整權限,因為它被設定為超級使用者。'; -$lang['p_include'] = '較高的權限亦包含了較低的權限。新增、上傳與刪除權限只能設定在命名空間,不能設定在頁面。'; +$lang['p_include'] = '較高的權限亦包含了較低的權限。新增、上傳與刪除權限只能設定在分類空間,不能設定在頁面。'; $lang['current'] = '目前的存取控制規則'; -$lang['where'] = '頁面/命名空間'; +$lang['where'] = '頁面/分類空間'; $lang['who'] = '使用者/群組'; $lang['perm'] = '權限'; $lang['acl_perm0'] = '無'; diff --git a/lib/plugins/acl/plugin.info.txt b/lib/plugins/acl/plugin.info.txt index f108a2390..42babd71c 100644 --- a/lib/plugins/acl/plugin.info.txt +++ b/lib/plugins/acl/plugin.info.txt @@ -1,6 +1,7 @@ +base acl author Andreas Gohr email andi@splitbrain.org -date 2011-04-16 +date 2012-09-06 name ACL Manager desc Manage Page Access Control Lists url http://dokuwiki.org/plugin:acl diff --git a/lib/plugins/acl/style.css b/lib/plugins/acl/style.css index 2eee4f41c..f4277c341 100644 --- a/lib/plugins/acl/style.css +++ b/lib/plugins/acl/style.css @@ -67,6 +67,14 @@ div#acl_manager table.inline { margin: 0; } +#acl_manager table .check { + text-align: center; +} + +#acl_manager table .action { + text-align: right; +} + div#acl_manager .aclgroup { background: transparent url(pix/group.png) 0px 1px no-repeat; padding: 1px 0px 1px 18px; @@ -74,6 +82,7 @@ div#acl_manager .aclgroup { [dir=rtl] div#acl_manager .aclgroup { background: transparent url(pix/group.png) right 1px no-repeat; padding: 1px 18px 1px 0px; + display: inline-block; /* needed for IE7 */ } div#acl_manager .acluser { @@ -83,6 +92,7 @@ div#acl_manager .acluser { [dir=rtl] div#acl_manager .acluser { background: transparent url(pix/user.png) right 1px no-repeat; padding: 1px 18px 1px 0px; + display: inline-block; /* needed for IE7 */ } div#acl_manager .aclpage { @@ -92,6 +102,7 @@ div#acl_manager .aclpage { [dir=rtl] div#acl_manager .aclpage { background: transparent url(pix/page.png) right 1px no-repeat; padding: 1px 18px 1px 0px; + display: inline-block; /* needed for IE7 */ } div#acl_manager .aclns { @@ -101,6 +112,7 @@ div#acl_manager .aclns { [dir=rtl] div#acl_manager .aclns { background: transparent url(pix/ns.png) right 1px no-repeat; padding: 1px 18px 1px 0px; + display: inline-block; /* needed for IE7 */ } div#acl_manager label.disabled { diff --git a/lib/plugins/action.php b/lib/plugins/action.php index 885bd7c96..a2ad969d7 100644 --- a/lib/plugins/action.php +++ b/lib/plugins/action.php @@ -17,7 +17,7 @@ class DokuWiki_Action_Plugin extends DokuWiki_Plugin { /** * Registers a callback function for a given event */ - function register($controller) { + function register(Doku_Event_Handler $controller) { trigger_error('register() not implemented in '.get_class($this), E_USER_WARNING); } } diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index c5f7ee532..0d314d2e6 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -38,10 +38,10 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { * handle user request */ function handle() { - global $ID; + global $ID, $INPUT; if (!$this->_restore_session()) return $this->_close_session(); - if (!isset($_REQUEST['save']) || ($_REQUEST['save'] != 1)) return $this->_close_session(); + if ($INPUT->int('save') != 1) return $this->_close_session(); if (!checkSecurityToken()) return $this->_close_session(); if (is_null($this->_config)) { $this->_config = new configuration($this->_file); } @@ -49,7 +49,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { // don't go any further if the configuration is locked if ($this->_config->_locked) return $this->_close_session(); - $this->_input = $_REQUEST['config']; + $this->_input = $INPUT->arr('config'); while (list($key) = each($this->_config->setting)) { $input = isset($this->_input[$key]) ? $this->_input[$key] : NULL; @@ -351,7 +351,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { } function _print_h1($id, $text) { - ptln('<h1><a name="'.$id.'" id="'.$id.'">'.$text.'</a></h1>'); + ptln('<h1 id="'.$id.'">'.$text.'</h1>'); } diff --git a/lib/plugins/config/lang/cs/lang.php b/lib/plugins/config/lang/cs/lang.php index 091604aea..d2ec5035a 100644 --- a/lib/plugins/config/lang/cs/lang.php +++ b/lib/plugins/config/lang/cs/lang.php @@ -43,26 +43,27 @@ $lang['_template_sufix'] = 'Nastavení šablon'; $lang['_msg_setting_undefined'] = 'Chybí metadata položky.'; $lang['_msg_setting_no_class'] = 'Chybí třída položky.'; $lang['_msg_setting_no_default'] = 'Chybí výchozí hodnota položky.'; -$lang['fmode'] = 'Přístupová práva pro vytváření souborů'; -$lang['dmode'] = 'Přístupová práva pro vytváření adresářů'; +$lang['title'] = 'Název celé wiki'; +$lang['start'] = 'Název úvodní stránky'; $lang['lang'] = 'Jazyk'; +$lang['template'] = 'Šablona'; +$lang['license'] = 'Pod jakou licencí má být tento obsah publikován?'; +$lang['savedir'] = 'Adresář pro ukládání dat'; $lang['basedir'] = 'Kořenový adresář (např. <code>/dokuwiki/</code>). Pro autodetekci nechte prázdné.'; $lang['baseurl'] = 'Kořenové URL (např. <code>http://www.yourserver.com</code>). Pro autodetekci nechte prázdné.'; -$lang['savedir'] = 'Adresář pro ukládání dat'; $lang['cookiedir'] = 'Cesta pro cookie. Není-li vyplněno, použije se kořenové URL.'; -$lang['start'] = 'Název úvodní stránky'; -$lang['title'] = 'Název celé wiki'; -$lang['template'] = 'Šablona'; -$lang['license'] = 'Pod jakou licencí má být tento obsah publikován?'; -$lang['fullpath'] = 'Ukazovat plnou cestu ke stránkám v patičce'; +$lang['dmode'] = 'Přístupová práva pro vytváření adresářů'; +$lang['fmode'] = 'Přístupová práva pro vytváření souborů'; +$lang['allowdebug'] = 'Povolit debugování. <b>Vypněte, pokud to nepotřebujete!</b>'; $lang['recent'] = 'Nedávné změny'; +$lang['recent_days'] = 'Jak staré nedávných změny uchovávat (ve dnech)'; $lang['breadcrumbs'] = 'Počet odkazů na navštívené stránky'; $lang['youarehere'] = 'Hierarchická "drobečková" navigace'; +$lang['fullpath'] = 'Ukazovat plnou cestu ke stránkám v patičce'; $lang['typography'] = 'Provádět typografické nahrazování'; -$lang['htmlok'] = 'Povolit vložené HTML'; -$lang['phpok'] = 'Povolit vložené PHP'; $lang['dformat'] = 'Formát data (viz PHP funkci <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Podpis'; +$lang['showuseras'] = 'Co se má přesně zobrazit, když se ukazuje uživatel, který naposledy editoval stránku'; $lang['toptoclevel'] = 'Nejvyšší úroveň, kterou začít automaticky generovaný obsah'; $lang['tocminheads'] = 'Nejnižší počet hlavních nadpisů, aby se vygeneroval obsah'; $lang['maxtoclevel'] = 'Maximální počet úrovní v automaticky generovaném obsahu'; @@ -70,15 +71,13 @@ $lang['maxseclevel'] = 'Nejnižší úroveň pro editaci i po sekcích $lang['camelcase'] = 'Používat CamelCase v odkazech'; $lang['deaccent'] = 'Čistit názvy stránek'; $lang['useheading'] = 'Používat první nadpis jako název stránky'; -$lang['refcheck'] = 'Kontrolovat odkazy na média (před vymazáním)'; -$lang['refshow'] = 'Počet zobrazených odkazů na média'; -$lang['allowdebug'] = 'Povolit debugování. <b>Vypněte, pokud to nepotřebujete!</b>'; -$lang['usewordblock'] = 'Blokovat spam za použití seznamu známých spamových slov'; -$lang['indexdelay'] = 'Časová prodleva před indexací (v sekundách)'; -$lang['relnofollow'] = 'Používat rel="nofollow" na externí odkazy'; -$lang['mailguard'] = 'Metoda "zamaskování" emailových adres'; -$lang['iexssprotect'] = 'Zkontrolovat nahrané soubory vůči možnému škodlivému JavaScriptu či HTML'; -$lang['showuseras'] = 'Co se má přesně zobrazit, když se ukazuje uživatel, který naposledy editoval stránku'; +$lang['sneaky_index'] = 'Ve výchozím nastavení DokuWiki zobrazuje v indexu všechny +jmenné prostory. Zapnutím této volby se skryjí ty jmenné prostory, +k nimž uživatel nemá právo pro čtení, což může ale způsobit, že +vnořené jmenné prostory, k nimž právo má, budou přesto skryty. +To může mít za následek, že index bude při některých +nastaveních ACL nepoužitelný.'; +$lang['hidepages'] = 'Skrýt stránky odpovídající vzoru (regulární výrazy)'; $lang['useacl'] = 'Používat přístupová práva (ACL)'; $lang['autopasswd'] = 'Generovat hesla automaticky'; $lang['authtype'] = 'Metoda autentizace'; @@ -87,63 +86,65 @@ $lang['defaultgroup'] = 'Výchozí skupina'; $lang['superuser'] = 'Superuživatel - skupina nebo uživatel s plnými právy pro přístup ke všem stránkách bez ohledu na nastavení ACL'; $lang['manager'] = 'Manažer - skupina nebo uživatel s přístupem k některým správcovským funkcím'; $lang['profileconfirm'] = 'Potvrdit změny v profilu zadáním hesla'; +$lang['rememberme'] = 'Povolit trvaté přihlašovací cookies (zapamatuj si mě)'; $lang['disableactions'] = 'Vypnout DokuWiki akce'; $lang['disableactions_check'] = 'Zkontrolovat'; $lang['disableactions_subscription'] = 'Přihlásit se/Odhlásit se ze seznamu pro odběr změn'; $lang['disableactions_wikicode'] = 'Prohlížet zdrojové kódy/Export wiki textu'; $lang['disableactions_other'] = 'Další akce (oddělené čárkou)'; -$lang['sneaky_index'] = 'Ve výchozím nastavení DokuWiki zobrazuje v indexu všechny -jmenné prostory. Zapnutím této volby se skryjí ty jmenné prostory, -k nimž uživatel nemá právo pro čtení, což může ale způsobit, že -vnořené jmenné prostory, k nimž právo má, budou přesto skryty. -To může mít za následek, že index bude při některých -nastaveních ACL nepoužitelný.'; $lang['auth_security_timeout'] = 'Časový limit pro autentikaci (v sekundách)'; $lang['securecookie'] = 'Má prohlížeč posílat cookies nastavené přes HTTPS opět jen přes HTTPS? Vypněte tuto volbu, pokud chcete, aby bylo pomocí SSL zabezpečeno pouze přihlašování do wiki, ale obsah budete prohlížet nezabezpečeně.'; +$lang['usewordblock'] = 'Blokovat spam za použití seznamu známých spamových slov'; +$lang['relnofollow'] = 'Používat rel="nofollow" na externí odkazy'; +$lang['indexdelay'] = 'Časová prodleva před indexací (v sekundách)'; +$lang['mailguard'] = 'Metoda "zamaskování" emailových adres'; +$lang['iexssprotect'] = 'Zkontrolovat nahrané soubory vůči možnému škodlivému JavaScriptu či HTML'; +$lang['usedraft'] = 'Během editace ukládat koncept automaticky'; +$lang['htmlok'] = 'Povolit vložené HTML'; +$lang['phpok'] = 'Povolit vložené PHP'; +$lang['locktime'] = 'Maximální životnost zámkových souborů (v sekundách)'; +$lang['cachetime'] = 'Maximální životnost cache (v sekundách)'; +$lang['target____wiki'] = 'Cílové okno pro interní odkazy'; +$lang['target____interwiki'] = 'Cílové okno pro interwiki odkazy'; +$lang['target____extern'] = 'Cílové okno pro externí odkazy'; +$lang['target____media'] = 'Cílové okno pro odkazy na média'; +$lang['target____windows'] = 'Cílové okno pro odkazy na windows sdílení'; +$lang['refcheck'] = 'Kontrolovat odkazy na média (před vymazáním)'; +$lang['refshow'] = 'Počet zobrazených odkazů na média'; +$lang['gdlib'] = 'Verze GD knihovny'; +$lang['im_convert'] = 'Cesta k nástroji convert z balíku ImageMagick'; +$lang['jpg_quality'] = 'Kvalita komprese JPEG (0-100)'; +$lang['fetchsize'] = 'Maximální velikost souboru (v bajtech), co ještě fetch.php bude stahovat z externích zdrojů'; +$lang['subscribers'] = 'Možnost přihlásit se k odběru novinek stránky'; +$lang['subscribe_time'] = 'Časový interval v sekundách, ve kterém jsou posílány změny a souhrny změn. Interval by neměl být kratší než čas uvedený v recent_days.'; +$lang['notify'] = 'Posílat oznámení o změnách na následující emailovou adresu'; +$lang['registernotify'] = 'Posílat informace o nově registrovaných uživatelích na tuto mailovou adresu'; +$lang['mailfrom'] = 'E-mailová adresa, která se bude používat pro automatické maily'; +$lang['mailprefix'] = 'Předpona předmětu e-mailu, která se bude používat pro automatické maily'; +$lang['sitemap'] = 'Generovat Google sitemap (interval ve dnech)'; +$lang['rss_type'] = 'Typ XML kanálu'; +$lang['rss_linkto'] = 'XML kanál odkazuje na'; +$lang['rss_content'] = 'Co zobrazovat v položkách XML kanálu?'; +$lang['rss_update'] = 'Interval aktualizace XML kanálu (v sekundách)'; +$lang['rss_show_summary'] = 'XML kanál ukazuje souhrn v titulku'; $lang['updatecheck'] = 'Kontrolovat aktualizace a bezpečnostní varování? DokuWiki potřebuje pro tuto funkci přístup k update.dokuwiki.org'; $lang['userewrite'] = 'Používat "pěkná" URL'; $lang['useslash'] = 'Používat lomítko jako oddělovač jmenných prostorů v URL'; -$lang['usedraft'] = 'Během editace ukládat koncept automaticky'; $lang['sepchar'] = 'Znak pro oddělování slov v názvech stránek'; $lang['canonical'] = 'Používat plně kanonická URL'; $lang['fnencode'] = 'Metoda pro kódování ne-ASCII názvů souborů'; $lang['autoplural'] = 'Kontrolovat plurálové tvary v odkazech'; $lang['compression'] = 'Metoda komprese pro staré verze'; -$lang['cachetime'] = 'Maximální životnost cache (v sekundách)'; -$lang['locktime'] = 'Maximální životnost zámkových souborů (v sekundách)'; -$lang['fetchsize'] = 'Maximální velikost souboru (v bajtech), co ještě fetch.php bude stahovat z externích zdrojů'; -$lang['notify'] = 'Posílat oznámení o změnách na následující emailovou adresu'; -$lang['registernotify'] = 'Posílat informace o nově registrovaných uživatelích na tuto mailovou adresu'; -$lang['mailfrom'] = 'E-mailová adresa, která se bude používat pro automatické maily'; -$lang['mailprefix'] = 'Předpona předmětu e-mailu, která se bude používat pro automatické maily'; $lang['gzip_output'] = 'Používat pro xhtml Content-Encoding gzip'; -$lang['gdlib'] = 'Verze GD knihovny'; -$lang['im_convert'] = 'Cesta k nástroji convert z balíku ImageMagick'; -$lang['jpg_quality'] = 'Kvalita komprese JPEG (0-100)'; -$lang['subscribers'] = 'Možnost přihlásit se k odběru novinek stránky'; -$lang['subscribe_time'] = 'Časový interval v sekundách, ve kterém jsou posílány změny a souhrny změn. Interval by neměl být kratší než čas uvedený v recent_days.'; $lang['compress'] = 'Zahustit CSS a JavaScript výstup'; $lang['cssdatauri'] = 'Velikost [v bajtech] obrázků odkazovaných v CSS souborech, které budou pro ušetření HTTP požadavku vestavěny do stylu. Tato technika nefunguje v IE 7 a starším. Doporučená hodnota je mezi <code>400</code> a <code>600</code> bajty. Pro vypnutí nastavte na <code>0</code>.'; -$lang['hidepages'] = 'Skrýt stránky odpovídající vzoru (regulární výrazy)'; $lang['send404'] = 'Posílat "HTTP 404/Page Not Found" pro neexistují stránky'; -$lang['sitemap'] = 'Generovat Google sitemap (interval ve dnech)'; $lang['broken_iua'] = 'Je na vašem systému funkce ignore_user_abort porouchaná? To může způsobovat nefunkčnost vyhledávacího indexu. O kombinaci IIS+PHP/CGI je známo, že nefunguje správně. Viz <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> pro více informací.'; $lang['xsendfile'] = 'Používat X-Sendfile hlavničky pro download statických souborů z webserveru? Je však požadována podpora této funkce na straně Vašeho webserveru.'; $lang['renderer_xhtml'] = 'Vykreslovací jádro pro hlavní (xhtml) výstup wiki'; $lang['renderer__core'] = '%s (jádro DokuWiki)'; $lang['renderer__plugin'] = '%s (plugin)'; -$lang['rememberme'] = 'Povolit trvaté přihlašovací cookies (zapamatuj si mě)'; -$lang['rss_type'] = 'Typ XML kanálu'; -$lang['rss_linkto'] = 'XML kanál odkazuje na'; -$lang['rss_content'] = 'Co zobrazovat v položkách XML kanálu?'; -$lang['rss_update'] = 'Interval aktualizace XML kanálu (v sekundách)'; -$lang['recent_days'] = 'Jak staré nedávných změny uchovávat (ve dnech)'; -$lang['rss_show_summary'] = 'XML kanál ukazuje souhrn v titulku'; -$lang['target____wiki'] = 'Cílové okno pro interní odkazy'; -$lang['target____interwiki'] = 'Cílové okno pro interwiki odkazy'; -$lang['target____extern'] = 'Cílové okno pro externí odkazy'; -$lang['target____media'] = 'Cílové okno pro odkazy na média'; -$lang['target____windows'] = 'Cílové okno pro odkazy na windows sdílení'; +$lang['dnslookups'] = 'DokuWiki zjišťuje DNS jména pro vzdálené IP adresy uživatelů, kteří editují stránky. Pokud máte pomalý, nebo nefunkční DNS server, nebo nepotřebujete tuto funkci, tak tuto volbu zrušte.'; $lang['proxy____host'] = 'Název proxy serveru'; $lang['proxy____port'] = 'Proxy port'; $lang['proxy____user'] = 'Proxy uživatelské jméno'; diff --git a/lib/plugins/config/lang/eo/lang.php b/lib/plugins/config/lang/eo/lang.php index de3c95bb5..36f865c28 100644 --- a/lib/plugins/config/lang/eo/lang.php +++ b/lib/plugins/config/lang/eo/lang.php @@ -32,6 +32,8 @@ $lang['_anti_spam'] = 'Kontraŭ-spamaj difinoj'; $lang['_editing'] = 'Difinoj por redakto'; $lang['_links'] = 'Difinoj por ligiloj'; $lang['_media'] = 'Difinoj por aŭdvidaĵoj'; +$lang['_notifications'] = 'Sciigaj agordoj'; +$lang['_syndication'] = 'Kunhavigaj agordoj'; $lang['_advanced'] = 'Fakaj difinoj'; $lang['_network'] = 'Difinoj por reto'; $lang['_plugin_sufix'] = 'Difinoj por kromaĵoj'; @@ -39,28 +41,29 @@ $lang['_template_sufix'] = 'Difinoj por ŝablonoj'; $lang['_msg_setting_undefined'] = 'Neniu difinanta metadatumaro.'; $lang['_msg_setting_no_class'] = 'Neniu difinanta klaso.'; $lang['_msg_setting_no_default'] = 'Neniu apriora valoro.'; -$lang['fmode'] = 'Reĝimo de dosiero-kreado'; -$lang['dmode'] = 'Reĝimo de dosierujo-kreado'; -$lang['lang'] = 'Lingvo'; -$lang['basedir'] = 'Baza dosierujo'; -$lang['baseurl'] = 'Baza URL'; -$lang['savedir'] = 'Dosierujo por konservi datumaron'; -$lang['cookiedir'] = 'Kuketopado. Lasu malplena por uzi baseurl.'; -$lang['start'] = 'Nomo de la hejmpaĝo'; $lang['title'] = 'Titolo de la vikio'; +$lang['start'] = 'Nomo de la hejmpaĝo'; +$lang['lang'] = 'Lingvo'; $lang['template'] = 'Ŝablono'; $lang['tagline'] = 'Moto (se la ŝablono antaûvidas tion)'; $lang['sidebar'] = 'Nomo de la flanka paĝo (se la ŝablono antaûvidas tion), malplena kampo malebligas la flankan paĝon'; $lang['license'] = 'Laŭ kiu permesilo via enhavo devus esti publikigita?'; -$lang['fullpath'] = 'Montri la kompletan padon de la paĝoj en la piedlinio'; +$lang['savedir'] = 'Dosierujo por konservi datumaron'; +$lang['basedir'] = 'Baza dosierujo'; +$lang['baseurl'] = 'Baza URL'; +$lang['cookiedir'] = 'Kuketopado. Lasu malplena por uzi baseurl.'; +$lang['dmode'] = 'Reĝimo de dosierujo-kreado'; +$lang['fmode'] = 'Reĝimo de dosiero-kreado'; +$lang['allowdebug'] = 'Ebligi kodumpurigadon <b>malebligu se ne necese!<;/b>'; $lang['recent'] = 'Freŝaj ŝanĝoj'; +$lang['recent_days'] = 'Kiom da freŝaj ŝanĝoj por teni (tagoj)'; $lang['breadcrumbs'] = 'Nombro da paderoj'; $lang['youarehere'] = 'Hierarkiaj paderoj'; +$lang['fullpath'] = 'Montri la kompletan padon de la paĝoj en la piedlinio'; $lang['typography'] = 'Fari tipografiajn anstataŭigojn'; -$lang['htmlok'] = 'Ebligi enmeton de HTML-aĵoj'; -$lang['phpok'] = 'Ebligi enmeton de PHP-aĵoj'; $lang['dformat'] = 'Formato de datoj (vidu la PHP-an funkcion <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Subskribo'; +$lang['showuseras'] = 'Kiel indiki la lastan redaktinton'; $lang['toptoclevel'] = 'Supera nivelo por la enhavtabelo'; $lang['tocminheads'] = 'Minimuma kvanto da ĉeftitoloj, kiu difinas ĉu la TOC estas kreata.'; $lang['maxtoclevel'] = 'Maksimuma nivelo por la enhavtabelo'; @@ -68,16 +71,8 @@ $lang['maxseclevel'] = 'Maksimuma nivelo por redakti sekciojn'; $lang['camelcase'] = 'Uzi KamelUsklecon por ligiloj'; $lang['deaccent'] = 'Netaj paĝnomoj'; $lang['useheading'] = 'Uzi unuan titolon por paĝnomoj'; -$lang['refcheck'] = 'Kontrolo por referencoj al aŭdvidaĵoj'; -$lang['refshow'] = 'Nombro da referencoj al aŭdvidaĵoj por montri'; -$lang['allowdebug'] = 'Ebligi kodumpurigadon <b>malebligu se ne necese!<;/b>'; -$lang['mediarevisions'] = 'Ĉu ebligi reviziadon de aŭdvidaĵoj?'; -$lang['usewordblock'] = 'Bloki spamon surbaze de vortlisto'; -$lang['indexdelay'] = 'Prokrasto antaŭ ol indeksi (en sekundoj)'; -$lang['relnofollow'] = 'Uzi rel="nofollow" kun eksteraj ligiloj'; -$lang['mailguard'] = 'Nebuligi retadresojn'; -$lang['iexssprotect'] = 'Ekzameni elŝutaĵojn kontraŭ eblaj malicaj ĴavaSkripto aŭ HTML-a kodumaĵo'; -$lang['showuseras'] = 'Kiel indiki la lastan redaktinton'; +$lang['sneaky_index'] = 'Apriore, DokuWiki montras ĉiujn nomspacojn en la indeksa modo. Ebligi tiun ĉi elekteblon kaŝus tion, kion la uzanto ne rajtas legi laŭ ACL. Tio povus rezulti ankaŭan kaŝon de alireblaj subnomspacoj. Tiel la indekso estus neuzebla por kelkaj agordoj de ACL.'; +$lang['hidepages'] = 'Kaŝi kongruantajn paĝojn (laŭ regulaj esprimoj)'; $lang['useacl'] = 'Uzi alirkontrolajn listojn'; $lang['autopasswd'] = 'Aŭtomate krei pasvortojn'; $lang['authtype'] = 'Tipo de identiĝo'; @@ -86,61 +81,71 @@ $lang['defaultgroup'] = 'Antaŭdifinita grupo'; $lang['superuser'] = 'Superanto - grupo, uzanto aŭ listo (disigita per komoj), kiu plene alireblas al ĉiuj paĝoj kaj funkcioj, sendepende de la reguloj ACL'; $lang['manager'] = 'Administranto - grupo, uzanto aŭ listo (apartite per komoj), kiu havas alirpermeson al kelkaj administraj funkcioj'; $lang['profileconfirm'] = 'Konfirmi ŝanĝojn en la trajtaro per pasvorto'; +$lang['rememberme'] = 'Permesi longdaŭran ensalutajn kuketojn (rememoru min)'; $lang['disableactions'] = 'Malebligi DokuWiki-ajn agojn'; $lang['disableactions_check'] = 'Kontroli'; $lang['disableactions_subscription'] = 'Aliĝi/Malaliĝi'; $lang['disableactions_wikicode'] = 'Rigardi vikitekston/Eksporti fontotekston'; $lang['disableactions_other'] = 'Aliaj agoj (disigita per komoj)'; -$lang['sneaky_index'] = 'Apriore, DokuWiki montras ĉiujn nomspacojn en la indeksa modo. Ebligi tiun ĉi elekteblon kaŝus tion, kion la uzanto ne rajtas legi laŭ ACL. Tio povus rezulti ankaŭan kaŝon de alireblaj subnomspacoj. Tiel la indekso estus neuzebla por kelkaj agordoj de ACL.'; $lang['auth_security_timeout'] = 'Sekureca tempolimo por aŭtentigo (sekundoj)'; $lang['securecookie'] = 'Ĉu kuketoj difinitaj per HTTPS sendiĝu de la foliumilo nur per HTTPS? Malebligu tiun ĉi opcion kiam nur la ensaluto al via vikio estas sekurigita per SSL, sed foliumado de la vikio estas farita malsekure.'; -$lang['xmlrpc'] = 'Ebligi/malebligi la interfacon XML-RPC.'; -$lang['xmlrpcuser'] = 'Permesi XML-RPC-an aliron al certaj grupoj aŭ uzantoj, bonvolu meti iliajn komodisigitajn nomojn tien ĉi. Lasu ĝin malplena, se ĉiu povu aliri.'; +$lang['remote'] = 'Ebligu la traretan API-sistemon. Tio ebligas al aliaj aplikaĵoj aliri la vikion pere de XML-RPC aũ aliaj mekanismoj.'; +$lang['remoteuser'] = 'Limigi traretan API-aliron al la komodisigitaj grupoj aũ uzantoj indikitaj jene. Lasu malplena por ebligi aliron al ĉiu ajn.'; +$lang['usewordblock'] = 'Bloki spamon surbaze de vortlisto'; +$lang['relnofollow'] = 'Uzi rel="nofollow" kun eksteraj ligiloj'; +$lang['indexdelay'] = 'Prokrasto antaŭ ol indeksi (en sekundoj)'; +$lang['mailguard'] = 'Nebuligi retadresojn'; +$lang['iexssprotect'] = 'Ekzameni elŝutaĵojn kontraŭ eblaj malicaj ĴavaSkripto aŭ HTML-a kodumaĵo'; +$lang['usedraft'] = 'Aŭtomate konservi skizon dum redaktado'; +$lang['htmlok'] = 'Ebligi enmeton de HTML-aĵoj'; +$lang['phpok'] = 'Ebligi enmeton de PHP-aĵoj'; +$lang['locktime'] = 'Maksimuma aĝo por serurdosieroj (sek.)'; +$lang['cachetime'] = 'Maksimuma aĝo por provizmemoro (sek.)'; +$lang['target____wiki'] = 'Parametro "target" (celo) por internaj ligiloj'; +$lang['target____interwiki'] = 'Parametro "target" (celo) por intervikiaj ligiloj'; +$lang['target____extern'] = 'Parametro "target" (celo) por eksteraj ligiloj'; +$lang['target____media'] = 'Parametro "target" (celo) por aŭdvidaĵaj ligiloj'; +$lang['target____windows'] = 'Parametro "target" (celo) por Vindozaj ligiloj'; +$lang['mediarevisions'] = 'Ĉu ebligi reviziadon de aŭdvidaĵoj?'; +$lang['refcheck'] = 'Kontrolo por referencoj al aŭdvidaĵoj'; +$lang['refshow'] = 'Nombro da referencoj al aŭdvidaĵoj por montri'; +$lang['gdlib'] = 'Versio de GD-Lib'; +$lang['im_convert'] = 'Pado al la konvertilo de ImageMagick'; +$lang['jpg_quality'] = 'Kompaktiga kvalito de JPG (0-100)'; +$lang['fetchsize'] = 'Maksimuma grandeco (bitokoj), kiun fetch.php rajtas elŝuti el ekstere'; +$lang['subscribers'] = 'Ebligi subtenon de avizoj pri ŝanĝoj sur paĝoj'; +$lang['subscribe_time'] = 'Tempo, post kiu abonlistoj kaj kolektaĵoj sendiĝas (sek); Tio estu pli malgranda ol la tempo indikita en recent_days.'; +$lang['notify'] = 'Sendi avizojn pri ŝanĝoj al tiu ĉi retadreso'; +$lang['registernotify'] = 'Sendi informon pri ĵusaj aliĝintoj al tiu ĉi retadreso'; +$lang['mailfrom'] = 'Retadreso uzota por aŭtomataj retmesaĝoj '; +$lang['mailprefix'] = 'Retpoŝta temo-prefikso por uzi en aŭtomataj mesaĝoj'; +$lang['htmlmail'] = 'Sendi pli bele aspektajn, sed pli grandajn plurpartajn HTML-retpoŝtaĵojn. Malebligu por ricevi pure tekstajn mesaĝojn.'; +$lang['sitemap'] = 'Krei Guglan paĝarmapon "sitemap" (po kiom tagoj)'; +$lang['rss_type'] = 'XML-a tipo de novaĵ-fluo'; +$lang['rss_linkto'] = 'La novaĵ-fluo de XML ligiĝas al'; +$lang['rss_content'] = 'Kion montri en la XML-aj novaĵ-flueroj?'; +$lang['rss_update'] = 'Intertempo por ĝisdatigi XML-an novaĵ-fluon (sek.)'; +$lang['rss_show_summary'] = 'XML-a novaĵ-fluo montras resumon en la titolo'; +$lang['rss_media'] = 'Kiaj ŝangoj estu montrataj en la XML-fluo?'; $lang['updatecheck'] = 'Ĉu kontroli aktualigojn kaj sekurecajn avizojn? DokuWiki bezonas kontakti update.dokuwiki.org por tiu ĉi trajto.'; $lang['userewrite'] = 'Uzi netajn URL-ojn'; $lang['useslash'] = 'Uzi frakcistrekon kiel disigsignaĵon por nomspacoj en URL-oj'; -$lang['usedraft'] = 'Aŭtomate konservi skizon dum redaktado'; $lang['sepchar'] = 'Disigsignaĵo de vortoj en paĝnomoj'; $lang['canonical'] = 'Uzi tute evidentajn URL-ojn'; $lang['fnencode'] = 'Kodiga metodo por ne-ASCII-aj dosiernomoj.'; $lang['autoplural'] = 'Kontroli pluralajn formojn en ligiloj'; $lang['compression'] = 'Kompaktigmetodo por arkivaj dosieroj'; -$lang['cachetime'] = 'Maksimuma aĝo por provizmemoro (sek.)'; -$lang['locktime'] = 'Maksimuma aĝo por serurdosieroj (sek.)'; -$lang['fetchsize'] = 'Maksimuma grandeco (bitokoj), kiun fetch.php rajtas elŝuti el ekstere'; -$lang['notify'] = 'Sendi avizojn pri ŝanĝoj al tiu ĉi retadreso'; -$lang['registernotify'] = 'Sendi informon pri ĵusaj aliĝintoj al tiu ĉi retadreso'; -$lang['mailfrom'] = 'Retadreso uzota por aŭtomataj retmesaĝoj '; -$lang['mailprefix'] = 'Retpoŝta temo-prefikso por uzi en aŭtomataj mesaĝoj'; $lang['gzip_output'] = 'Uzi gzip-an enhav-enkodigon por XHTML'; -$lang['gdlib'] = 'Versio de GD-Lib'; -$lang['im_convert'] = 'Pado al la konvertilo de ImageMagick'; -$lang['jpg_quality'] = 'Kompaktiga kvalito de JPG (0-100)'; -$lang['subscribers'] = 'Ebligi subtenon de avizoj pri ŝanĝoj sur paĝoj'; -$lang['subscribe_time'] = 'Tempo, post kiu abonlistoj kaj kolektaĵoj sendiĝas (sek); Tio estu pli malgranda ol la tempo indikita en recent_days.'; $lang['compress'] = 'Kompaktigi CSS-ajn kaj ĵavaskriptajn elmetojn'; $lang['cssdatauri'] = 'Grandeco en bitokoj, ĝis kiom en CSS-dosieroj referencitaj bildoj enmetiĝu rekte en la stilfolion por malgrandigi vanan HTTP-kapan trafikon. Tiu tekniko ne funkcias en IE 7 aŭ pli frua! <code>400</code> ĝis <code>600</code> bitokoj estas bona grandeco. Indiku <code>0</code> por malebligi enmeton.'; -$lang['hidepages'] = 'Kaŝi kongruantajn paĝojn (laŭ regulaj esprimoj)'; $lang['send404'] = 'Sendi la mesaĝon "HTTP 404/Paĝo ne trovita" por ne ekzistantaj paĝoj'; -$lang['sitemap'] = 'Krei Guglan paĝarmapon "sitemap" (po kiom tagoj)'; $lang['broken_iua'] = 'Ĉu la funkcio "ignore_user_abort" difektas en via sistemo? Tio povus misfunkciigi la serĉindekson. IIS+PHP/CGI estas konata kiel fuŝaĵo. Vidu <a href="http://bugs.splitbrain.org/?do=details&task_id=852&">Cimon 852</a> por pli da informoj.'; $lang['xsendfile'] = 'Ĉu uzi la kaplinion X-Sendfile por ebligi al la retservilo liveri fiksajn dosierojn? Via retservilo subtenu tion.'; $lang['renderer_xhtml'] = 'Prezentilo por la ĉefa vikia rezulto (xhtml)'; $lang['renderer__core'] = '%s (DokuWiki-a kerno)'; $lang['renderer__plugin'] = '%s (kromaĵo)'; -$lang['rememberme'] = 'Permesi longdaŭran ensalutajn kuketojn (rememoru min)'; -$lang['rss_type'] = 'XML-a tipo de novaĵ-fluo'; -$lang['rss_linkto'] = 'La novaĵ-fluo de XML ligiĝas al'; -$lang['rss_content'] = 'Kion montri en la XML-aj novaĵ-flueroj?'; -$lang['rss_update'] = 'Intertempo por ĝisdatigi XML-an novaĵ-fluon (sek.)'; -$lang['recent_days'] = 'Kiom da freŝaj ŝanĝoj por teni (tagoj)'; -$lang['rss_show_summary'] = 'XML-a novaĵ-fluo montras resumon en la titolo'; -$lang['target____wiki'] = 'Parametro "target" (celo) por internaj ligiloj'; -$lang['target____interwiki'] = 'Parametro "target" (celo) por intervikiaj ligiloj'; -$lang['target____extern'] = 'Parametro "target" (celo) por eksteraj ligiloj'; -$lang['target____media'] = 'Parametro "target" (celo) por aŭdvidaĵaj ligiloj'; -$lang['target____windows'] = 'Parametro "target" (celo) por Vindozaj ligiloj'; +$lang['dnslookups'] = 'DokuWiki rigardos servilajn nomojn por paĝmodifoj tra fremdaj IP-adresoj. Se vi havas malrapidan aũ nefunkciantan DNS-servilon aũ malŝatas tiun trajton, malebligu tiun opcion'; $lang['proxy____host'] = 'Retservilnomo de la "Proxy"'; $lang['proxy____port'] = 'Pordo ĉe la "Proxy"'; $lang['proxy____user'] = 'Uzantonomo ĉe la "Proxy"'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 66d075d6b..5d03efb60 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -22,6 +22,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['menu'] = 'Parámetros de configuración'; $lang['error'] = 'Los parámetros no han sido actualizados a causa de un valor inválido, por favor revise los cambios y re-envíe el formulario. <br /> Los valores incorrectos se mostrarán con un marco rojo alrededor.'; @@ -43,6 +45,8 @@ $lang['_anti_spam'] = 'Parámetros Anti-Spam'; $lang['_editing'] = 'Parámetros de Edición'; $lang['_links'] = 'Parámetros de Enlaces'; $lang['_media'] = 'Parámetros de Medios'; +$lang['_notifications'] = 'Configuración de notificaciones'; +$lang['_syndication'] = 'Configuración de sindicación'; $lang['_advanced'] = 'Parámetros Avanzados'; $lang['_network'] = 'Parámetros de Red'; $lang['_plugin_sufix'] = 'Parámetros de Plugins'; @@ -50,26 +54,29 @@ $lang['_template_sufix'] = 'Parámetros de Plantillas'; $lang['_msg_setting_undefined'] = 'Sin parámetros de metadata.'; $lang['_msg_setting_no_class'] = 'Sin clase establecida.'; $lang['_msg_setting_no_default'] = 'Sin valor por defecto.'; -$lang['fmode'] = 'Modo de creación de ficheros'; -$lang['dmode'] = 'Modo de creación de directorios'; +$lang['title'] = 'Título del wiki'; +$lang['start'] = 'Nombre de la página inicial'; $lang['lang'] = 'Idioma'; +$lang['template'] = 'Plantilla'; +$lang['tagline'] = 'Lema (si la plantilla lo soporta)'; +$lang['sidebar'] = 'Nombre de la barra lateral (si la plantilla lo soporta), un campo vacío la desactiva'; +$lang['license'] = '¿Bajo qué licencia será liberado tu contenido?'; +$lang['savedir'] = 'Directorio para guardar los datos'; $lang['basedir'] = 'Directorio de base'; $lang['baseurl'] = 'URL de base'; -$lang['savedir'] = 'Directorio para guardar los datos'; $lang['cookiedir'] = 'Ruta para las Cookie. Dejar en blanco para usar la ruta básica.'; -$lang['start'] = 'Nombre de la página inicial'; -$lang['title'] = 'Título del wiki'; -$lang['template'] = 'Plantilla'; -$lang['license'] = '¿Bajo qué licencia será liberado tu contenido?'; -$lang['fullpath'] = 'Mostrar ruta completa en el pie de página'; +$lang['dmode'] = 'Modo de creación de directorios'; +$lang['fmode'] = 'Modo de creación de ficheros'; +$lang['allowdebug'] = 'Permitir debug <b>deshabilítelo si no lo necesita!</b>'; $lang['recent'] = 'Cambios recientes'; +$lang['recent_days'] = 'Cuántos cambios recientes mantener (días)'; $lang['breadcrumbs'] = 'Número de pasos de traza'; $lang['youarehere'] = 'Traza jerárquica'; +$lang['fullpath'] = 'Mostrar ruta completa en el pie de página'; $lang['typography'] = 'Realizar reemplazos tipográficos'; -$lang['htmlok'] = 'Permitir HTML embebido'; -$lang['phpok'] = 'Permitir PHP embebido'; $lang['dformat'] = 'Formato de fecha (ver la función de PHP <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Firma'; +$lang['showuseras'] = 'Qué ver al mostrar el último usuario que editó una página'; $lang['toptoclevel'] = 'Nivel superior para la tabla de contenidos'; $lang['tocminheads'] = 'La cantidad mínima de titulares que determina si el TOC es construido'; $lang['maxtoclevel'] = 'Máximo nivel para la tabla de contenidos'; @@ -77,16 +84,8 @@ $lang['maxseclevel'] = 'Máximo nivel para edición de sección'; $lang['camelcase'] = 'Usar CamelCase para enlaces'; $lang['deaccent'] = 'Nombres de páginas "limpios"'; $lang['useheading'] = 'Usar el primer encabezado para nombres de páginas'; -$lang['refcheck'] = 'Control de referencia a medios'; -$lang['refshow'] = 'Número de referencias a medios a mostrar'; -$lang['allowdebug'] = 'Permitir debug <b>deshabilítelo si no lo necesita!</b>'; -$lang['mediarevisions'] = '¿Habilitar Mediarevisions?'; -$lang['usewordblock'] = 'Bloquear spam usando una lista de palabras'; -$lang['indexdelay'] = 'Intervalo de tiempo antes de indexar (segundos)'; -$lang['relnofollow'] = 'Usar rel="nofollow" en enlaces externos'; -$lang['mailguard'] = 'Ofuscar direcciones de correo electrónico'; -$lang['iexssprotect'] = 'Comprobar posible código malicioso (JavaScript ó HTML) en archivos subidos'; -$lang['showuseras'] = 'Qué ver al mostrar el último usuario que editó una página'; +$lang['sneaky_index'] = 'Por defecto, DokuWiki mostrará todos los namespaces en el index. Habilitando esta opción los ocultará si el usuario no tiene permisos de lectura. Los sub-namespaces pueden resultar inaccesibles. El index puede hacerse poco usable dependiendo de las configuraciones ACL.'; +$lang['hidepages'] = 'Ocultar páginas con coincidencias (expresiones regulares)'; $lang['useacl'] = 'Usar listas de control de acceso (ACL)'; $lang['autopasswd'] = 'Autogenerar contraseñas'; $lang['authtype'] = 'Método de Autenticación'; @@ -95,58 +94,70 @@ $lang['defaultgroup'] = 'Grupo por defecto'; $lang['superuser'] = 'Super-usuario - grupo ó usuario con acceso total a todas las páginas y funciones, configuraciones ACL'; $lang['manager'] = 'Manager - grupo o usuario con acceso a ciertas tareas de mantenimiento'; $lang['profileconfirm'] = 'Confirmar cambios en perfil con contraseña'; +$lang['rememberme'] = 'Permitir cookies para acceso permanente (recordarme)'; $lang['disableactions'] = 'Deshabilitar acciones DokuWiki'; $lang['disableactions_check'] = 'Controlar'; $lang['disableactions_subscription'] = 'Suscribirse/Cancelar suscripción'; $lang['disableactions_wikicode'] = 'Ver la fuente/Exportar en formato raw'; $lang['disableactions_other'] = 'Otras acciones (separadas por coma)'; -$lang['sneaky_index'] = 'Por defecto, DokuWiki mostrará todos los namespaces en el index. Habilitando esta opción los ocultará si el usuario no tiene permisos de lectura. Los sub-namespaces pueden resultar inaccesibles. El index puede hacerse poco usable dependiendo de las configuraciones ACL.'; $lang['auth_security_timeout'] = 'Tiempo de Autenticación (en segundos), por motivos de seguridad'; $lang['securecookie'] = 'Las cookies establecidas por HTTPS, ¿el naveagdor solo puede enviarlas por HTTPS? Inhabilite esta opción cuando solo se asegure con SSL la entrada, pero no la navegación de su wiki.'; +$lang['remote'] = 'Activar el sistema API remoto. Esto permite a otras aplicaciones acceder al wiki a traves de XML-RPC u otros mecanismos.'; +$lang['remoteuser'] = 'Restringir el acceso remoto por API a los grupos o usuarios separados por comas que se dan aquí. Dejar en blanco para dar acceso a todo el mundo.'; +$lang['usewordblock'] = 'Bloquear spam usando una lista de palabras'; +$lang['relnofollow'] = 'Usar rel="nofollow" en enlaces externos'; +$lang['indexdelay'] = 'Intervalo de tiempo antes de indexar (segundos)'; +$lang['mailguard'] = 'Ofuscar direcciones de correo electrónico'; +$lang['iexssprotect'] = 'Comprobar posible código malicioso (JavaScript ó HTML) en archivos subidos'; +$lang['usedraft'] = 'Guardar automáticamente un borrador mientras se edita'; +$lang['htmlok'] = 'Permitir HTML embebido'; +$lang['phpok'] = 'Permitir PHP embebido'; +$lang['locktime'] = 'Edad máxima para archivos de bloqueo (segundos)'; +$lang['cachetime'] = 'Edad máxima para caché (segundos)'; +$lang['target____wiki'] = 'Ventana para enlaces internos'; +$lang['target____interwiki'] = 'Ventana para enlaces interwikis'; +$lang['target____extern'] = 'Ventana para enlaces externos'; +$lang['target____media'] = 'Ventana para enlaces a medios'; +$lang['target____windows'] = 'Ventana para enlaces a ventanas'; +$lang['mediarevisions'] = '¿Habilitar Mediarevisions?'; +$lang['refcheck'] = 'Control de referencia a medios'; +$lang['refshow'] = 'Número de referencias a medios a mostrar'; +$lang['gdlib'] = 'Versión de GD Lib'; +$lang['im_convert'] = 'Ruta a la herramienta de conversión de ImageMagick'; +$lang['jpg_quality'] = 'Calidad de compresión de JPG (0-100)'; +$lang['fetchsize'] = 'Tamaño máximo (bytes) que fetch.php puede descargar de sitios externos'; +$lang['subscribers'] = 'Habilitar soporte para suscripción a páginas'; +$lang['subscribe_time'] = 'Tiempo después que alguna lista de suscripción fue enviada (seg); Debe ser menor que el tiempo especificado en días recientes.'; +$lang['notify'] = 'Enviar notificación de cambios a esta dirección de correo electrónico'; +$lang['registernotify'] = 'Enviar información cuando se registran nuevos usuarios a esta dirección de correo electrónico'; +$lang['mailfrom'] = 'Dirección de correo electrónico para emails automáticos'; +$lang['mailprefix'] = 'Asunto por defecto que se utilizará en mails automáticos.'; +$lang['htmlmail'] = 'Enviar correos electronicos en HTML con mejor aspecto pero mayor peso. Desactivar para enviar correos electronicos en texto plano.'; +$lang['sitemap'] = 'Generar sitemap de Google (días)'; +$lang['rss_type'] = 'Tipo de resumen (feed) XML'; +$lang['rss_linkto'] = 'Feed XML enlaza a'; +$lang['rss_content'] = '¿Qué mostrar en los items del archivo XML?'; +$lang['rss_update'] = 'Intervalo de actualización de feed XML (segundos)'; +$lang['rss_show_summary'] = 'Feed XML muestra el resumen en el título'; +$lang['rss_media'] = '¿Qué tipo de cambios deberían aparecer en el feed XML?'; $lang['updatecheck'] = '¿Comprobar actualizaciones y advertencias de seguridad? Esta característica requiere que DokuWiki se conecte a update.dokuwiki.org.'; $lang['userewrite'] = 'Usar URLs bonitas'; $lang['useslash'] = 'Usar barra (/) como separador de espacios de nombres en las URLs'; -$lang['usedraft'] = 'Guardar automáticamente un borrador mientras se edita'; $lang['sepchar'] = 'Separador de palabras en nombres de páginas'; $lang['canonical'] = 'Usar URLs totalmente canónicas'; $lang['fnencode'] = 'Método para codificar nombres de archivo no-ASCII.'; $lang['autoplural'] = 'Controlar plurales en enlaces'; $lang['compression'] = 'Método de compresión para archivos en el ático'; -$lang['cachetime'] = 'Edad máxima para caché (segundos)'; -$lang['locktime'] = 'Edad máxima para archivos de bloqueo (segundos)'; -$lang['fetchsize'] = 'Tamaño máximo (bytes) que fetch.php puede descargar de sitios externos'; -$lang['notify'] = 'Enviar notificación de cambios a esta dirección de correo electrónico'; -$lang['registernotify'] = 'Enviar información cuando se registran nuevos usuarios a esta dirección de correo electrónico'; -$lang['mailfrom'] = 'Dirección de correo electrónico para emails automáticos'; -$lang['mailprefix'] = 'Asunto por defecto que se utilizará en mails automáticos.'; $lang['gzip_output'] = 'Usar gzip Content-Encoding para xhtml'; -$lang['gdlib'] = 'Versión de GD Lib'; -$lang['im_convert'] = 'Ruta a la herramienta de conversión de ImageMagick'; -$lang['jpg_quality'] = 'Calidad de compresión de JPG (0-100)'; -$lang['subscribers'] = 'Habilitar soporte para suscripción a páginas'; -$lang['subscribe_time'] = 'Tiempo después que alguna lista de suscripción fue enviada (seg); Debe ser menor que el tiempo especificado en días recientes.'; $lang['compress'] = 'Compactar la salida de CSS y javascript'; $lang['cssdatauri'] = 'Tamaño en bytes hasta el cual las imágenes referenciadas en archivos CSS deberían ir incrustadas en la hoja de estilos para reducir el número de cabeceras de petición HTTP. ¡Esta técnica no funcionará en IE < 8! De <code>400</code> a <code>600</code> bytes es un valor adecuado. Establezca <code>0</code> para deshabilitarlo.'; -$lang['hidepages'] = 'Ocultar páginas con coincidencias (expresiones regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Page Not Found" para páginas no existentes'; -$lang['sitemap'] = 'Generar sitemap de Google (días)'; $lang['broken_iua'] = '¿Se ha roto (broken) la función ignore_user_abort en su sistema? Esto puede causar que no funcione el index de búsqueda. Se sabe que IIS+PHP/CGI está roto. Vea <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a>para más información.'; $lang['xsendfile'] = '¿Utilizar la cabecera X-Sendfile para permitirle al servidor web enviar archivos estáticos? Su servidor web necesita tener la capacidad para hacerlo.'; $lang['renderer_xhtml'] = 'Visualizador a usar para salida (xhtml) principal del wiki'; $lang['renderer__core'] = '%s (núcleo dokuwiki)'; $lang['renderer__plugin'] = '%s (plugin)'; -$lang['rememberme'] = 'Permitir cookies para acceso permanente (recordarme)'; -$lang['rss_type'] = 'Tipo de resumen (feed) XML'; -$lang['rss_linkto'] = 'Feed XML enlaza a'; -$lang['rss_content'] = '¿Qué mostrar en los items del archivo XML?'; -$lang['rss_update'] = 'Intervalo de actualización de feed XML (segundos)'; -$lang['recent_days'] = 'Cuántos cambios recientes mantener (días)'; -$lang['rss_show_summary'] = 'Feed XML muestra el resumen en el título'; -$lang['target____wiki'] = 'Ventana para enlaces internos'; -$lang['target____interwiki'] = 'Ventana para enlaces interwikis'; -$lang['target____extern'] = 'Ventana para enlaces externos'; -$lang['target____media'] = 'Ventana para enlaces a medios'; -$lang['target____windows'] = 'Ventana para enlaces a ventanas'; +$lang['dnslookups'] = 'DokuWiki buscara los hostnames para usuarios editando las páginas con IP remota. Si usted tiene un servidor DNS bastante lento o que no funcione, favor de desactivar esta opción.'; $lang['proxy____host'] = 'Nombre del servidor Proxy'; $lang['proxy____port'] = 'Puerto del servidor Proxy'; $lang['proxy____user'] = 'Nombre de usuario para el servidor Proxy'; diff --git a/lib/plugins/config/lang/eu/lang.php b/lib/plugins/config/lang/eu/lang.php index 97addbb50..4dd3ff351 100644 --- a/lib/plugins/config/lang/eu/lang.php +++ b/lib/plugins/config/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['menu'] = 'Konfigurazio Ezarpenak'; $lang['error'] = 'Ezarpenak ez dira eguneratu balio oker bat dela eta, mesedez errepasatu aldaketak eta berriz bidali. <br />Balio okerra(k) ertz gorriz inguratuak erakutsiko dira. '; @@ -25,6 +26,8 @@ $lang['_anti_spam'] = 'Anti-Spam Ezarpenak'; $lang['_editing'] = 'Edizio Ezarpenak'; $lang['_links'] = 'Esteken Ezarpenak'; $lang['_media'] = 'Multimedia Ezarpenak'; +$lang['_notifications'] = 'Abisuen ezarpenak'; +$lang['_syndication'] = 'Sindikazio ezarpenak'; $lang['_advanced'] = 'Ezarpen Aurreratuak'; $lang['_network'] = 'Sare Ezarpenak'; $lang['_plugin_sufix'] = 'Plugin Ezarpenak'; @@ -32,25 +35,26 @@ $lang['_template_sufix'] = 'Txantiloi Ezarpenak'; $lang['_msg_setting_undefined'] = 'Ezarpen metadaturik ez.'; $lang['_msg_setting_no_class'] = 'Ezarpen klaserik ez.'; $lang['_msg_setting_no_default'] = 'Balio lehenetsirik ez.'; -$lang['fmode'] = 'Fitxategi sortze modua'; -$lang['dmode'] = 'Direktorio sortze modua'; -$lang['lang'] = 'Hizkuntza'; -$lang['basedir'] = 'Oinarri direktorioa'; -$lang['baseurl'] = 'Oinarri URLa'; -$lang['savedir'] = 'Datuak gordetzeko direktorioa'; -$lang['start'] = 'Hasiera orriaren izena'; $lang['title'] = 'Wiki-aren izenburua'; +$lang['start'] = 'Hasiera orriaren izena'; +$lang['lang'] = 'Hizkuntza'; $lang['template'] = 'Txantiloia'; $lang['license'] = 'Zein lizentziapean argitaratu beharko lirateke edukiak?'; -$lang['fullpath'] = 'Orri oinean orrien bide osoa erakutsi'; +$lang['savedir'] = 'Datuak gordetzeko direktorioa'; +$lang['basedir'] = 'Oinarri direktorioa'; +$lang['baseurl'] = 'Oinarri URLa'; +$lang['dmode'] = 'Direktorio sortze modua'; +$lang['fmode'] = 'Fitxategi sortze modua'; +$lang['allowdebug'] = 'Baimendu debug-a <b>ezgaitu behar ez bada!</b>'; $lang['recent'] = 'Azken aldaketak'; +$lang['recent_days'] = 'Zenbat azken aldaketa gordeko dira (egunak)'; $lang['breadcrumbs'] = 'Arrasto pauso kopurua'; $lang['youarehere'] = 'Arrasto pauso hierarkikoak'; +$lang['fullpath'] = 'Orri oinean orrien bide osoa erakutsi'; $lang['typography'] = 'Ordezkapen tipografikoak egin'; -$lang['htmlok'] = 'Enbotatutako HTMLa baimendu'; -$lang['phpok'] = 'Enbotatutako PHPa baimendu'; $lang['dformat'] = 'Data formatua (ikusi PHPren <a href="http://www.php.net/strftime">strftime</a> funtzioa)'; $lang['signature'] = 'Sinadura'; +$lang['showuseras'] = 'Zer azaldu orri bat editatu duen azken erabiltzailea erakusterakoan'; $lang['toptoclevel'] = 'Eduki taularen goiko maila'; $lang['tocminheads'] = 'Gutxiengo izenburu kopuru minimoa Edukien Taula-ren sortu dadin.'; $lang['maxtoclevel'] = 'Eduki taularen maila maximoa'; @@ -58,15 +62,8 @@ $lang['maxseclevel'] = 'Sekzio edizio mailaren maximoa'; $lang['camelcase'] = 'Estekentzat CamelCase erabili'; $lang['deaccent'] = 'Orri izen garbiak'; $lang['useheading'] = 'Erabili lehen izenburua orri izen moduan'; -$lang['refcheck'] = 'Multimedia erreferentzia kontrolatu'; -$lang['refshow'] = 'Erakusteko multimedia erreferentzia kopurua'; -$lang['allowdebug'] = 'Baimendu debug-a <b>ezgaitu behar ez bada!</b>'; -$lang['usewordblock'] = 'Blokeatu spam-a hitz zerrenda batean oinarrituta'; -$lang['indexdelay'] = 'Denbora atzerapena indexatu baino lehen (seg)'; -$lang['relnofollow'] = 'Erabili rel="nofollow" kanpo esteketan'; -$lang['mailguard'] = 'Ezkutatu posta-e helbidea'; -$lang['iexssprotect'] = 'Egiaztatu igotako fitxategiak JavaScript edo HTML kode maltzurra detektatzeko'; -$lang['showuseras'] = 'Zer azaldu orri bat editatu duen azken erabiltzailea erakusterakoan'; +$lang['sneaky_index'] = 'Lehenespenez, DokuWiki-k izen-espazio guztiak indize bistan erakutsiko ditu. Aukera hau gaituta, erabiltzaieak irakurtzeko baimenik ez dituen izen-espazioak ezkutatuko dira. Honek atzigarriak diren azpi izen-espazioak ezkutatzen ditu. Agian honek indizea erabili ezin ahal izatea eragingo du AKL ezarpen batzuetan.'; +$lang['hidepages'] = 'Ezkutatu kointzidentziak dituzten orriak (espresio erregularrak)'; $lang['useacl'] = 'Erabili atzipen kontrol listak'; $lang['autopasswd'] = 'Pasahitzak automatikoki sortu'; $lang['authtype'] = 'Kautotze backend-a'; @@ -75,57 +72,64 @@ $lang['defaultgroup'] = 'Talde lehenetsia'; $lang['superuser'] = 'Supererabiltzailea - taldea, erabiltzailea edo komaz bereiztutako zerrenda user1,@group1,user2 orri eta funtzio guztietara atzipen osoarekin, AKL-ren ezarpenetan zehaztutakoa kontutan hartu gabe'; $lang['manager'] = 'Kudeatzailea - talde, erabiltzaile edo komaz bereiztutako zerrenda user1,@group1,user2 kudeatze funtzio zehatz batzuetara atzipenarekin'; $lang['profileconfirm'] = 'Profil aldaketak pasahitzaz berretsi'; +$lang['rememberme'] = 'Baimendu saio hasiera cookie iraunkorrak (gogoratu iezaidazu)'; $lang['disableactions'] = 'DokuWiki ekintzak ezgaitu'; $lang['disableactions_check'] = 'Egiaztatu'; $lang['disableactions_subscription'] = 'Harpidetu/Harpidetza utzi'; $lang['disableactions_wikicode'] = 'Ikusi iturburua/Esportatu Raw'; $lang['disableactions_other'] = 'Beste ekintzak (komaz bereiztuak)'; -$lang['sneaky_index'] = 'Lehenespenez, DokuWiki-k izen-espazio guztiak indize bistan erakutsiko ditu. Aukera hau gaituta, erabiltzaieak irakurtzeko baimenik ez dituen izen-espazioak ezkutatuko dira. Honek atzigarriak diren azpi izen-espazioak ezkutatzen ditu. Agian honek indizea erabili ezin ahal izatea eragingo du AKL ezarpen batzuetan.'; $lang['auth_security_timeout'] = 'Kautotze Segurtasun Denbora-Muga (segunduak)'; $lang['securecookie'] = 'HTTPS bidez ezarritako cookie-ak HTTPS bidez bakarrik bidali beharko lituzke nabigatzaileak? Ezgaitu aukera hau bakarrik saio hasierak SSL bidezko segurtasuna badu baina wiki-areb nabigazioa modu ez seguruan egiten bada. '; +$lang['usewordblock'] = 'Blokeatu spam-a hitz zerrenda batean oinarrituta'; +$lang['relnofollow'] = 'Erabili rel="nofollow" kanpo esteketan'; +$lang['indexdelay'] = 'Denbora atzerapena indexatu baino lehen (seg)'; +$lang['mailguard'] = 'Ezkutatu posta-e helbidea'; +$lang['iexssprotect'] = 'Egiaztatu igotako fitxategiak JavaScript edo HTML kode maltzurra detektatzeko'; +$lang['usedraft'] = 'Automatikoki zirriborroa gorde editatze garaian'; +$lang['htmlok'] = 'Enbotatutako HTMLa baimendu'; +$lang['phpok'] = 'Enbotatutako PHPa baimendu'; +$lang['locktime'] = 'Adin maximoa lock fitxategientzat (seg)'; +$lang['cachetime'] = 'Adin maximoa cachearentzat (seg)'; +$lang['target____wiki'] = 'Barne estekentzat helburu leihoa'; +$lang['target____interwiki'] = 'Interwiki estekentzat helburu leihoa'; +$lang['target____extern'] = 'Kanpo estekentzat helburu leihoa'; +$lang['target____media'] = 'Multimedia estekentzat helburu leihoa'; +$lang['target____windows'] = 'Leihoen estekentzat helburu leihoa'; +$lang['mediarevisions'] = 'Media rebisioak gaitu?'; +$lang['refcheck'] = 'Multimedia erreferentzia kontrolatu'; +$lang['refshow'] = 'Erakusteko multimedia erreferentzia kopurua'; +$lang['gdlib'] = 'GD Lib bertsioa'; +$lang['im_convert'] = 'ImageMagick-en aldaketa tresnara bidea'; +$lang['jpg_quality'] = 'JPG konprimitze kalitatea (0-100)'; +$lang['fetchsize'] = 'Kanpo esteketatik fetch.php-k deskargatu dezakeen tamaina maximoa (byteak)'; +$lang['subscribers'] = 'Gaitu orri harpidetza euskarria'; +$lang['subscribe_time'] = 'Harpidetza zerrendak eta laburpenak bidali aurretik pasa beharreko denbora (seg); Denbora honek, recent_days-en ezarritakoa baino txikiagoa behar luke.'; +$lang['notify'] = 'Aldaketen jakinarazpenak posta-e helbide honetara bidali'; +$lang['registernotify'] = 'Erregistratu berri diren erabiltzaileei buruzko informazioa post-e helbide honetara bidali'; +$lang['mailfrom'] = 'Posta automatikoentzat erabiliko den posta-e helbidea'; +$lang['mailprefix'] = 'Posta automatikoen gaientzat erabili beharreko aurrizkia'; +$lang['sitemap'] = 'Sortu Google gune-mapa (egunak)'; +$lang['rss_type'] = 'XML jario mota'; +$lang['rss_linkto'] = 'XML jarioak hona estekatzen du'; +$lang['rss_content'] = 'Zer erakutsi XML jarioetan?'; +$lang['rss_update'] = 'XML jarioaren eguneratze tartea (seg)'; +$lang['rss_show_summary'] = 'XML jarioak laburpena erakusten du izenburuan'; $lang['updatecheck'] = 'Konprobatu eguneratze eta segurtasun oharrak? DokuWiki-k honetarako update.dokuwiki.org kontaktatu behar du.'; $lang['userewrite'] = 'Erabili URL politak'; $lang['useslash'] = 'Erabili barra (/) izen-espazio banatzaile moduan URLetan'; -$lang['usedraft'] = 'Automatikoki zirriborroa gorde editatze garaian'; $lang['sepchar'] = 'Orri izenaren hitz banatzailea'; $lang['canonical'] = 'Erabili URL erabat kanonikoak'; $lang['fnencode'] = 'Non-ASCII fitxategi izenak kodetzeko metodoa.'; $lang['autoplural'] = 'Kontrolatu forma pluralak esteketan'; $lang['compression'] = 'Trinkotze metodoa attic fitxategientzat'; -$lang['cachetime'] = 'Adin maximoa cachearentzat (seg)'; -$lang['locktime'] = 'Adin maximoa lock fitxategientzat (seg)'; -$lang['fetchsize'] = 'Kanpo esteketatik fetch.php-k deskargatu dezakeen tamaina maximoa (byteak)'; -$lang['notify'] = 'Aldaketen jakinarazpenak posta-e helbide honetara bidali'; -$lang['registernotify'] = 'Erregistratu berri diren erabiltzaileei buruzko informazioa post-e helbide honetara bidali'; -$lang['mailfrom'] = 'Posta automatikoentzat erabiliko den posta-e helbidea'; -$lang['mailprefix'] = 'Posta automatikoen gaientzat erabili beharreko aurrizkia'; $lang['gzip_output'] = 'Gzip Eduki-Kodeketa erabili xhtml-rentzat'; -$lang['gdlib'] = 'GD Lib bertsioa'; -$lang['im_convert'] = 'ImageMagick-en aldaketa tresnara bidea'; -$lang['jpg_quality'] = 'JPG konprimitze kalitatea (0-100)'; -$lang['subscribers'] = 'Gaitu orri harpidetza euskarria'; -$lang['subscribe_time'] = 'Harpidetza zerrendak eta laburpenak bidali aurretik pasa beharreko denbora (seg); Denbora honek, recent_days-en ezarritakoa baino txikiagoa behar luke.'; $lang['compress'] = 'Trinkotu CSS eta javascript irteera'; -$lang['hidepages'] = 'Ezkutatu kointzidentziak dituzten orriak (espresio erregularrak)'; $lang['send404'] = 'Bidali "HTTP 404/Ez Da Orria Aurkitu" existitzen ez diren orrientzat'; -$lang['sitemap'] = 'Sortu Google gune-mapa (egunak)'; $lang['broken_iua'] = 'Zure sisteman ignore_user_abort (erabiltzailearen bertan behera uztea kontuan ez hartu) funtzioa hautsia al dago? Honek funtzionatzen ez duen bilaketa indize bat eragin dezake. ISS+PHP/CGI hautsiak daude. Ikusi <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> informazio gehiago jasotzeko.'; $lang['xsendfile'] = 'X-Sendfile goiburua erabili web zerbitzariari fitxategi estatikoak bidaltzen uzteko? Zure web zerbitzariak hau ahalbidetuta eduki beharko du.'; $lang['renderer_xhtml'] = 'Erabiliko den errenderizatzailea wiki irteera (xhtml) nagusiarentzat'; $lang['renderer__core'] = '%s (dokuwiki-ren nukleoa)'; $lang['renderer__plugin'] = '%s (plugina)'; -$lang['rememberme'] = 'Baimendu saio hasiera cookie iraunkorrak (gogoratu iezaidazu)'; -$lang['rss_type'] = 'XML jario mota'; -$lang['rss_linkto'] = 'XML jarioak hona estekatzen du'; -$lang['rss_content'] = 'Zer erakutsi XML jarioetan?'; -$lang['rss_update'] = 'XML jarioaren eguneratze tartea (seg)'; -$lang['recent_days'] = 'Zenbat azken aldaketa gordeko dira (egunak)'; -$lang['rss_show_summary'] = 'XML jarioak laburpena erakusten du izenburuan'; -$lang['target____wiki'] = 'Barne estekentzat helburu leihoa'; -$lang['target____interwiki'] = 'Interwiki estekentzat helburu leihoa'; -$lang['target____extern'] = 'Kanpo estekentzat helburu leihoa'; -$lang['target____media'] = 'Multimedia estekentzat helburu leihoa'; -$lang['target____windows'] = 'Leihoen estekentzat helburu leihoa'; $lang['proxy____host'] = 'Proxy zerbitzari izena'; $lang['proxy____port'] = 'Proxy portua'; $lang['proxy____user'] = 'Proxyaren erabiltzaile izena'; diff --git a/lib/plugins/config/lang/fa/lang.php b/lib/plugins/config/lang/fa/lang.php index ba00d5a2d..34c76780c 100644 --- a/lib/plugins/config/lang/fa/lang.php +++ b/lib/plugins/config/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['menu'] = 'تنظیمات پیکربندی'; $lang['error'] = 'به دلیل ایراد در مقادیر وارد شده، تنظیمات اعمال نشد، خواهشمندیم تغییرات را مجددن کنترل نمایید و دوباره ارسال کنید.<br/> مقادیر مشکلدار با کادر قرمز مشخص شدهاند.'; diff --git a/lib/plugins/config/lang/fi/lang.php b/lib/plugins/config/lang/fi/lang.php index f75a18ecd..f3c57d10e 100644 --- a/lib/plugins/config/lang/fi/lang.php +++ b/lib/plugins/config/lang/fi/lang.php @@ -29,6 +29,7 @@ $lang['_anti_spam'] = 'Anti-Spam asetukset'; $lang['_editing'] = 'Sivumuokkauksen asetukset'; $lang['_links'] = 'Linkkien asetukset'; $lang['_media'] = 'Media-asetukset'; +$lang['_notifications'] = 'Ilmoitus-asetukset'; $lang['_advanced'] = 'Lisäasetukset'; $lang['_network'] = 'Verkkoasetukset'; $lang['_plugin_sufix'] = 'liitännäisen asetukset'; @@ -36,26 +37,29 @@ $lang['_template_sufix'] = 'Sivumallin asetukset'; $lang['_msg_setting_undefined'] = 'Ei asetusten metadataa.'; $lang['_msg_setting_no_class'] = 'Ei asetusluokkaa.'; $lang['_msg_setting_no_default'] = 'Ei oletusarvoa'; -$lang['fmode'] = 'Tiedoston luontioikeudet'; -$lang['dmode'] = 'Hakemiston luontioikeudet'; +$lang['title'] = 'Wikin nimi'; +$lang['start'] = 'Alkusivun nimi'; $lang['lang'] = 'Kieli'; +$lang['template'] = 'Sivumalli'; +$lang['tagline'] = 'Apuotsikko - slogan sivustonimen yhteysteen (jos template käyttää)'; +$lang['sidebar'] = 'Sivupalkin sivunimi (jos template tukee sitä), tyhjä arvo poistaa sivupalkin'; +$lang['license'] = 'Millä lisenssillä sisältö pitäisi julkaista?'; +$lang['savedir'] = 'Hakemisto tietojen tallennukseen.'; $lang['basedir'] = 'Perushakemisto'; $lang['baseurl'] = 'Perus URL'; -$lang['savedir'] = 'Hakemisto tietojen tallennukseen.'; $lang['cookiedir'] = 'Cookien path. Jätä tyhjäksi käyttääksesi baseurl arvoa'; -$lang['start'] = 'Alkusivun nimi'; -$lang['title'] = 'Wikin nimi'; -$lang['template'] = 'Sivumalli'; -$lang['license'] = 'Millä lisenssillä sisältö pitäisi julkaista?'; -$lang['fullpath'] = 'Näytä sivun koko polku sivun alareunassa'; +$lang['dmode'] = 'Hakemiston luontioikeudet'; +$lang['fmode'] = 'Tiedoston luontioikeudet'; +$lang['allowdebug'] = 'Salli debuggaus <b>pois, jos ei tarvita!</b>'; $lang['recent'] = 'Viime muutokset'; +$lang['recent_days'] = 'Montako edellistä muutosta säilytetään (päiviä)'; $lang['breadcrumbs'] = 'Leivänmurujen määrä'; $lang['youarehere'] = 'Hierarkkiset leivänmurut'; +$lang['fullpath'] = 'Näytä sivun koko polku sivun alareunassa'; $lang['typography'] = 'Tee typografiset korvaukset'; -$lang['htmlok'] = 'Salli upotettu HTML'; -$lang['phpok'] = 'Salli upotettu PHP'; $lang['dformat'] = 'Päivämäärän muoto (katso PHPn <a href="http://www.php.net/strftime">strftime</a> funktiota)'; $lang['signature'] = 'Allekirjoitus'; +$lang['showuseras'] = 'Mitä näytetään, kun kerrotaan viimeisen editoijan tiedot'; $lang['toptoclevel'] = 'Ylätason sisällysluettelo'; $lang['tocminheads'] = 'Pienin otsikkorivien määrä, jotta sisällysluettelo tehdään'; $lang['maxtoclevel'] = 'Sisällysluettelon suurin syvyys'; @@ -63,15 +67,8 @@ $lang['maxseclevel'] = 'Kappale-editoinnin suurin syvyys.'; $lang['camelcase'] = 'Käytä CamelCase linkkejä'; $lang['deaccent'] = 'Siivoa sivun nimet'; $lang['useheading'] = 'Käytä ensimmäistä otsikkoriviä sivun nimenä.'; -$lang['refcheck'] = 'Mediaviitteen tarkistus'; -$lang['refshow'] = 'Montako mediaviitettä näytetään'; -$lang['allowdebug'] = 'Salli debuggaus <b>pois, jos ei tarvita!</b>'; -$lang['usewordblock'] = 'Estä spam sanalistan avulla'; -$lang['indexdelay'] = 'Aikaraja indeksoinnille (sek)'; -$lang['relnofollow'] = 'Käytä rel="nofollow" ulkoisille linkeille'; -$lang['mailguard'] = 'Häivytä email osoite'; -$lang['iexssprotect'] = 'Tarkista lähetetyt tiedostot pahojen javascript- ja html-koodien varalta'; -$lang['showuseras'] = 'Mitä näytetään, kun kerrotaan viimeisen editoijan tiedot'; +$lang['sneaky_index'] = 'Oletuksena DokuWiki näyttää kaikki nimiavaruudet index-näkymäsä. Tämä asetus piilottaa ne, joihin käyttäjällä ei ole lukuoikeuksia. Tämä voi piilottaa joitakin sallittuja alinimiavaruuksia. Tästä johtuen index-näkymä voi olla käyttökelvoton joillakin ACL-asetuksilla'; +$lang['hidepages'] = 'Piilota seuraavat sivut (säännönmukainen lauseke)'; $lang['useacl'] = 'Käytä käyttöoikeuksien hallintaa'; $lang['autopasswd'] = 'Luo salasana automaattisesti'; $lang['authtype'] = 'Autentikointijärjestelmä'; @@ -80,59 +77,66 @@ $lang['defaultgroup'] = 'Oletusryhmä'; $lang['superuser'] = 'Pääkäyttäjä. Ryhmä tai käyttäjä, jolla on täysi oikeus kaikkiin sivuihin ja toimintoihin käyttöoikeuksista huolimatta'; $lang['manager'] = 'Ylläpitäjä. Ryhmä tai käyttäjä, jolla on pääsy joihinkin ylläpitotoimintoihin'; $lang['profileconfirm'] = 'Vahvista profiilin päivitys salasanan avulla'; +$lang['rememberme'] = 'Salli pysyvät kirjautumis-cookiet (muista minut)'; $lang['disableactions'] = 'Estä DokuWiki-toimintojen käyttö'; $lang['disableactions_check'] = 'Tarkista'; $lang['disableactions_subscription'] = 'Tilaa/Peruuta tilaus'; $lang['disableactions_wikicode'] = 'Näytä lähdekoodi/Vie raakana'; $lang['disableactions_other'] = 'Muut toiminnot (pilkulla erotettuna)'; -$lang['sneaky_index'] = 'Oletuksena DokuWiki näyttää kaikki nimiavaruudet index-näkymäsä. Tämä asetus piilottaa ne, joihin käyttäjällä ei ole lukuoikeuksia. Tämä voi piilottaa joitakin sallittuja alinimiavaruuksia. Tästä johtuen index-näkymä voi olla käyttökelvoton joillakin ACL-asetuksilla'; $lang['auth_security_timeout'] = 'Autentikoinnin aikakatkaisu (sekunteja)'; $lang['securecookie'] = 'Lähetetäänkö HTTPS:n kautta asetetut evästetiedot HTTPS-yhteydellä? Kytke pois, jos vain wikisi kirjautuminen on suojattu SSL:n avulla, mutta muuten wikiä käytetään ilman suojausta.'; +$lang['usewordblock'] = 'Estä spam sanalistan avulla'; +$lang['relnofollow'] = 'Käytä rel="nofollow" ulkoisille linkeille'; +$lang['indexdelay'] = 'Aikaraja indeksoinnille (sek)'; +$lang['mailguard'] = 'Häivytä email osoite'; +$lang['iexssprotect'] = 'Tarkista lähetetyt tiedostot pahojen javascript- ja html-koodien varalta'; +$lang['usedraft'] = 'Tallenna vedos muokkaustilassa automaattisesti '; +$lang['htmlok'] = 'Salli upotettu HTML'; +$lang['phpok'] = 'Salli upotettu PHP'; +$lang['locktime'] = 'Lukitustiedostojen maksimi-ikä (sek)'; +$lang['cachetime'] = 'Välimuisti-tiedostojen maksimi-ikä (sek)'; +$lang['target____wiki'] = 'Kohdeikkuna sisäisissä linkeissä'; +$lang['target____interwiki'] = 'Kohdeikkuna interwiki-linkeissä'; +$lang['target____extern'] = 'Kohdeikkuna ulkoisissa linkeissä'; +$lang['target____media'] = 'Kohdeikkuna media-linkeissä'; +$lang['target____windows'] = 'Kohdeikkuna Windows-linkeissä'; +$lang['mediarevisions'] = 'Otetaan käyttään Media-versiointi'; +$lang['refcheck'] = 'Mediaviitteen tarkistus'; +$lang['refshow'] = 'Montako mediaviitettä näytetään'; +$lang['gdlib'] = 'GD Lib versio'; +$lang['im_convert'] = 'ImageMagick-muunnostyökalun polku'; +$lang['jpg_quality'] = 'JPG pakkauslaatu (0-100)'; +$lang['fetchsize'] = 'Suurin koko (bytejä), jonka fetch.php voi ladata ulkopuolisesta lähteestä'; +$lang['subscribers'] = 'Salli tuki sivujen tilaamiselle'; +$lang['subscribe_time'] = 'Aika jonka jälkeen tilauslinkit ja yhteenveto lähetetään (sek). Tämän pitäisi olla pienempi, kuin recent_days aika.'; +$lang['notify'] = 'Lähetä muutosilmoitukset tähän osoitteeseen'; +$lang['registernotify'] = 'Lähetä ilmoitus uusista rekisteröitymisistä tähän osoitteeseen'; +$lang['mailfrom'] = 'Sähköpostiosoite automaattisia postituksia varten'; +$lang['mailprefix'] = 'Etuliite automaattisesti lähetettyihin dähköposteihin'; +$lang['sitemap'] = 'Luo Google sitemap (päiviä)'; +$lang['rss_type'] = 'XML-syötteen tyyppi'; +$lang['rss_linkto'] = 'XML-syöte kytkeytyy'; +$lang['rss_content'] = 'Mitä XML-syöte näyttää?'; +$lang['rss_update'] = 'XML-syötteen päivitystahti (sek)'; +$lang['rss_show_summary'] = 'XML-syöte näyttää yhteenvedon otsikossa'; $lang['updatecheck'] = 'Tarkista päivityksiä ja turvavaroituksia? Tätä varten DokuWikin pitää ottaa yhteys update.dokuwiki.orgiin.'; $lang['userewrite'] = 'Käytä siivottuja URLeja'; $lang['useslash'] = 'Käytä kauttaviivaa nimiavaruuksien erottimena URL-osoitteissa'; -$lang['usedraft'] = 'Tallenna vedos muokkaustilassa automaattisesti '; $lang['sepchar'] = 'Sivunimen sanaerotin'; $lang['canonical'] = 'Käytä kanonisoituja URLeja'; $lang['fnencode'] = 'Muita kuin ASCII merkkejä sisältävien tiedostonimien koodaustapa.'; $lang['autoplural'] = 'Etsi monikkomuotoja linkeistä'; $lang['compression'] = 'Attic-tiedostojen pakkausmenetelmä'; -$lang['cachetime'] = 'Välimuisti-tiedostojen maksimi-ikä (sek)'; -$lang['locktime'] = 'Lukitustiedostojen maksimi-ikä (sek)'; -$lang['fetchsize'] = 'Suurin koko (bytejä), jonka fetch.php voi ladata ulkopuolisesta lähteestä'; -$lang['notify'] = 'Lähetä muutosilmoitukset tähän osoitteeseen'; -$lang['registernotify'] = 'Lähetä ilmoitus uusista rekisteröitymisistä tähän osoitteeseen'; -$lang['mailfrom'] = 'Sähköpostiosoite automaattisia postituksia varten'; -$lang['mailprefix'] = 'Etuliite automaattisesti lähetettyihin dähköposteihin'; $lang['gzip_output'] = 'Käytä gzip "Content-Encoding"-otsaketta xhtml-tiedostojen lähettämiseen'; -$lang['gdlib'] = 'GD Lib versio'; -$lang['im_convert'] = 'ImageMagick-muunnostyökalun polku'; -$lang['jpg_quality'] = 'JPG pakkauslaatu (0-100)'; -$lang['subscribers'] = 'Salli tuki sivujen tilaamiselle'; -$lang['subscribe_time'] = 'Aika jonka jälkeen tilauslinkit ja yhteenveto lähetetään (sek). Tämän pitäisi olla pienempi, kuin recent_days aika.'; $lang['compress'] = 'Pakkaa CSS ja javascript'; $lang['cssdatauri'] = 'Maksimikoko tavuina jossa kuvat joihin viitataan CSS-tiedostoista olisi sisällytettynä suoraan tyylitiedostoon jotta HTTP-kyselyjen kaistaa saataisiin kutistettua. Tämä tekniikka ei toimi IE versiossa aikasempi kuin 8! <code>400:sta</code> <code>600:aan</code> tavua on hyvä arvo. Aseta <code>0</code> kytkeäksesi ominaisuuden pois.'; -$lang['hidepages'] = 'Piilota seuraavat sivut (säännönmukainen lauseke)'; $lang['send404'] = 'Lähetä "HTTP 404/Page Not Found" puuttuvista sivuista'; -$lang['sitemap'] = 'Luo Google sitemap (päiviä)'; $lang['broken_iua'] = 'Onko "ignore_user_abort" toiminto rikki järjestelmässäsi? Tämä voi aiheuttaa toimimattoman index-näkymän. IIS+PHP/CGI on tunnetusti rikki. Katso <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> lisätietoja varten.'; $lang['xsendfile'] = 'Käytä X-Sendfile otsikkoa, kun web-palvelin lähettää staattisia tiedostoja? Palvelimesi pitää tukea tätä.'; $lang['renderer_xhtml'] = 'Renderöinti, jota käytetään wikin pääasialliseen (xhtml) tulostukseen'; $lang['renderer__core'] = '%s (dokuwiki core)'; $lang['renderer__plugin'] = '%s (liitännäinen)'; -$lang['rememberme'] = 'Salli pysyvät kirjautumis-cookiet (muista minut)'; -$lang['rss_type'] = 'XML-syötteen tyyppi'; -$lang['rss_linkto'] = 'XML-syöte kytkeytyy'; -$lang['rss_content'] = 'Mitä XML-syöte näyttää?'; -$lang['rss_update'] = 'XML-syötteen päivitystahti (sek)'; -$lang['recent_days'] = 'Montako edellistä muutosta säilytetään (päiviä)'; -$lang['rss_show_summary'] = 'XML-syöte näyttää yhteenvedon otsikossa'; -$lang['target____wiki'] = 'Kohdeikkuna sisäisissä linkeissä'; -$lang['target____interwiki'] = 'Kohdeikkuna interwiki-linkeissä'; -$lang['target____extern'] = 'Kohdeikkuna ulkoisissa linkeissä'; -$lang['target____media'] = 'Kohdeikkuna media-linkeissä'; -$lang['target____windows'] = 'Kohdeikkuna Windows-linkeissä'; $lang['proxy____host'] = 'Proxy-palvelimen nimi'; $lang['proxy____port'] = 'Proxy portti'; $lang['proxy____user'] = 'Proxy käyttäjän nimi'; diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index 591e9f2fb..af2217af5 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -18,6 +18,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['menu'] = 'Paramètres de configuration'; $lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez. <br />Les valeurs erronées sont entourées d\'une bordure rouge.'; @@ -95,6 +96,7 @@ $lang['disableactions_other'] = 'Autres actions (séparées par des virgules)'; $lang['auth_security_timeout'] = 'Délai d\'expiration de sécurité (secondes)'; $lang['securecookie'] = 'Les cookies mis via HTTPS doivent-ils n\'être envoyé par le navigateur que via HTTPS ? Ne désactivez cette option que si la connexion à votre wiki est sécurisée avec SSL mais que la navigation sur le wiki n\'est pas sécurisée.'; $lang['remote'] = 'Active l\'API système distante. Ceci autorise d\'autres applications à accéder au wiki via XML-RPC ou d\'autres mécanismes.'; +$lang['remoteuser'] = 'Restreindre l\'accès à l\'API par une liste de groupes ou d\'utilisateurs séparés par une virgule. Laisser vide pour donner l\'accès à n\'importe qui.'; $lang['usewordblock'] = 'Bloquer le spam selon les mots utilisés'; $lang['relnofollow'] = 'Utiliser rel="nofollow" sur les liens extérieurs'; $lang['indexdelay'] = 'Délai avant l\'indexation (en secondes)'; diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 91c92bd85..751e5ee95 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -14,6 +14,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['menu'] = 'Configurazione Wiki'; $lang['error'] = 'Impostazioni non aggiornate a causa di un valore non corretto, controlla le modifiche apportate e salva di nuovo. @@ -49,6 +50,7 @@ $lang['title'] = 'Titolo del wiki'; $lang['start'] = 'Nome della pagina iniziale'; $lang['lang'] = 'Lingua'; $lang['template'] = 'Modello'; +$lang['tagline'] = 'Tagline (se il template lo supporta)'; $lang['sidebar'] = 'Nome pagina in barra laterale (se il template lo supporta), il campo vuoto disabilita la barra laterale'; $lang['license'] = 'Sotto quale licenza vorresti rilasciare il tuo contenuto?'; $lang['savedir'] = 'Directory per il salvataggio dei dati'; @@ -140,6 +142,7 @@ $lang['autoplural'] = 'Controlla il plurale nei collegamenti'; $lang['compression'] = 'Usa la compressione per i file dell\'archivio'; $lang['gzip_output'] = 'Usa il Content-Encoding gzip per xhtml'; $lang['compress'] = 'Comprimi i file CSS e javascript'; +$lang['cssdatauri'] = 'Dimensione massima in byte di un\'immagine che può essere integrata nel CSS per ridurre l\'overhead delle richieste HTTP. Questa tecnica non funziona con IE7 e precedenti! Da <code>400</code> a <code>600</code> bytes è un buon valore. Impostare a <code>0</code> per disabilitare.'; $lang['send404'] = 'Invia "HTTP 404/Pagina non trovata" per le pagine inesistenti'; $lang['broken_iua'] = 'La funzione ignore_user_abort non funziona sul tuo sistema? Questo potrebbe far sì che l\'indice di ricerca sia inutilizzabile. È noto che nella configurazione IIS+PHP/CGI non funziona. Vedi il<a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> per maggiori informazioni.'; $lang['xsendfile'] = 'Usare l\'header X-Sendfile per permettere al webserver di fornire file statici? Questa funzione deve essere supportata dal tuo webserver.'; diff --git a/lib/plugins/config/lang/ko/intro.txt b/lib/plugins/config/lang/ko/intro.txt index f6b76ecfc..5ef34df64 100644 --- a/lib/plugins/config/lang/ko/intro.txt +++ b/lib/plugins/config/lang/ko/intro.txt @@ -1,7 +1,7 @@ ====== 환경 설정 관리 ====== -DokuWiki 설치할 때 설정을 변경하기 위해 사용하는 페이지입니다. 각 설정에 대한 자세한 도움말이 필요하다면 [[doku>ko:config|설정 문서 (한국어)]]와 [[doku>config|설정 문서 (영어)]]를 참고하세요. +DokuWiki 설치할 때 설정을 바꾸기 위해 사용하는 페이지입니다. 각 설정에 대한 자세한 도움말이 필요하다면 [[doku>ko:config|설정 문서 (한국어)]]와 [[doku>config|설정 문서 (영어)]]를 참고하세요. -플러그인에 대한 자세한 정보가 필요하다면 [[doku>plugin:config|플러그인 설정]] 문서를 참고하세요. 빨간 배경색으로 보이는 설정은 이 플러그인에서 변경하지 못하도록 되어있습니다. 파란 배경색으로 보이는 설정은 기본 설정값을 가지고 있습니다. 하얀 배경색으로 보이는 설정은 특별한 설치를 위해 설정되어 있습니다. 파란색과 하얀색 배경으로 된 설정은 수정이 가능합니다. +플러그인에 대한 자세한 정보가 필요하다면 [[doku>plugin:config|플러그인 설정]] 문서를 참고하세요. 빨간 배경색으로 보이는 설정은 이 플러그인에서 바꾸지 못하도록 되어있습니다. 파란 배경색으로 보이는 설정은 기본 설정값을 가지고 있습니다. 하얀 배경색으로 보이는 설정은 특별한 설치를 위해 설정되어 있습니다. 파란색과 하얀색 배경으로 된 설정은 수정이 가능합니다. 이 페이지를 끝내기 전에 **저장** 버튼을 누르지 않으면 설정값은 적용되지 않습니다. diff --git a/lib/plugins/config/lang/ko/lang.php b/lib/plugins/config/lang/ko/lang.php index 5f90044e4..cd2cc6d6c 100644 --- a/lib/plugins/config/lang/ko/lang.php +++ b/lib/plugins/config/lang/ko/lang.php @@ -12,9 +12,9 @@ * @author Myeongjin <aranet100@gmail.com> */ $lang['menu'] = '환경 설정'; -$lang['error'] = '잘못된 값 때문에 설정을 변경할 수 없습니다. 수정한 값을 검토하고 확인을 누르세요. +$lang['error'] = '잘못된 값 때문에 설정을 바꿀 수 없습니다. 수정한 값을 검토하고 확인을 누르세요. <br />잘못된 값은 빨간 선으로 둘러싸여 있습니다.'; -$lang['updated'] = '설정이 성공적으로 변경되었습니다.'; +$lang['updated'] = '설정이 성공적으로 바뀌었습니다.'; $lang['nochoice'] = '(다른 선택이 불가능합니다.)'; $lang['locked'] = '환경 설정 파일을 수정할 수 없습니다. 의도한 행동이 아니라면,<br /> 파일 이름과 권한이 맞는지 확인하기 바랍니다. '; @@ -39,9 +39,9 @@ $lang['_advanced'] = '고급 설정'; $lang['_network'] = '네트워크 설정'; $lang['_plugin_sufix'] = '플러그인 설정'; $lang['_template_sufix'] = '템플릿 설정'; -$lang['_msg_setting_undefined'] = '설정되지 않은 메타데이터.'; -$lang['_msg_setting_no_class'] = '설정되지 않은 클래스.'; -$lang['_msg_setting_no_default'] = '기본값 없음.'; +$lang['_msg_setting_undefined'] = '설정된 메타데이터가 없습니다.'; +$lang['_msg_setting_no_class'] = '설정된 클래스가 없습니다.'; +$lang['_msg_setting_no_default'] = '기본값이 없습니다.'; $lang['title'] = '위키 제목 (위키 이름)'; $lang['start'] = '각 이름공간에서 사용할 시작 문서 이름'; $lang['lang'] = '인터페이스 언어'; @@ -53,12 +53,12 @@ $lang['savedir'] = '데이타 저장 디렉토리'; $lang['basedir'] = '서버 경로 (예를 들어 <code>/dokuwiki/</code>). 자동 감지를 하려면 비우세요.'; $lang['baseurl'] = '서버 URL (예를 들어 <code>http://www.yourserver.com</code>). 자동 감지를 하려면 비우세요.'; $lang['cookiedir'] = '쿠키 위치. 비워두면 기본 URL 위치로 지정됩니다.'; -$lang['dmode'] = '디렉토리 생성 모드'; -$lang['fmode'] = '파일 생성 모드'; +$lang['dmode'] = '디렉토리 만들기 모드'; +$lang['fmode'] = '파일 만들기 모드'; $lang['allowdebug'] = '디버그 허용 <b>필요하지 않으면 금지!</b>'; $lang['recent'] = '최근 바뀐 문서당 항목 수'; $lang['recent_days'] = '최근 바뀐 문서 기준 시간 (날짜)'; -$lang['breadcrumbs'] = '위치 "추적" 수. 0으로 설정하면 비활성화함.'; +$lang['breadcrumbs'] = '위치 "추적" 수. 0으로 설정하면 비활성화합니다.'; $lang['youarehere'] = '계층형 위치 추적 (다음 위의 옵션을 비활성화하고 싶습니다)'; $lang['fullpath'] = '문서 하단에 전체 경로 보여주기'; $lang['typography'] = '기호 대체'; @@ -80,21 +80,21 @@ $lang['autopasswd'] = '자동으로 만들어진 비밀번호'; $lang['authtype'] = '인증 백-엔드'; $lang['passcrypt'] = '비밀번호 암호화 방법'; $lang['defaultgroup'] = '기본 그룹, 모든 새 사용자는 이 그룹에 속합니다'; -$lang['superuser'] = '슈퍼 유저 - ACL 설정과 상관없이 모든 문서와 기능에 대한 전체 접근 권한을 가진 그룹이나 사용자. 사용자1,@그룹1,사용자2 쉼표로 구분한 목록'; -$lang['manager'] = '관리자 - 관리 기능을 사용할 수 있는 그룹이나 사용자. 사용자1,@그룹1,사용자2 쉼표로 구분한 목록'; +$lang['superuser'] = '슈퍼 유저 - ACL 설정과 상관없이 모든 문서와 기능에 대한 전체 접근 권한을 가진 그룹이나 사용자 또는 사용자1,@그룹1,사용자2 쉼표로 구분한 목록'; +$lang['manager'] = '관리자 - 관리 기능을 사용할 수 있는 그룹이나 사용자 또는 사용자1,@그룹1,사용자2 쉼표로 구분한 목록'; $lang['profileconfirm'] = '개인 정보를 바꿀 때 비밀번호 다시 확인'; $lang['rememberme'] = '항상 로그인 정보 저장 허용 (기억하기)'; $lang['disableactions'] = 'DokuWiki 활동 비활성화'; $lang['disableactions_check'] = '검사'; $lang['disableactions_subscription'] = '구독 신청/해지'; -$lang['disableactions_wikicode'] = '내용 보기/원시 내보대기'; +$lang['disableactions_wikicode'] = '내용 보기/원본 내보대기'; $lang['disableactions_other'] = '다른 활동 (쉼표로 구분)'; $lang['auth_security_timeout'] = '인증 보안 초과 시간 (초)'; $lang['securecookie'] = 'HTTPS로 보내진 쿠키는 HTTPS에만 적용 할까요? 위키의 로그인 페이지만 SSL로 암호화하고 위키 문서는 그렇지 않은 경우 비활성화 합니다.'; -$lang['remote'] = '원격 API를 활성화 합니다. 이 항목을 허용하면 XML-RPC 및 기타 메카니즘을 통해 다른 어플리케이션으로 접근가능합니다.'; +$lang['remote'] = '원격 API를 활성화 합니다. 이 항목을 허용하면 XML-RPC 및 기타 메카니즘을 통해 다른 어플리케이션으로 접근 가능합니다.'; $lang['remoteuser'] = '이 항목에 입력된 쉼표로 나눠진 그룹이나 사용자에게 원격 API 접근을 제한합니다. 빈칸으로 두면 모두에게 허용합니다.'; $lang['usewordblock'] = '금지 단어를 사용해 스팸 막기'; -$lang['relnofollow'] = '외부 링크에 rel="nofollow" 사용'; +$lang['relnofollow'] = '바깥 링크에 rel="nofollow" 사용'; $lang['indexdelay'] = '색인 연기 시간 (초)'; $lang['mailguard'] = '이메일 주소를 알아볼 수 없게 하기'; $lang['iexssprotect'] = '올린 파일의 악성 자바스크립트, HTML 코드 가능성 여부를 검사'; @@ -105,7 +105,7 @@ $lang['locktime'] = '최대 파일 잠금 시간(초)'; $lang['cachetime'] = '최대 캐시 생존 시간 (초)'; $lang['target____wiki'] = '내부 링크에 대한 타겟 창'; $lang['target____interwiki'] = '인터위키 링크에 대한 타겟 창'; -$lang['target____extern'] = '외부 링크에 대한 타겟 창'; +$lang['target____extern'] = '바깥 링크에 대한 타겟 창'; $lang['target____media'] = '미디어 링크에 대한 타겟 창'; $lang['target____windows'] = '창 링크에 대한 타겟 창'; $lang['mediarevisions'] = '미디어 버전 관리를 사용하겠습니까?'; @@ -114,9 +114,9 @@ $lang['refshow'] = '위의 설정이 활성화되었을 때 보여 $lang['gdlib'] = 'GD 라이브러리 버전'; $lang['im_convert'] = 'ImageMagick 변환 도구 위치'; $lang['jpg_quality'] = 'JPG 압축 품질 (0-100)'; -$lang['fetchsize'] = 'fetch.php가 외부에서 다운로드할 수도 있는 최대 크기 (바이트)'; +$lang['fetchsize'] = 'fetch.php가 바깥에서 다운로드할 수도 있는 최대 크기 (바이트)'; $lang['subscribers'] = '사용자가 이메일로 문서 바뀜에 구독하도록 허용'; -$lang['subscribe_time'] = '구독 목록과 요약이 보내질 경과 시간 (초); 이 것은 recent_days에서 설정된 시간보다 작아야 합니다.'; +$lang['subscribe_time'] = '구독 목록과 요약이 보내질 경과 시간 (초); recent_days에서 설정된 시간보다 작아야 합니다.'; $lang['notify'] = '항상 이 이메일 주소로 바뀜 알림을 보냄'; $lang['registernotify'] = '항상 새 사용자한테 이 이메일 주소로 정보를 보냄'; $lang['mailfrom'] = '자동으로 보내지는 메일 발신자'; @@ -127,7 +127,7 @@ $lang['rss_type'] = 'XML 피드 타입'; $lang['rss_linkto'] = 'XML 피드 링크 정보'; $lang['rss_content'] = 'XML 피드 항목에 표시되는 내용은?'; $lang['rss_update'] = 'XML 피드 업데이트 주기 (초)'; -$lang['rss_show_summary'] = 'XML 피드 제목에서 요약정보 보여주기'; +$lang['rss_show_summary'] = 'XML 피드 제목에서 요약 보여주기'; $lang['rss_media'] = '어떤 규격으로 XML 피드를 받아보시겠습니까?'; $lang['updatecheck'] = '업데이트와 보안 문제를 검사할까요? 이 기능을 사용하려면 DokuWiki를 update.dokuwiki.org에 연결해야 합니다.'; $lang['userewrite'] = '멋진 URL 사용'; @@ -141,9 +141,8 @@ $lang['gzip_output'] = 'xhml 내용 gzip 압축 사용'; $lang['compress'] = '최적화된 CSS, 자바스크립트 출력'; $lang['cssdatauri'] = '그림이 렌더링될 최대 용량 크기를 CSS에 규정해야 HTTP 요청 헤더 오버헤드 크기를 감소시킬 수 있습니다. 이 기술은 IE 7 이하에서는 작동하지 않습니다! <code>400</code>에서 <code>600</code> 정도면 좋은 효율을 가져옵니다. <code>0</code>로 지정할 경우 비활성화 됩니다.'; $lang['send404'] = '존재하지 않는 페이지에 대해 "HTTP 404/Page Not Found" 응답'; -$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있으면 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a>를 참고하기 바랍니다.'; -$lang['xsendfile'] = '웹 서버 static 파일 전송 지원을 위해 X-Sendfile 헤더를 사용한다면 이 옵션을 사용합니다. -웹 서버가 이 기능을 지원해야 합니다.'; +$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있습니까? 문제가 있다면 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.dokuwiki.org/?do=details&task_id=852">버그 852</a>를 참고하기 바랍니다.'; +$lang['xsendfile'] = '웹 서버가 정적 파일을 제공하도록 X-Sendfile 헤더를 사용하겠습니까? 웹 서버가 이 기능을 지원해야 합니다.'; $lang['renderer_xhtml'] = '주 (xhtml) 위키 출력 처리기'; $lang['renderer__core'] = '%s (DokuWiki 내부 기능)'; $lang['renderer__plugin'] = '%s (플러그인)'; diff --git a/lib/plugins/config/lang/lv/lang.php b/lib/plugins/config/lang/lv/lang.php index f95697c46..50031d5e5 100644 --- a/lib/plugins/config/lang/lv/lang.php +++ b/lib/plugins/config/lang/lv/lang.php @@ -33,25 +33,26 @@ $lang['_template_sufix'] = 'šablona iestatījumi'; $lang['_msg_setting_undefined'] = 'Nav atrodami iestatījumu metadati'; $lang['_msg_setting_no_class'] = 'Nav iestatījumu klases'; $lang['_msg_setting_no_default'] = 'Nav noklusētās vērtības'; -$lang['fmode'] = 'Tiesības izveidotajiem failiem'; -$lang['dmode'] = 'Tiesības izveidotajām direktorijām'; -$lang['lang'] = 'Valoda'; -$lang['basedir'] = 'Saknes direktorija'; -$lang['baseurl'] = 'Saknes adrese (URL)'; -$lang['savedir'] = 'Direktorija datu glabāšanai'; -$lang['start'] = 'Sākumlapas vārds'; $lang['title'] = 'Wiki virsraksts'; +$lang['start'] = 'Sākumlapas vārds'; +$lang['lang'] = 'Valoda'; $lang['template'] = 'Šablons'; $lang['license'] = 'Ar kādu licenci saturs tiks publicēts?'; -$lang['fullpath'] = 'Norādīt kājenē pilnu lapas ceļu'; +$lang['savedir'] = 'Direktorija datu glabāšanai'; +$lang['basedir'] = 'Saknes direktorija'; +$lang['baseurl'] = 'Saknes adrese (URL)'; +$lang['dmode'] = 'Tiesības izveidotajām direktorijām'; +$lang['fmode'] = 'Tiesības izveidotajiem failiem'; +$lang['allowdebug'] = 'Ieslēgt atkļūdošanu. <b>Izslēdz!</b>'; $lang['recent'] = 'Jaunākie grozījumi'; +$lang['recent_days'] = 'Cik dienas glabāt jaunākās izmaiņas'; $lang['breadcrumbs'] = 'Apmeklējumu vēstures garums'; $lang['youarehere'] = 'Rādīt "tu atrodies šeit"'; +$lang['fullpath'] = 'Norādīt kājenē pilnu lapas ceļu'; $lang['typography'] = 'Veikt tipogrāfijas aizvietošanu'; -$lang['htmlok'] = 'Atļaut iekļautu HTTP'; -$lang['phpok'] = 'Atļaut iekļautu PHP'; $lang['dformat'] = 'Datuma formāts (sk. PHP <a href="http://www.php.net/strftime">strftime</a> funkciju)'; $lang['signature'] = 'Paraksts'; +$lang['showuseras'] = 'Kā rādīt pēdējo lietotāju, ka labojis lapu'; $lang['toptoclevel'] = 'Satura rādītāja pirmais līmenis'; $lang['tocminheads'] = 'Mazākais virsrakstu skaits, no kuriem jāveido satura rādītājs.'; $lang['maxtoclevel'] = 'Satura rādītāja dziļākais līmenis'; @@ -59,15 +60,8 @@ $lang['maxseclevel'] = 'Dziļākais sekciju labošanas līmenis'; $lang['camelcase'] = 'Lietot saitēm CamelCase'; $lang['deaccent'] = 'Lapu nosaukumu transliterācija'; $lang['useheading'] = 'Izmantot pirmo virsrakstu lapu nosaukumiem'; -$lang['refcheck'] = 'Pārbaudīt saites uz mēdiju failiem'; -$lang['refshow'] = 'Cik saites uz mēdiju failiem rādīt'; -$lang['allowdebug'] = 'Ieslēgt atkļūdošanu. <b>Izslēdz!</b>'; -$lang['usewordblock'] = 'Bloķēt spamu pēc slikto vārdu saraksta.'; -$lang['indexdelay'] = 'Laika aizture pirms indeksācijas (sekundēs)'; -$lang['relnofollow'] = 'rel="nofollow" ārējām saitēm'; -$lang['mailguard'] = 'Slēpt epasta adreses'; -$lang['iexssprotect'] = 'Pārbaudīt, vai augšupielādētajā failā nav nav potenciāli bīstamā JavaScript vai HTML koda.'; -$lang['showuseras'] = 'Kā rādīt pēdējo lietotāju, ka labojis lapu'; +$lang['sneaky_index'] = 'Pēc noklusētā DokuWiki lapu sarakstā parāda visu nodaļu lapas. Ieslēdzot šo parametru, noslēps tās nodaļas, kuras apmeklētājam nav tiesības lasīt. Bet tad tiks arī paslēptas dziļākas, bet atļautas nodaļas. Atsevišķos pieejas tiesību konfigurācijas gadījumos lapu saraksts var nedarboties.'; +$lang['hidepages'] = 'Slēpt lapas (regulāras izteiksmes)'; $lang['useacl'] = 'Izmantot piekļuves tiesības'; $lang['autopasswd'] = 'Automātiski ģenerēt paroles'; $lang['authtype'] = 'Autentifikācijas mehānisms'; @@ -76,57 +70,63 @@ $lang['defaultgroup'] = 'Noklusētā grupa'; $lang['superuser'] = 'Administrators - grupa, lietotājs vai to saraksts ( piem.: user1,@group1,user2), kam ir pilnas tiesības.'; $lang['manager'] = 'Pārziņi - grupa, lietotājs vai to saraksts ( piem.: user1,@group1,user2), kam ir pieeja pie dažām administrēšanas funkcijām.'; $lang['profileconfirm'] = 'Profila labošanai vajag paroli'; +$lang['rememberme'] = 'Atļaut pastāvīgas ielogošanās sīkdatnes ("atceries mani")'; $lang['disableactions'] = 'Bloķēt Dokuwiki darbības'; $lang['disableactions_check'] = 'atzīmēt'; $lang['disableactions_subscription'] = 'abonēt/atteikties'; $lang['disableactions_wikicode'] = 'skatīt/eksportēt izejtekstu'; $lang['disableactions_other'] = 'citas darbības (atdalīt ar komatiem)'; -$lang['sneaky_index'] = 'Pēc noklusētā DokuWiki lapu sarakstā parāda visu nodaļu lapas. Ieslēdzot šo parametru, noslēps tās nodaļas, kuras apmeklētājam nav tiesības lasīt. Bet tad tiks arī paslēptas dziļākas, bet atļautas nodaļas. Atsevišķos pieejas tiesību konfigurācijas gadījumos lapu saraksts var nedarboties.'; $lang['auth_security_timeout'] = 'Autorizācijas drošības intervāls (sekundēs)'; $lang['securecookie'] = 'Vai pa HTTPS sūtāmās sīkdatnes sūtīt tikai pa HTTPS? Atslēdz šo iespēju, kad tikai pieteikšanās wiki sistēmā notiek pa SSL šifrētu savienojumu, bet skatīšana - pa nešifrētu.'; +$lang['usewordblock'] = 'Bloķēt spamu pēc slikto vārdu saraksta.'; +$lang['relnofollow'] = 'rel="nofollow" ārējām saitēm'; +$lang['indexdelay'] = 'Laika aizture pirms indeksācijas (sekundēs)'; +$lang['mailguard'] = 'Slēpt epasta adreses'; +$lang['iexssprotect'] = 'Pārbaudīt, vai augšupielādētajā failā nav nav potenciāli bīstamā JavaScript vai HTML koda.'; +$lang['usedraft'] = 'Labojot automātiski saglabāt melnrakstu'; +$lang['htmlok'] = 'Atļaut iekļautu HTTP'; +$lang['phpok'] = 'Atļaut iekļautu PHP'; +$lang['locktime'] = 'Bloķēšanas failu maksimālais vecums'; +$lang['cachetime'] = 'Bufera maksimālais vecums (sek)'; +$lang['target____wiki'] = 'Kur atvērt iekšējās saites'; +$lang['target____interwiki'] = 'Kur atvērt saites strap wiki'; +$lang['target____extern'] = 'Kur atvērt ārējās saites'; +$lang['target____media'] = 'Kur atvērt mēdiju saites'; +$lang['target____windows'] = 'Kur atvērt saites uz tīkla mapēm'; +$lang['refcheck'] = 'Pārbaudīt saites uz mēdiju failiem'; +$lang['refshow'] = 'Cik saites uz mēdiju failiem rādīt'; +$lang['gdlib'] = 'GD Lib versija'; +$lang['im_convert'] = 'Ceļš uz ImageMagick convert rīku'; +$lang['jpg_quality'] = 'JPG saspiešanas kvalitāte'; +$lang['fetchsize'] = 'Maksimālais faila apjoms baitos, ko fetch.php var ielādēt no interneta.'; +$lang['subscribers'] = 'Atļaut abonēt izmaiņas'; +$lang['subscribe_time'] = 'Pēc cik ilga laika izsūtīt abonētos sarakstus un kopsavilkumus (sekundes); jābūt mazākam par laiku, kas norādīts "recent_days".'; +$lang['notify'] = 'Nosūtīt izmaiņu paziņojumu uz epasta adresi'; +$lang['registernotify'] = 'Nosūtīt paziņojumu par jauniem lietotājiem uz epasta adresi'; +$lang['mailfrom'] = 'Epasta adrese automātiskajiem paziņojumiem'; +$lang['mailprefix'] = 'E-pasta temata prefikss automātiskajiem paziņojumiem'; +$lang['sitemap'] = 'Lapas karte priekš Google (dienas)'; +$lang['rss_type'] = 'XML barotnes veids'; +$lang['rss_linkto'] = 'XML barotnes uz '; +$lang['rss_content'] = 'Ko attēlot XML barotnē?'; +$lang['rss_update'] = 'XML barotnes atjaunošanas intervāls (sec)'; +$lang['rss_show_summary'] = 'Rādīt visrakstos XML barotnes kopsavilkumu '; $lang['updatecheck'] = 'Pārbaudīt, vai pieejami atjauninājumi un drošības brīdinājumi? Dokuwiki sazināsies ar update.dokuwiki.org'; $lang['userewrite'] = 'Ērti lasāmas adreses (URL)'; $lang['useslash'] = 'Lietot slīpiņu par URL atdalītāju'; -$lang['usedraft'] = 'Labojot automātiski saglabāt melnrakstu'; $lang['sepchar'] = 'Lapas nosaukuma vārdu atdalītājs'; $lang['canonical'] = 'Lietot kanoniskus URL'; $lang['fnencode'] = 'Ne ASCII failvārdu kodēšanas metode:'; $lang['autoplural'] = 'Automātisks daudzskaitlis'; $lang['compression'] = 'Saspiešanas metode vecajiem failiem'; -$lang['cachetime'] = 'Bufera maksimālais vecums (sek)'; -$lang['locktime'] = 'Bloķēšanas failu maksimālais vecums'; -$lang['fetchsize'] = 'Maksimālais faila apjoms baitos, ko fetch.php var ielādēt no interneta.'; -$lang['notify'] = 'Nosūtīt izmaiņu paziņojumu uz epasta adresi'; -$lang['registernotify'] = 'Nosūtīt paziņojumu par jauniem lietotājiem uz epasta adresi'; -$lang['mailfrom'] = 'Epasta adrese automātiskajiem paziņojumiem'; -$lang['mailprefix'] = 'E-pasta temata prefikss automātiskajiem paziņojumiem'; $lang['gzip_output'] = 'Lietot gzip Content-Encoding priekš xhtml'; -$lang['gdlib'] = 'GD Lib versija'; -$lang['im_convert'] = 'Ceļš uz ImageMagick convert rīku'; -$lang['jpg_quality'] = 'JPG saspiešanas kvalitāte'; -$lang['subscribers'] = 'Atļaut abonēt izmaiņas'; -$lang['subscribe_time'] = 'Pēc cik ilga laika izsūtīt abonētos sarakstus un kopsavilkumus (sekundes); jābūt mazākam par laiku, kas norādīts "recent_days".'; $lang['compress'] = 'Saspiest CSS un javascript failus'; -$lang['hidepages'] = 'Slēpt lapas (regulāras izteiksmes)'; $lang['send404'] = 'Par neesošām lapām atbildēt "HTTP 404/Page Not Found" '; -$lang['sitemap'] = 'Lapas karte priekš Google (dienas)'; $lang['broken_iua'] = 'Varbūt tavā serverī nedarbojas funkcija ignore_user_abort? Tā dēļ var nestādāt meklēšanas indeksācija. Šī problēma sastopama, piemēram, IIS ar PHP/CGI. Papildus informāciju skatīt <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Kļūdā Nr.852</a>.'; $lang['xsendfile'] = 'Lietot X-Sendfile virsrakstu, augšupielādējot failu serverī? '; $lang['renderer_xhtml'] = 'Galveno (xhtml) wiki saturu renderēt ar '; $lang['renderer__core'] = '%s (dokuwiki kodols)'; $lang['renderer__plugin'] = '%s (modulis)'; -$lang['rememberme'] = 'Atļaut pastāvīgas ielogošanās sīkdatnes ("atceries mani")'; -$lang['rss_type'] = 'XML barotnes veids'; -$lang['rss_linkto'] = 'XML barotnes uz '; -$lang['rss_content'] = 'Ko attēlot XML barotnē?'; -$lang['rss_update'] = 'XML barotnes atjaunošanas intervāls (sec)'; -$lang['recent_days'] = 'Cik dienas glabāt jaunākās izmaiņas'; -$lang['rss_show_summary'] = 'Rādīt visrakstos XML barotnes kopsavilkumu '; -$lang['target____wiki'] = 'Kur atvērt iekšējās saites'; -$lang['target____interwiki'] = 'Kur atvērt saites strap wiki'; -$lang['target____extern'] = 'Kur atvērt ārējās saites'; -$lang['target____media'] = 'Kur atvērt mēdiju saites'; -$lang['target____windows'] = 'Kur atvērt saites uz tīkla mapēm'; $lang['proxy____host'] = 'Proxy servera vārds'; $lang['proxy____port'] = 'Proxy ports'; $lang['proxy____user'] = 'Proxy lietotāja vārds'; diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php index e0c9d7d7c..85dc2c4c7 100644 --- a/lib/plugins/config/lang/nl/lang.php +++ b/lib/plugins/config/lang/nl/lang.php @@ -15,6 +15,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['menu'] = 'Configuratie-instellingen'; $lang['error'] = 'De instellingen zijn niet gewijzigd wegens een incorrecte waarde, kijk je wijzigingen na en sla dan opnieuw op.<br />Je kunt de incorrecte waarde(s) herkennen aan de rode rand.'; @@ -59,14 +60,14 @@ $lang['cookiedir'] = 'Cookie pad. Laat leeg om de basis URL te gebru $lang['dmode'] = 'Directory-aanmaak-modus (directory creation mode)'; $lang['fmode'] = 'Bestandaanmaak-modus (file creation mode)'; $lang['allowdebug'] = 'Debug toestaan <b>uitzetten indien niet noodzakelijk!</b>'; -$lang['recent'] = 'Recente wijzigingen'; +$lang['recent'] = 'Het aantal regels in Recente wijzigingen'; $lang['recent_days'] = 'Hoeveel recente wijzigingen bewaren (dagen)'; -$lang['breadcrumbs'] = 'Aantal broodkruimels'; -$lang['youarehere'] = 'Hierarchische broodkruimels'; +$lang['breadcrumbs'] = 'Aantal broodkruimels. Zet dit op 0 om uit te schakelen.'; +$lang['youarehere'] = 'Gebruik hierarchische broodkruimels (waarschijnlijk wil je dan de optie hierboven uitschakelen)'; $lang['fullpath'] = 'Volledig pad van pagina\'s in de footer weergeven'; $lang['typography'] = 'Breng typografische wijzigingen aan'; $lang['dformat'] = 'Datum formaat (zie de PHP <a href="http://www.php.net/strftime">strftime</a> functie)'; -$lang['signature'] = 'Ondertekening'; +$lang['signature'] = 'Tekst die ingevoegd wordt met de Handtekening-knop in het bewerkvenster.'; $lang['showuseras'] = 'Hoe de gebruiker die de pagina het laatst wijzigde weergeven'; $lang['toptoclevel'] = 'Bovenste niveau voor inhoudsopgave'; $lang['tocminheads'] = 'Minimum aantal koppen dat bepaald of een index gemaakt wordt'; @@ -76,12 +77,12 @@ $lang['camelcase'] = 'CamelCase gebruiken voor links'; $lang['deaccent'] = 'Paginanamen ontdoen van vreemde tekens'; $lang['useheading'] = 'Eerste kopje voor paginanaam gebruiken'; $lang['sneaky_index'] = 'Met de standaardinstellingen zal DokuWiki alle namespaces laten zien in de index. Het inschakelen van deze optie zorgt ervoor dat de namespaces waar de gebruiker geen leestoegang tot heeft, verborgen worden. Dit kan resulteren in het verbergen van subnamespaces waar de gebruiker wel toegang to heeft. Dit kan de index onbruikbaar maken met bepaalde ACL-instellingen.'; -$lang['hidepages'] = 'Verberg deze pagina\'s (regular expressions)'; +$lang['hidepages'] = 'Verberg deze pagina\'s in zoekresultaten, de index en andere automatische indexen (regular expressions)'; $lang['useacl'] = 'Gebruik access control lists'; $lang['autopasswd'] = 'Zelf wachtwoorden genereren'; $lang['authtype'] = 'Authenticatiemechanisme'; $lang['passcrypt'] = 'Encryptie-methode voor wachtwoord '; -$lang['defaultgroup'] = 'Standaardgroep'; +$lang['defaultgroup'] = 'Standaardgroep, alle nieuwe gebruikers worden hierin geplaatst'; $lang['superuser'] = 'Superuser - een groep of gebruiker of kommalijst (gebruiker1,@groep1,gebruiker2) met volledige toegang tot alle pagina\'s en functies, ongeacht de ACL instellingen'; $lang['manager'] = 'Beheerder - een groep of gebruiker of kommalijst (gebruiker1,@groep1,gebruiker2) met toegang tot bepaalde beheersfunctionaliteit'; $lang['profileconfirm'] = 'Bevestig profielwijzigingen met wachtwoord'; @@ -110,19 +111,19 @@ $lang['target____interwiki'] = 'Doelvenster voor interwiki-links'; $lang['target____extern'] = 'Doelvenster voor externe links'; $lang['target____media'] = 'Doelvenster voor medialinks'; $lang['target____windows'] = 'Doelvenster voor windows links'; -$lang['mediarevisions'] = 'Media revisies activeren?'; -$lang['refcheck'] = 'Controleer verwijzingen naar media'; +$lang['mediarevisions'] = 'Mediarevisies activeren?'; +$lang['refcheck'] = 'Controleer of er verwijzingen bestaan naar een mediabestand voor het wijderen'; $lang['refshow'] = 'Aantal te tonen mediaverwijzingen'; $lang['gdlib'] = 'Versie GD Lib '; $lang['im_convert'] = 'Path naar ImageMagick\'s convert tool'; $lang['jpg_quality'] = 'JPG compressiekwaliteit (0-100)'; -$lang['fetchsize'] = 'Maximum grootte (bytes) die fetch.php mag downloaden van buiten'; +$lang['fetchsize'] = 'Maximum grootte (bytes) die fetch.php mag downloaden van externe URLs, bijv. voor cachen of herschalen van externe afbeeldingen.'; $lang['subscribers'] = 'Ondersteuning pagina-inschrijving aanzetten'; $lang['subscribe_time'] = 'Inschrijvingsmeldingen en samenvattingen worden na deze tijdsduur (in seconden) verzonden. Deze waarde dient kleiner te zijn dan de tijd ingevuld bij "Hoeveel recente wijzigingen bewaren (dagen)"'; -$lang['notify'] = 'Stuur e-mailnotificaties naar dit adres'; -$lang['registernotify'] = 'Stuur informatie over nieuw aangemelde gebruikers naar dit e-mailadres'; -$lang['mailfrom'] = 'E-mailadres voor automatische e-mail'; -$lang['mailprefix'] = 'Te gebruiken voorvoegsel voor onderwerp automatische email'; +$lang['notify'] = 'Stuur altijd e-mailnotificaties naar dit adres'; +$lang['registernotify'] = 'Stuur altijd informatie over nieuw geregistreerde gebruikers naar dit e-mailadres'; +$lang['mailfrom'] = 'E-mailadres van afzender voor automatische e-mail'; +$lang['mailprefix'] = 'Te gebruiken voorvoegsel voor onderwerp automatische email. Leeglaten gebruik de wikititel.'; $lang['htmlmail'] = 'Zend multipart HTML e-mail. Dit ziet er beter uit, maar is groter. Uitschakelen betekent e-mail in platte tekst.'; $lang['sitemap'] = 'Genereer Google sitemap (dagen). 0 betekent uitschakelen.'; $lang['rss_type'] = 'XML feed type'; @@ -143,7 +144,7 @@ $lang['gzip_output'] = 'Gebruik gzip Content-Encoding voor xhtml'; $lang['compress'] = 'Compacte CSS en javascript output'; $lang['cssdatauri'] = 'Maximale omvang in bytes van in CSS gelinkte afbeeldingen die bij de stylesheet moeten worden ingesloten ter reductie van de HTTP request header overhead. Deze techniek werkt niet in IE7 en ouder! <code>400</code> tot <code>600</code> is een geschikte omvang. Stel de omvang in op <code>0</code> om deze functionaliteit uit te schakelen.'; $lang['send404'] = 'Stuur "HTTP 404/Page Not Found" voor niet-bestaande pagina\'s'; -$lang['broken_iua'] = 'Is de ignore_user_abort functie onbruikbaar op uw systeem? Dit kan een onbruikbare zoekindex tot gevolg hebben. IIS+PHP/CGI staat hier bekend om. Zie <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> voor meer informatie.'; +$lang['broken_iua'] = 'Is de ignore_user_abort functie onbruikbaar op uw systeem? Dit kan een onbruikbare zoekindex tot gevolg hebben. IIS+PHP/CGI staat hier bekend om. Zie <a href="http://bugs.dokuwiki.org/?do=details&task_id=852">Bug 852</a> voor meer informatie.'; $lang['xsendfile'] = 'Gebruik de X-Sendfile header om de webserver statische content te laten versturen? De webserver moet dit wel ondersteunen.'; $lang['renderer_xhtml'] = 'Weergavesysteem voor de standaard (xhtml) wiki-uitvoer'; $lang['renderer__core'] = '%s (dokuwiki core)'; @@ -191,9 +192,9 @@ $lang['compression_o_0'] = 'geen'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; $lang['xsendfile_o_0'] = 'niet gebruiken'; -$lang['xsendfile_o_1'] = 'Eigen lighttpd header (voor release 1.5)'; +$lang['xsendfile_o_1'] = 'Merkgebonden lighttpd header (voor release 1.5)'; $lang['xsendfile_o_2'] = 'Standaard X-Sendfile header'; -$lang['xsendfile_o_3'] = 'Propritary Nginx X-Accel-Redirect header'; +$lang['xsendfile_o_3'] = 'Merkgebonden Nginx X-Accel-Redirect header'; $lang['showuseras_o_loginname'] = 'Loginnaam'; $lang['showuseras_o_username'] = 'Volledige naam'; $lang['showuseras_o_email'] = 'E-mailadres (onherkenbaar gemaakt volgens mailguard-instelling)'; diff --git a/lib/plugins/config/lang/pt-br/lang.php b/lib/plugins/config/lang/pt-br/lang.php index 8c0ef713a..7151713d8 100644 --- a/lib/plugins/config/lang/pt-br/lang.php +++ b/lib/plugins/config/lang/pt-br/lang.php @@ -39,33 +39,38 @@ $lang['_anti_spam'] = 'Configurações do anti-spam'; $lang['_editing'] = 'Configurações de edição'; $lang['_links'] = 'Configurações de link'; $lang['_media'] = 'Configurações de mídia'; +$lang['_notifications'] = 'Configurações de notificação'; +$lang['_syndication'] = 'Configurações de sindicância'; $lang['_advanced'] = 'Configurações avançadas'; $lang['_network'] = 'Configurações de rede'; $lang['_plugin_sufix'] = 'Configurações de plug-ins'; -$lang['_template_sufix'] = 'Configurações de modelos'; +$lang['_template_sufix'] = 'Configurações do modelo'; $lang['_msg_setting_undefined'] = 'Nenhum metadado configurado.'; $lang['_msg_setting_no_class'] = 'Nenhuma classe definida.'; $lang['_msg_setting_no_default'] = 'Nenhum valor padrão.'; -$lang['fmode'] = 'Modo de criação do arquivo'; -$lang['dmode'] = 'Modo de criação do diretório'; +$lang['title'] = 'Título do wiki'; +$lang['start'] = 'Nome da página inicial'; $lang['lang'] = 'Idioma'; +$lang['template'] = 'Modelo, ou a aparência do wiki.'; +$lang['tagline'] = 'Slogan (caso o modelo suporte isso)'; +$lang['sidebar'] = 'Nome da página da barra lateral (caso o modelo suporte isso). Deixe em branco para desabilitar a barra lateral.'; +$lang['license'] = 'Sob qual licença o seu conteúdo deve ser disponibilizado?'; +$lang['savedir'] = 'Diretório para salvar os dados'; $lang['basedir'] = 'Diretório base'; $lang['baseurl'] = 'URL base'; -$lang['savedir'] = 'Diretório para salvar os dados'; $lang['cookiedir'] = 'Caminhos dos cookies. Deixe em branco para usar a url base.'; -$lang['start'] = 'Nome da página inicial'; -$lang['title'] = 'Título do wiki'; -$lang['template'] = 'Modelo'; -$lang['license'] = 'Sob qual licença o seu conteúdo deve ser disponibilizado?'; -$lang['fullpath'] = 'Indica o caminho completo das páginas no rodapé'; +$lang['dmode'] = 'Modo de criação do diretório'; +$lang['fmode'] = 'Modo de criação do arquivo'; +$lang['allowdebug'] = 'Habilitar a depuração <b>(desabilite se não for necessário!)</b>'; $lang['recent'] = 'Modificações recentes'; +$lang['recent_days'] = 'Quantas mudanças recentes devem ser mantidas (dias)?'; $lang['breadcrumbs'] = 'Número de elementos na trilha de páginas visitadas'; $lang['youarehere'] = 'Trilha hierárquica'; +$lang['fullpath'] = 'Indica o caminho completo das páginas no rodapé'; $lang['typography'] = 'Efetuar modificações tipográficas'; -$lang['htmlok'] = 'Permitir incorporação de HTML'; -$lang['phpok'] = 'Permitir incorporação de PHP'; $lang['dformat'] = 'Formato da data (veja a função <a href="http://www.php.net/strftime">strftime</a> do PHP)'; $lang['signature'] = 'Assinatura'; +$lang['showuseras'] = 'O que exibir quando mostrar o usuário que editou a página pela última vez'; $lang['toptoclevel'] = 'Nível mais alto para a tabela de conteúdos'; $lang['tocminheads'] = 'Quantidade mínima de cabeçalhos para a construção da tabela de conteúdos.'; $lang['maxtoclevel'] = 'Nível máximo para entrar na tabela de conteúdos'; @@ -73,15 +78,8 @@ $lang['maxseclevel'] = 'Nível máximo para gerar uma seção de ediç $lang['camelcase'] = 'Usar CamelCase para links'; $lang['deaccent'] = '"Limpar" os nomes das páginas'; $lang['useheading'] = 'Usar o primeiro cabeçalho como nome da página'; -$lang['refcheck'] = 'Verificação de referência da mídia'; -$lang['refshow'] = 'Número de referências de mídia a exibir'; -$lang['allowdebug'] = 'Habilitar a depuração <b>(desabilite se não for necessário!)</b>'; -$lang['usewordblock'] = 'Bloquear spam baseado em lista de palavras'; -$lang['indexdelay'] = 'Tempo de espera antes da indexação (seg)'; -$lang['relnofollow'] = 'Usar rel="nofollow" em links externos'; -$lang['mailguard'] = 'Obscurecer endereços de e-mail'; -$lang['iexssprotect'] = 'Verificar a existência de possíveis códigos maliciosos em HTML ou JavaScript nos arquivos enviados'; -$lang['showuseras'] = 'O que exibir quando mostrar o usuário que editou a página pela última vez'; +$lang['sneaky_index'] = 'Por padrão, o DokuWiki irá exibir todos os espaços de nomes na visualização do índice. Ao habilitar essa opção, serão escondidos aqueles que o usuário não tiver permissão de leitura. Isso pode resultar na omissão de subespaços de nomes, tornando o índice inútil para certas configurações de ACL.'; +$lang['hidepages'] = 'Esconder páginas correspondentes (expressão regular)'; $lang['useacl'] = 'Usar listas de controle de acesso'; $lang['autopasswd'] = 'Gerar senhas automaticamente'; $lang['authtype'] = 'Método de autenticação'; @@ -90,58 +88,70 @@ $lang['defaultgroup'] = 'Grupo padrão'; $lang['superuser'] = 'Superusuário - um grupo, usuário ou uma lista separada por vírgulas (usuário1,@grupo1,usuário2) que tenha acesso completo a todas as páginas e funções, independente das definições da ACL'; $lang['manager'] = 'Gerente - um grupo, usuário ou uma lista separada por vírgulas (usuário1,@grupo1,usuário2) que tenha acesso a certas funções de gerenciamento'; $lang['profileconfirm'] = 'Confirmar mudanças no perfil com a senha'; +$lang['rememberme'] = 'Permitir cookies de autenticação permanentes ("Lembre-se de mim")'; $lang['disableactions'] = 'Desabilitar as ações do DokuWiki'; $lang['disableactions_check'] = 'Verificação'; $lang['disableactions_subscription'] = 'Monitoramento'; $lang['disableactions_wikicode'] = 'Ver a fonte/Exportar sem processamento'; $lang['disableactions_other'] = 'Outras ações (separadas por vírgula)'; -$lang['sneaky_index'] = 'Por padrão, o DokuWiki irá exibir todos os espaços de nomes na visualização do índice. Ao habilitar essa opção, serão escondidos aqueles que o usuário não tiver permissão de leitura. Isso pode resultar na omissão de subespaços de nomes, tornando o índice inútil para certas configurações de ACL.'; $lang['auth_security_timeout'] = 'Tempo limite de segurança para autenticações (seg)'; $lang['securecookie'] = 'Os cookies definidos via HTTPS devem ser enviados para o navegador somente via HTTPS? Desabilite essa opção quando somente a autenticação do seu wiki for realizada de maneira segura via SSL e a navegação, de maneira insegura.'; +$lang['remote'] = 'Habilitar o sistema de API remota. Isso permite que outras aplicações acessem o wiki via XML-RPC ou outros mecanismos.'; +$lang['remoteuser'] = 'Restringir o acesso à API remota aos grupos ou usuários definidos aqui (separados por vírgulas). Deixe em branco para permitir o acesso a qualquer um.'; +$lang['usewordblock'] = 'Bloquear spam baseado em lista de palavras'; +$lang['relnofollow'] = 'Usar rel="nofollow" em links externos'; +$lang['indexdelay'] = 'Tempo de espera antes da indexação (seg)'; +$lang['mailguard'] = 'Obscurecer endereços de e-mail'; +$lang['iexssprotect'] = 'Verificar a existência de possíveis códigos maliciosos em HTML ou JavaScript nos arquivos enviados'; +$lang['usedraft'] = 'Salvar o rascunho automaticamente durante a edição'; +$lang['htmlok'] = 'Permitir incorporação de HTML'; +$lang['phpok'] = 'Permitir incorporação de PHP'; +$lang['locktime'] = 'Tempo máximo para o bloqueio de arquivos (seg)'; +$lang['cachetime'] = 'Tempo máximo para o cache (seg)'; +$lang['target____wiki'] = 'Parâmetro "target" para links internos'; +$lang['target____interwiki'] = 'Parâmetro "target" para links interwiki'; +$lang['target____extern'] = 'Parâmetro "target" para links externos'; +$lang['target____media'] = 'Parâmetro "target" para links de mídia'; +$lang['target____windows'] = 'Parâmetro "target" para links do Windows'; +$lang['mediarevisions'] = 'Habilitar revisões de mídias?'; +$lang['refcheck'] = 'Verificação de referência da mídia'; +$lang['refshow'] = 'Número de referências de mídia a exibir'; +$lang['gdlib'] = 'Versão da biblioteca "GD Lib"'; +$lang['im_convert'] = 'Caminho para a ferramenta de conversão ImageMagick'; +$lang['jpg_quality'] = 'Qualidade de compressão do JPG (0-100)'; +$lang['fetchsize'] = 'Tamanho máximo (em bytes) que o "fetch.php" pode transferir do exterior'; +$lang['subscribers'] = 'Habilitar o suporte ao monitoramento de páginas'; +$lang['subscribe_time'] = 'Tempo de espera antes do envio das listas e mensagens de monitoramento (segundos); este tempo deve ser menor que o especificado no parâmetro recent_days'; +$lang['notify'] = 'Enviar notificações de mudança para esse endereço de e-mail'; +$lang['registernotify'] = 'Enviar informações de usuários registrados para esse endereço de e-mail'; +$lang['mailfrom'] = 'Endereço de e-mail a ser utilizado para mensagens automáticas'; +$lang['mailprefix'] = 'Prefixo do assunto dos e-mails de envio automático'; +$lang['htmlmail'] = 'Enviar e-mail HTML multipartes, que têm uma aparência melhor, mas um tamanho maior. Desabilite para enviar e-mails em texto puro.'; +$lang['sitemap'] = 'Gerar Google Sitemap (dias)'; +$lang['rss_type'] = 'Tipo de fonte XML'; +$lang['rss_linkto'] = 'Os links da fonte XML apontam para'; +$lang['rss_content'] = 'O que deve ser exibido nos itens da fonte XML?'; +$lang['rss_update'] = 'Intervalo de atualização da fonte XML (seg)'; +$lang['rss_show_summary'] = 'Resumo de exibição da fonte XML no título'; +$lang['rss_media'] = 'Que tipo de alterações devem ser listadas na fonte XML?'; $lang['updatecheck'] = 'Verificar atualizações e avisos de segurança? O DokuWiki precisa contactar o "splitbrain.org" para efetuar esse recurso.'; $lang['userewrite'] = 'Usar URLs "limpas"'; $lang['useslash'] = 'Usar a barra como separador de espaços de nomes nas URLs'; -$lang['usedraft'] = 'Salvar o rascunho automaticamente durante a edição'; $lang['sepchar'] = 'Separador de palavras no nome da página'; $lang['canonical'] = 'Usar URLs absolutas (http://servidor/caminho)'; $lang['fnencode'] = 'Método de codificação não-ASCII de nome de arquivos.'; $lang['autoplural'] = 'Verificar formas plurais nos links'; $lang['compression'] = 'Método de compressão para arquivos antigos'; -$lang['cachetime'] = 'Tempo máximo para o cache (seg)'; -$lang['locktime'] = 'Tempo máximo para o bloqueio de arquivos (seg)'; -$lang['fetchsize'] = 'Tamanho máximo (em bytes) que o "fetch.php" pode transferir do exterior'; -$lang['notify'] = 'Enviar notificações de mudança para esse endereço de e-mail'; -$lang['registernotify'] = 'Enviar informações de usuários registrados para esse endereço de e-mail'; -$lang['mailfrom'] = 'Endereço de e-mail a ser utilizado para mensagens automáticas'; -$lang['mailprefix'] = 'Prefixo do assunto dos e-mails de envio automático'; $lang['gzip_output'] = 'Usar "Content-Encoding" do gzip para o código xhtml'; -$lang['gdlib'] = 'Versão da biblioteca "GD Lib"'; -$lang['im_convert'] = 'Caminho para a ferramenta de conversão ImageMagick'; -$lang['jpg_quality'] = 'Qualidade de compressão do JPG (0-100)'; -$lang['subscribers'] = 'Habilitar o suporte ao monitoramento de páginas'; -$lang['subscribe_time'] = 'Tempo de espera antes do envio das listas e mensagens de monitoramento (segundos); este tempo deve ser menor que o especificado no parâmetro recent_days'; $lang['compress'] = 'Compactar as saídas de CSS e JavaScript'; $lang['cssdatauri'] = 'Tamanho máximo em bytes para o qual as imagens referenciadas em arquivos CSS devam ser incorporadas na folha de estilos (o arquivo CSS) para reduzir o custo dos pedidos HTTP. Essa técnica não funcionará na versões do IE < 8! Valores de <code>400</code> a <code>600</code> são bons. Defina o valor <code>0</code> para desativar.'; -$lang['hidepages'] = 'Esconder páginas correspondentes (expressão regular)'; $lang['send404'] = 'Enviar "HTTP 404/Página não encontrada" para páginas não existentes'; -$lang['sitemap'] = 'Gerar Google Sitemap (dias)'; $lang['broken_iua'] = 'A função "ignore_user_abort" está com defeito no seu sistema? Isso pode causar um índice de busca defeituoso. IIS+PHP/CGI reconhecidamente possui esse erro. Veja o <a href="http://bugs.splitbrain.org/?do=details&task_id=852">bug 852</a> para mais informações.'; $lang['xsendfile'] = 'Usar o cabeçalho "X-Sendfile" para permitir que o servidor web encaminhe arquivos estáticos? Seu servidor web precisa ter suporte a isso.'; $lang['renderer_xhtml'] = 'Renderizador a ser utilizado para a saída principal (xhtml) do wiki'; $lang['renderer__core'] = '%s (núcleo do DokuWiki)'; $lang['renderer__plugin'] = '%s ("plug-in")'; -$lang['rememberme'] = 'Permitir cookies de autenticação permanentes ("Lembre-se de mim")'; -$lang['rss_type'] = 'Tipo de fonte XML'; -$lang['rss_linkto'] = 'Os links da fonte XML apontam para'; -$lang['rss_content'] = 'O que deve ser exibido nos itens da fonte XML?'; -$lang['rss_update'] = 'Intervalo de atualização da fonte XML (seg)'; -$lang['recent_days'] = 'Quantas mudanças recentes devem ser mantidas (dias)?'; -$lang['rss_show_summary'] = 'Resumo de exibição da fonte XML no título'; -$lang['target____wiki'] = 'Parâmetro "target" para links internos'; -$lang['target____interwiki'] = 'Parâmetro "target" para links interwiki'; -$lang['target____extern'] = 'Parâmetro "target" para links externos'; -$lang['target____media'] = 'Parâmetro "target" para links de mídia'; -$lang['target____windows'] = 'Parâmetro "target" para links do Windows'; +$lang['dnslookups'] = 'O DokuWiki procurará pelo nome de host dos endereços IP remotos dos usuários que estão editando as páginas. Caso você tenha um DNS lento, ele não esteja funcionando ou, ainda, você não queira esse recurso, desabilite essa opção.'; $lang['proxy____host'] = 'Nome do servidor proxy'; $lang['proxy____port'] = 'Porta do proxy'; $lang['proxy____user'] = 'Nome de usuário do proxy'; diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php index 84dce4a67..36e04686d 100644 --- a/lib/plugins/config/lang/ru/lang.php +++ b/lib/plugins/config/lang/ru/lang.php @@ -39,6 +39,7 @@ $lang['_editing'] = 'Параметры правки'; $lang['_links'] = 'Параметры ссылок'; $lang['_media'] = 'Параметры медиафайлов'; $lang['_notifications'] = 'Параметры уведомлений'; +$lang['_syndication'] = 'Настройки синдикаций'; $lang['_advanced'] = 'Тонкая настройка'; $lang['_network'] = 'Параметры сети'; $lang['_plugin_sufix'] = 'Параметры плагина'; @@ -95,6 +96,7 @@ $lang['disableactions_other'] = 'Другие операции (через за $lang['auth_security_timeout'] = 'Интервал для безопасности авторизации (сек.)'; $lang['securecookie'] = 'Должны ли куки (cookies), выставленные через HTTPS, отправляться браузером только через HTTPS. Отключите эту опцию в случае, когда только логин вашей вики передаётся через SSL, а обычный просмотр осуществляется в небезопасном режиме.'; $lang['remote'] = 'Включить систему API для подключений. Это позволит другим приложениям получить доступ к вики через XML-RPC или другие механизмы.'; +$lang['remoteuser'] = 'Дать права для удаленного API доступа пользователям указанным тут (разделять запятыми). Оставьте это поле пустым что бы открыть доступ всем.'; $lang['usewordblock'] = 'Блокировать спам по ключевым словам'; $lang['relnofollow'] = 'rel="nofollow" для внешних ссылок'; $lang['indexdelay'] = 'Задержка перед индексированием'; @@ -129,6 +131,7 @@ $lang['rss_linkto'] = 'Ссылки в RSS'; $lang['rss_content'] = 'Что отображать в строках XML-ленты?'; $lang['rss_update'] = 'Интервал обновления XML-ленты (сек.)'; $lang['rss_show_summary'] = 'Показывать краткую выдержку в заголовках XML-ленты'; +$lang['rss_media'] = 'Какие изменения должны быть отображены в XML?'; $lang['updatecheck'] = 'Проверять наличие обновлений и предупреждений о безопасности? Для этого «ДокуВики» потребуется связываться с сайтом <a href="http://www.splitbrain.org/">splitbrain.org</a>.'; $lang['userewrite'] = 'Удобочитаемые адреса (URL)'; $lang['useslash'] = 'Использовать слэш'; @@ -146,6 +149,7 @@ $lang['xsendfile'] = 'Используете заголовок X-Se $lang['renderer_xhtml'] = 'Обработчик основного (xhtml) вывода вики'; $lang['renderer__core'] = '%s (ядро dokuwiki)'; $lang['renderer__plugin'] = '%s (плагин)'; +$lang['dnslookups'] = 'DokuWiki ищет DNS имена пользователей редактирующих страницы. Если у вас нет DNS сервера или он работает медленно, рекомендуем отключить эту опцию.'; $lang['proxy____host'] = 'proxy-адрес'; $lang['proxy____port'] = 'proxy-порт'; $lang['proxy____user'] = 'proxy-имя пользователя'; diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index cbd69eb9e..9e18b3ed9 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -27,6 +27,8 @@ $lang['_anti_spam'] = 'Nastavenia anti-spamu'; $lang['_editing'] = 'Nastavenia úprav'; $lang['_links'] = 'Nastavenia odkazov'; $lang['_media'] = 'Nastavenia médií'; +$lang['_notifications'] = 'Nastavenie upozornení'; +$lang['_syndication'] = 'Nastavenie poskytovania obsahu'; $lang['_advanced'] = 'Rozšírené nastavenia'; $lang['_network'] = 'Nastavenia siete'; $lang['_plugin_sufix'] = 'Nastavenia plug-inu'; @@ -34,26 +36,29 @@ $lang['_template_sufix'] = 'Nastavenia šablóny'; $lang['_msg_setting_undefined'] = 'Nenastavené metadata.'; $lang['_msg_setting_no_class'] = 'Nenastavená trieda.'; $lang['_msg_setting_no_default'] = 'Žiadna predvolená hodnota.'; -$lang['fmode'] = 'Spôsob vytvárania súborov'; -$lang['dmode'] = 'Spôsob vytvárania adresárov'; +$lang['title'] = 'Názov wiki'; +$lang['start'] = 'Názov štartovacej stránky'; $lang['lang'] = 'Jazyk'; +$lang['template'] = 'Šablóna'; +$lang['tagline'] = 'Slogan (ak ho šablóna podporuje)'; +$lang['sidebar'] = 'Meno bočného panela (ak ho šablóna podporuje), prázdne pole deaktivuje bočný panel'; +$lang['license'] = 'Pod ktorou licenciou bude publikovaný obsah stránky?'; +$lang['savedir'] = 'Adresár pre ukladanie dát'; $lang['basedir'] = 'Hlavný adresár (napr. <code>/dokuwiki/</code>). Prázdna hodnota znamená použitie autodetekcie.'; $lang['baseurl'] = 'Adresa servera (napr. <code>http://www.yourserver.com</code>). Prázdna hodnota znamená použitie autodetekcie.'; -$lang['savedir'] = 'Adresár pre ukladanie dát'; $lang['cookiedir'] = 'Cesta k cookies. Prázdna hodnota znamená použitie adresy servera.'; -$lang['start'] = 'Názov štartovacej stránky'; -$lang['title'] = 'Názov wiki'; -$lang['template'] = 'Šablóna'; -$lang['license'] = 'Pod ktorou licenciou bude publikovaný obsah stránky?'; -$lang['fullpath'] = 'Zobrazovať plnú cestu k stránkam v pätičke'; +$lang['dmode'] = 'Spôsob vytvárania adresárov'; +$lang['fmode'] = 'Spôsob vytvárania súborov'; +$lang['allowdebug'] = 'Povoliť ladenie chýb <b>deaktivujte, ak nie je potrebné!</b>'; $lang['recent'] = 'Posledné zmeny'; +$lang['recent_days'] = 'Koľko posledných zmien uchovávať (dni)'; $lang['breadcrumbs'] = 'Počet záznamov histórie'; $lang['youarehere'] = 'Nachádzate sa'; +$lang['fullpath'] = 'Zobrazovať plnú cestu k stránkam v pätičke'; $lang['typography'] = 'Vykonať typografické zmeny'; -$lang['htmlok'] = 'Umožniť vkladanie HTML'; -$lang['phpok'] = 'Umožniť vkladanie PHP'; $lang['dformat'] = 'Formát dátumu (pozri funkciu PHP <a href="http://www.php.net/strftime">strftime</a>)'; $lang['signature'] = 'Podpis'; +$lang['showuseras'] = 'Čo použiť pri zobrazení používateľa, ktorý posledný upravoval stránku'; $lang['toptoclevel'] = 'Najvyššia úroveň pre generovanie obsahu.'; $lang['tocminheads'] = 'Minimálny počet nadpisov pre generovanie obsahu'; $lang['maxtoclevel'] = 'Maximálna úroveň pre generovanie obsahu.'; @@ -61,16 +66,8 @@ $lang['maxseclevel'] = 'Maximálna úroveň sekcie pre editáciu'; $lang['camelcase'] = 'Použiť CamelCase pre odkazy'; $lang['deaccent'] = 'Upraviť názvy stránok'; $lang['useheading'] = 'Použiť nadpis pre názov stránky'; -$lang['refcheck'] = 'Kontrolovať odkazy na médiá (pred vymazaním)'; -$lang['refshow'] = 'Počet zobrazených odkazov na médiá'; -$lang['allowdebug'] = 'Povoliť ladenie chýb <b>deaktivujte, ak nie je potrebné!</b>'; -$lang['mediarevisions'] = 'Povoliť verzie súborov?'; -$lang['usewordblock'] = 'Blokovať spam na základe zoznamu známych slov'; -$lang['indexdelay'] = 'Časové oneskorenie pred indexovaním (sek)'; -$lang['relnofollow'] = 'Používať rel="nofollow" pre externé odkazy'; -$lang['mailguard'] = 'Zamaskovať e-mailovú adresu'; -$lang['iexssprotect'] = 'Kontrolovať nahraté súbory na prítomnosť nebezpečného JavaScript alebo HTML kódu'; -$lang['showuseras'] = 'Čo použiť pri zobrazení používateľa, ktorý posledný upravoval stránku'; +$lang['sneaky_index'] = 'DokuWiki implicitne ukazuje v indexe všetky menné priestory. Povolením tejto voľby sa nezobrazia menné priestory, ku ktorým nemá používateľ právo na čítanie. Dôsledkom môže byť nezobrazenie vnorených prístupných menných priestorov. Táto voľba môže mať za následok nepoužiteľnosť indexu s určitými ACL nastaveniami.'; +$lang['hidepages'] = 'Skryť zodpovedajúce stránky (regulárne výrazy)'; $lang['useacl'] = 'Použiť kontrolu prístupu (ACL)'; $lang['autopasswd'] = 'Autogenerovanie hesla'; $lang['authtype'] = 'Systém autentifikácie (back-end)'; @@ -79,58 +76,70 @@ $lang['defaultgroup'] = 'Predvolená skupina'; $lang['superuser'] = 'Správca - skupina, používateľ alebo čiarkou oddelený zoznam "pouzivatel1,@skupina1,pouzivatel2" s plným prístupom ku všetkým stránkam a funkciám nezávisle od ACL nastavení'; $lang['manager'] = 'Manažér - skupina, používateľ alebo čiarkou oddelený zoznam "pouzivatel1,@skupina1,pouzivatel2" s prístupom k vybraným správcovským funkciám'; $lang['profileconfirm'] = 'Potvrdzovať zmeny profilu heslom'; +$lang['rememberme'] = 'Povoliť trvalé prihlasovacie cookies (zapamätaj si ma)'; $lang['disableactions'] = 'Zakázať DokuWiki akcie'; $lang['disableactions_check'] = 'Skontrolovať'; $lang['disableactions_subscription'] = 'Povoliť/Zrušiť informovanie o zmenách stránky'; $lang['disableactions_wikicode'] = 'Pozrieť zdroj/Exportovať zdroj'; $lang['disableactions_other'] = 'Iné akcie (oddelené čiarkou)'; -$lang['sneaky_index'] = 'DokuWiki implicitne ukazuje v indexe všetky menné priestory. Povolením tejto voľby sa nezobrazia menné priestory, ku ktorým nemá používateľ právo na čítanie. Dôsledkom môže byť nezobrazenie vnorených prístupných menných priestorov. Táto voľba môže mať za následok nepoužiteľnosť indexu s určitými ACL nastaveniami.'; $lang['auth_security_timeout'] = 'Časový limit pri prihlasovaní (v sekundách)'; $lang['securecookie'] = 'Mal by prehliadač posielať cookies nastavené cez HTTPS posielať iba cez HTTPS (bezpečné) pripojenie? Vypnite túto voľbu iba v prípade, ak je prihlasovanie do Vašej wiki zabezpečené SSL, ale prezeranie wiki je nezabezpečené.'; +$lang['remote'] = 'Povolenie vzdialeného API. Umožnuje iným aplikáciám pristupovať k wiki cez XML-RPC alebo iným spôsobom.'; +$lang['remoteuser'] = 'Obmedzenie použitia vzdialeného API skupinám alebo používateľom oddelených čiarkami. Prázdne pole poskytuje prístup pre každého používateľa.'; +$lang['usewordblock'] = 'Blokovať spam na základe zoznamu známych slov'; +$lang['relnofollow'] = 'Používať rel="nofollow" pre externé odkazy'; +$lang['indexdelay'] = 'Časové oneskorenie pred indexovaním (sek)'; +$lang['mailguard'] = 'Zamaskovať e-mailovú adresu'; +$lang['iexssprotect'] = 'Kontrolovať nahraté súbory na prítomnosť nebezpečného JavaScript alebo HTML kódu'; +$lang['usedraft'] = 'Automaticky ukladať koncept počas úpravy stránky'; +$lang['htmlok'] = 'Umožniť vkladanie HTML'; +$lang['phpok'] = 'Umožniť vkladanie PHP'; +$lang['locktime'] = 'Maximálne trvanie blokovacích súborov (sek)'; +$lang['cachetime'] = 'Maximálne trvanie cache (sek)'; +$lang['target____wiki'] = 'Cieľové okno (target) pre interné odkazy'; +$lang['target____interwiki'] = 'Cieľové okno (target) pre interwiki odkazy'; +$lang['target____extern'] = 'Cieľové okno (target) pre externé odkazy'; +$lang['target____media'] = 'Cieľové okno (target) pre media odkazy'; +$lang['target____windows'] = 'Cieľové okno (target) pre windows odkazy'; +$lang['mediarevisions'] = 'Povoliť verzie súborov?'; +$lang['refcheck'] = 'Kontrolovať odkazy na médiá (pred vymazaním)'; +$lang['refshow'] = 'Počet zobrazených odkazov na médiá'; +$lang['gdlib'] = 'Verzia GD Lib'; +$lang['im_convert'] = 'Cesta k ImageMagick convert tool'; +$lang['jpg_quality'] = 'Kvalita JPG kompresie (0-100)'; +$lang['fetchsize'] = 'Maximálna veľkosť (v bajtoch) pri sťahovaní z externých zdrojov'; +$lang['subscribers'] = 'Povoliť podporu informovania o zmenách stránky'; +$lang['subscribe_time'] = 'Časový inteval, po uplynutí ktorého sú zasielané informácie o zmenách stránky alebo menného priestoru (sek); hodnota by mala byť menšia ako čas zadaný pri položke recent_days.'; +$lang['notify'] = 'Posielať upozornenia na zmeny na túto e-mailovú adresu'; +$lang['registernotify'] = 'Posielať informáciu o nových užívateľoch na túto e-mailovú adresu'; +$lang['mailfrom'] = 'E-mailová adresa na automatické e-maily'; +$lang['mailprefix'] = 'Prefix predmetu emailovej spravy zasielanej automaticky'; +$lang['htmlmail'] = 'Posielanie lepšie vyzerajúceho ale objemnejšieho HTML mailu. Deaktivovaním sa budú posielať iba textové maily.'; +$lang['sitemap'] = 'Generovať Google sitemap (dni)'; +$lang['rss_type'] = 'Typ XML feedu'; +$lang['rss_linkto'] = 'XML zdroj odkazuje na'; +$lang['rss_content'] = 'Čo zobrazovať v XML feede?'; +$lang['rss_update'] = 'Časový interval obnovy XML feedu (sek.)'; +$lang['rss_show_summary'] = 'XML zdroj ukáže prehľad v názve'; +$lang['rss_media'] = 'Aký typ zmien by mal byť zobrazený v XML feede?'; $lang['updatecheck'] = 'Kontrolovať aktualizácie a bezpečnostné upozornenia? DokuWiki potrebuje pre túto funkciu prístup k update.dokuwiki.org.'; $lang['userewrite'] = 'Používať nice URLs'; $lang['useslash'] = 'Používať lomku (/) ako oddeľovač v URL'; -$lang['usedraft'] = 'Automaticky ukladať koncept počas úpravy stránky'; $lang['sepchar'] = 'Oddeľovač slov v názvoch stránok'; $lang['canonical'] = 'Používať plne kanonické URL názvy'; $lang['fnencode'] = 'Spôsob kódovania non-ASCII mien súborov.'; $lang['autoplural'] = 'Kontrolovať množné číslo v odkazoch'; $lang['compression'] = 'Metóda kompresie pre staré verzie stránok'; -$lang['cachetime'] = 'Maximálne trvanie cache (sek)'; -$lang['locktime'] = 'Maximálne trvanie blokovacích súborov (sek)'; -$lang['fetchsize'] = 'Maximálna veľkosť (v bajtoch) pri sťahovaní z externých zdrojov'; -$lang['notify'] = 'Posielať upozornenia na zmeny na túto e-mailovú adresu'; -$lang['registernotify'] = 'Posielať informáciu o nových užívateľoch na túto e-mailovú adresu'; -$lang['mailfrom'] = 'E-mailová adresa na automatické e-maily'; -$lang['mailprefix'] = 'Prefix predmetu emailovej spravy zasielanej automaticky'; $lang['gzip_output'] = 'Používať gzip Content-Encoding pre xhtml'; -$lang['gdlib'] = 'Verzia GD Lib'; -$lang['im_convert'] = 'Cesta k ImageMagick convert tool'; -$lang['jpg_quality'] = 'Kvalita JPG kompresie (0-100)'; -$lang['subscribers'] = 'Povoliť podporu informovania o zmenách stránky'; -$lang['subscribe_time'] = 'Časový inteval, po uplynutí ktorého sú zasielané informácie o zmenách stránky alebo menného priestoru (sek); hodnota by mala byť menšia ako čas zadaný pri položke recent_days.'; $lang['compress'] = 'Komprimovať CSS a javascript výstup'; $lang['cssdatauri'] = 'Veľkosť v bytoch, do ktorej by mali byť obrázky s odkazom v CSS vložené priamo do štýlu z dôvodu obmedzenia HTTP požiadaviek. Tento postup nefunguje v IE verzie 7 a nižšie! Vhodná hodnota je od <code>400</code> do <code>600</code> bytov. Hodnota <code>0</code> deaktivuje túto metódu.'; -$lang['hidepages'] = 'Skryť zodpovedajúce stránky (regulárne výrazy)'; $lang['send404'] = 'Poslať "HTTP 404/Page Not Found" pre neexistujúce stránky'; -$lang['sitemap'] = 'Generovať Google sitemap (dni)'; $lang['broken_iua'] = 'Je vo Vašom systéme funkcia ignore_user_abort poškodená? Môže to mať za následok nefunkčnosť vyhľadávania v indexe. IIS+PHP/CGI je známy tým, že nefunguje správne. Pozrite <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Bug 852</a> pre dalšie informácie.'; $lang['xsendfile'] = 'Používať X-Sendfile hlavičku pre doručenie statických súborov webserverom? Webserver musí túto funkcionalitu podporovať.'; $lang['renderer_xhtml'] = 'Používané vykresľovacie jadro pre hlavný (xhtml) wiki výstup'; $lang['renderer__core'] = '%s (dokuwiki jadro)'; $lang['renderer__plugin'] = '%s (plugin)'; -$lang['rememberme'] = 'Povoliť trvalé prihlasovacie cookies (zapamätaj si ma)'; -$lang['rss_type'] = 'Typ XML feedu'; -$lang['rss_linkto'] = 'XML zdroj odkazuje na'; -$lang['rss_content'] = 'Čo zobrazovať v XML feede?'; -$lang['rss_update'] = 'Časový interval obnovy XML feedu (sek.)'; -$lang['recent_days'] = 'Koľko posledných zmien uchovávať (dni)'; -$lang['rss_show_summary'] = 'XML zdroj ukáže prehľad v názve'; -$lang['target____wiki'] = 'Cieľové okno (target) pre interné odkazy'; -$lang['target____interwiki'] = 'Cieľové okno (target) pre interwiki odkazy'; -$lang['target____extern'] = 'Cieľové okno (target) pre externé odkazy'; -$lang['target____media'] = 'Cieľové okno (target) pre media odkazy'; -$lang['target____windows'] = 'Cieľové okno (target) pre windows odkazy'; +$lang['dnslookups'] = 'DokuWiki hľadá mená vzdialených IP adries používateľov editujúcich stránky. Ak máte pomalý alebo nefunkčný DNS server alebo nechcete túto možnosť, deaktivujte túto voľbu'; $lang['proxy____host'] = 'Proxy server - názov'; $lang['proxy____port'] = 'Proxy server - port'; $lang['proxy____user'] = 'Proxy server - užívateľské meno'; diff --git a/lib/plugins/config/lang/zh-tw/intro.txt b/lib/plugins/config/lang/zh-tw/intro.txt index c257947d9..4cacfc43f 100644 --- a/lib/plugins/config/lang/zh-tw/intro.txt +++ b/lib/plugins/config/lang/zh-tw/intro.txt @@ -1,7 +1,7 @@ -====== 配置管理器 ====== +====== 設定管理器 ====== -使用本頁控制您的 Dokuwiki 設定。每個獨立設定的相關訊息可參閱 [[doku>config]]。配置管理器的更多訊息請參閱 [[doku>plugin:config]]。 +使用本頁控制您的 Dokuwiki 設定。每個獨立設定的相關訊息可參閱 [[doku>config]]。設定管理器的更多訊息請參閱 [[doku>plugin:config]]。 淡紅色背景的項目是被保護的,不能通過這個管理器更改。藍色背景的項目是系統的預設值,白色背景的項目是您更改過的。藍色和白色的設定項目都可以更改。 -離開本頁之前不要忘記點擊最下面的 **儲存** 按鈕,否則您的修改將不會生效。 +離開本頁之前不要忘記點擊最下面的 **儲存** 按鈕,否則您的修改將不會生效。
\ No newline at end of file diff --git a/lib/plugins/config/lang/zh-tw/lang.php b/lib/plugins/config/lang/zh-tw/lang.php index dd5f287b9..204b2b229 100644 --- a/lib/plugins/config/lang/zh-tw/lang.php +++ b/lib/plugins/config/lang/zh-tw/lang.php @@ -9,17 +9,18 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ -$lang['menu'] = '系統配置設定'; +$lang['menu'] = '系統設定'; $lang['error'] = '設定因為不合法的值而未更新,請檢查您的更改並重新送出。 <br />不正確的值會被紅色方框包住。'; $lang['updated'] = '成功地更新設定。'; $lang['nochoice'] = '(無其他可用選項)'; $lang['locked'] = '設定檔無法更新,若非故意,請確認本地檔名及權限正確。'; -$lang['danger'] = '危險:改變此選項可能使您無法存取維基及配置選單。'; +$lang['danger'] = '危險:改變此選項可能使您無法存取維基及設定選單。'; $lang['warning'] = '警告:改變此選項可能導致不可預期的行為。'; $lang['security'] = '安全性警告:改變此選項可能造成安全風險。'; -$lang['_configuration_manager'] = '配置管理'; +$lang['_configuration_manager'] = '設定管理器'; $lang['_header_dokuwiki'] = 'DokuWiki 設定'; $lang['_header_plugin'] = '插件設定'; $lang['_header_template'] = '樣板設定'; @@ -38,26 +39,27 @@ $lang['_template_sufix'] = '樣板設定'; $lang['_msg_setting_undefined'] = '設定的後設數據不存在。'; $lang['_msg_setting_no_class'] = '設定的分類不存在。'; $lang['_msg_setting_no_default'] = '無預設值'; -$lang['fmode'] = '檔案建立模式'; -$lang['dmode'] = '目錄建立模式'; +$lang['title'] = '維基標題'; +$lang['start'] = '開始頁面的名稱'; $lang['lang'] = '語系'; +$lang['template'] = '樣板'; +$lang['license'] = '您希望您的內容為何種授權方式?'; +$lang['savedir'] = '儲存資料的目錄'; $lang['basedir'] = '根目錄'; $lang['baseurl'] = '根路徑 (URL)'; -$lang['savedir'] = '儲存資料的目錄'; $lang['cookiedir'] = 'Cookie 路徑。設定空白則使用 baseurl。'; -$lang['start'] = '開始頁面的名稱'; -$lang['title'] = '維基標題'; -$lang['template'] = '樣板'; -$lang['license'] = '您希望您的內容為何種授權方式?'; -$lang['fullpath'] = '顯示完整的路徑於頁面底部'; +$lang['dmode'] = '目錄建立模式'; +$lang['fmode'] = '檔案建立模式'; +$lang['allowdebug'] = '允許除錯 <b>(不需要請停用!)</b>'; $lang['recent'] = '最近更新'; +$lang['recent_days'] = '儲存多少天內的變更'; $lang['breadcrumbs'] = '導覽鏈數量'; $lang['youarehere'] = '顯示階層式導覽鏈'; +$lang['fullpath'] = '顯示完整的路徑於頁面底部'; $lang['typography'] = '進行字元替換'; -$lang['htmlok'] = '允許嵌入式 HTML'; -$lang['phpok'] = '允許嵌入式 PHP'; $lang['dformat'] = '日期格式 (參見 PHP 的 <a href="http://www.php.net/strftime">strftime</a> 函數)'; $lang['signature'] = '簽名'; +$lang['showuseras'] = '將最後編輯頁面的使用者顯示為:'; $lang['toptoclevel'] = '目錄表的最上層級'; $lang['tocminheads'] = '決定是否建立目錄表的最少標題數量'; $lang['maxtoclevel'] = '目錄表顯示的最大層級'; @@ -65,15 +67,8 @@ $lang['maxseclevel'] = '可編輯段落的最大層級'; $lang['camelcase'] = '對連結使用 CamelCase'; $lang['deaccent'] = '清理頁面名稱'; $lang['useheading'] = '使用第一個標題作為頁面名稱'; -$lang['refcheck'] = '媒體連結檢查'; -$lang['refshow'] = '媒體連結的顯示數量'; -$lang['allowdebug'] = '允許除錯 <b>(不需要請停用!)</b>'; -$lang['usewordblock'] = '根據字詞表阻擋垃圾訊息'; -$lang['indexdelay'] = '建立索引前的延遲時間 (秒)'; -$lang['relnofollow'] = '外部連結使用 rel="nofollow"'; -$lang['mailguard'] = '混淆 E-mail 位址'; -$lang['iexssprotect'] = '檢查上傳的檔案中是否隱含惡意的 JavaScript 或 HTML 碼'; -$lang['showuseras'] = '將最後編輯頁面的使用者顯示為:'; +$lang['sneaky_index'] = '預設情況下,DokuWiki 會在索引頁會顯示所有分類空間。啟用此選項會隱藏用戶沒有閱讀權限的頁面,但也可能將能閱讀的子頁面一併隱藏。在特定 ACL 設定下,這可能導致索引無法使用。'; +$lang['hidepages'] = '隱藏匹配的界面 (正規式)'; $lang['useacl'] = '使用存取控制名單'; $lang['autopasswd'] = '自動產生密碼'; $lang['authtype'] = '認證後台管理方式'; @@ -82,58 +77,65 @@ $lang['defaultgroup'] = '預設群組'; $lang['superuser'] = '超級用戶 - 不論 ACL 如何設定,都能訪問所有頁面與功能的用戶組/用戶'; $lang['manager'] = '管理員 - 能訪問相應管理功能的用戶组/用戶'; $lang['profileconfirm'] = '修改個人資料時需要確認密碼'; +$lang['rememberme'] = '允許自動登入 (記住我)'; $lang['disableactions'] = '停用的 DokuWiki 動作'; $lang['disableactions_check'] = '檢查'; $lang['disableactions_subscription'] = '訂閱/取消訂閱'; $lang['disableactions_wikicode'] = '檢視原始碼/匯出原始檔'; $lang['disableactions_other'] = '其他功能 (逗號分隔)'; -$lang['sneaky_index'] = '預設情況下,DokuWiki 會在索引頁會顯示所有命名空間。啟用此選項會隱藏用戶沒有閱讀權限的頁面,但也可能將能閱讀的子頁面一併隱藏。在特定 ACL 設定下,這可能導致索引無法使用。'; $lang['auth_security_timeout'] = '安全認證的計時 (秒)'; $lang['securecookie'] = 'HTTPS 頁面設定的 cookie 是否只能由瀏覽器經 HTTPS 傳送?取消此選項後,只有登入維基會被 SSL 保護而瀏覽時不會。'; -$lang['updatecheck'] = '檢查更新與安全性警告?DokuWiki 需要聯繫 update.dokuwiki.org 才能使用此功能。'; -$lang['userewrite'] = '使用好看的 URL'; -$lang['useslash'] = '在 URL 中使用斜線作為命名空間的分隔字元'; +$lang['usewordblock'] = '根據字詞表阻擋垃圾訊息'; +$lang['relnofollow'] = '外部連結使用 rel="nofollow"'; +$lang['indexdelay'] = '建立索引前的延遲時間 (秒)'; +$lang['mailguard'] = '混淆 E-mail 位址'; +$lang['iexssprotect'] = '檢查上傳的檔案中是否隱含惡意的 JavaScript 或 HTML 碼'; $lang['usedraft'] = '編輯時自動儲存草稿'; -$lang['sepchar'] = '頁面名稱中單字的分隔字元'; -$lang['canonical'] = '使用最典型的 URL'; -$lang['fnencode'] = '非 ASCII 文件名稱的編輯方法。'; -$lang['autoplural'] = '檢查複數形式的連結 (英文)'; -$lang['compression'] = 'attic 文件的壓縮方式'; -$lang['cachetime'] = '緩存的最大存在時間 (秒)'; +$lang['htmlok'] = '允許嵌入式 HTML'; +$lang['phpok'] = '允許嵌入式 PHP'; $lang['locktime'] = '檔案的最大鎖定時間 (秒)'; +$lang['cachetime'] = '緩存的最大存在時間 (秒)'; +$lang['target____wiki'] = '內部連結的目標視窗'; +$lang['target____interwiki'] = '跨維基連結的目標視窗'; +$lang['target____extern'] = '外部連結的目標視窗'; +$lang['target____media'] = '媒體連結的目標視窗'; +$lang['target____windows'] = 'Windows 連結的目標視窗'; +$lang['refcheck'] = '媒體連結檢查'; +$lang['refshow'] = '媒體連結的顯示數量'; +$lang['gdlib'] = 'GD Lib 版本'; +$lang['im_convert'] = 'ImageMagick 的轉換工具路徑'; +$lang['jpg_quality'] = 'JPG 壓縮品質(0-100)'; $lang['fetchsize'] = 'fetch.php 可以從外部下載的最大檔案尺寸 (bytes)'; +$lang['subscribers'] = '啟用頁面訂閱'; +$lang['subscribe_time'] = '訂閱列表和摘要發送的時間間隔 (秒);這個值應該小於指定的最近更改保留時間 (recent_days)。'; $lang['notify'] = '寄送變更通知信到這個 E-mail 位址'; $lang['registernotify'] = '寄送新使用者註冊資訊到這個 E-mail 位址'; $lang['mailfrom'] = '自動發送郵件時使用的郵件地址'; $lang['mailprefix'] = '自動發送郵件時使用的標題前綴'; +$lang['sitemap'] = '產生 Google 站台地圖 (天)'; +$lang['rss_type'] = 'XML feed 類型'; +$lang['rss_linkto'] = 'XML feed 連結到'; +$lang['rss_content'] = 'XML feed 項目中顯示什麼呢?'; +$lang['rss_update'] = 'XML feed 更新間隔時間 (秒)'; +$lang['rss_show_summary'] = '於標題中顯示簡要的 XML feed'; +$lang['rss_media'] = '在 XML feed 中應列出哪些變更?'; +$lang['updatecheck'] = '檢查更新與安全性警告?DokuWiki 需要聯繫 update.dokuwiki.org 才能使用此功能。'; +$lang['userewrite'] = '使用好看的 URL'; +$lang['useslash'] = '在 URL 中使用斜線作為分類空間的分隔字元'; +$lang['sepchar'] = '頁面名稱中單字的分隔字元'; +$lang['canonical'] = '使用最典型的 URL'; +$lang['fnencode'] = '非 ASCII 文件名稱的編輯方法。'; +$lang['autoplural'] = '檢查複數形式的連結 (英文)'; +$lang['compression'] = 'attic 文件的壓縮方式'; $lang['gzip_output'] = '對 xhtml 使用 gzip 內容編碼'; -$lang['gdlib'] = 'GD Lib 版本'; -$lang['im_convert'] = 'ImageMagick 的轉換工具路徑'; -$lang['jpg_quality'] = 'JPG 壓縮品質(0-100)'; -$lang['subscribers'] = '啟用頁面訂閱'; -$lang['subscribe_time'] = '訂閱列表和摘要發送的時間間隔 (秒);這個值應該小於指定的最近更改保留時間 (recent_days)。'; $lang['compress'] = '壓縮 CSS 與 JavaScript 的輸出'; $lang['cssdatauri'] = 'CSS 中所引用的圖片假如小於該數字大小(bytes),將會被直接嵌入 CSS 中來減少 HTTP Request 的發送。此功能在 IE 7 及之下版本不支援。推薦使用 <code>400</code> 到 <code>600</code> 之間。設定為<code>0</code> 則停用。'; -$lang['hidepages'] = '隱藏匹配的界面 (正規式)'; $lang['send404'] = '存取不存在的頁面時送出 "HTTP 404/Page Not Found"'; -$lang['sitemap'] = '產生 Google 站台地圖 (天)'; $lang['broken_iua'] = 'ignore_user_abort 功能失效了?這有可能導致搜索索引不可用。IIS+PHP/CGI 已損壞。請參閱 <a href=\"http://bugs.splitbrain.org/?do=details&task_id=852\">Bug 852</a> 獲取更多信息。'; $lang['xsendfile'] = '使用 X-Sendfile 頭讓服務器發送狀態文件?您的服務器需要支持該功能。'; $lang['renderer_xhtml'] = '主要維基輸出 (xhtml) 的的渲染器'; $lang['renderer__core'] = '%s (dokuwiki 核心)'; $lang['renderer__plugin'] = '%s (插件)'; -$lang['rememberme'] = '允許自動登入 (記住我)'; -$lang['rss_type'] = 'XML feed 類型'; -$lang['rss_linkto'] = 'XML feed 連結到'; -$lang['rss_content'] = 'XML feed 項目中顯示什麼呢?'; -$lang['rss_update'] = 'XML feed 更新間隔時間 (秒)'; -$lang['recent_days'] = '儲存多少天內的變更'; -$lang['rss_show_summary'] = '於標題中顯示簡要的 XML feed'; -$lang['target____wiki'] = '內部連結的目標視窗'; -$lang['target____interwiki'] = '跨維基連結的目標視窗'; -$lang['target____extern'] = '外部連結的目標視窗'; -$lang['target____media'] = '媒體連結的目標視窗'; -$lang['target____windows'] = 'Windows 連結的目標視窗'; $lang['proxy____host'] = 'Proxy 伺服器名稱'; $lang['proxy____port'] = 'Proxy 連接埠'; $lang['proxy____user'] = 'Proxy 使用者名稱'; diff --git a/lib/plugins/config/plugin.info.txt b/lib/plugins/config/plugin.info.txt index ace4889b6..1f9968154 100644 --- a/lib/plugins/config/plugin.info.txt +++ b/lib/plugins/config/plugin.info.txt @@ -1,6 +1,7 @@ +base config author Christopher Smith email chris@jalakai.co.uk -date 2007-08-05 +date 2012-09-08 name Configuration Manager desc Manage Dokuwiki's Configuration Settings url http://dokuwiki.org/plugin:config diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 29d21f8a3..8c48018d7 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -548,7 +548,7 @@ if (!class_exists('setting_email')) { if ($value == $input) return false; if ($this->_multiple) { - $mails = array_filter(array_map('trim', split(',', $input))); + $mails = array_filter(array_map('trim', explode(',', $input))); } else { $mails = array($input); } diff --git a/lib/plugins/info/plugin.info.txt b/lib/plugins/info/plugin.info.txt index 2432225f1..5c7d583c0 100644 --- a/lib/plugins/info/plugin.info.txt +++ b/lib/plugins/info/plugin.info.txt @@ -1,6 +1,7 @@ +base info author Andreas Gohr email andi@splitbrain.org -date 2008-09-12 +date 2012-02-04 name Info Plugin desc Displays information about various DokuWiki internals url http://dokuwiki.org/plugin:info diff --git a/lib/plugins/plugin/classes/ap_download.class.php b/lib/plugins/plugin/classes/ap_download.class.php index 2d5ead400..d1b518d9d 100644 --- a/lib/plugins/plugin/classes/ap_download.class.php +++ b/lib/plugins/plugin/classes/ap_download.class.php @@ -8,8 +8,9 @@ class ap_download extends ap_manage { */ function process() { global $lang; + global $INPUT; - $plugin_url = $_REQUEST['url']; + $plugin_url = $INPUT->str('url'); $this->download($plugin_url, $this->overwrite); return ''; } diff --git a/lib/plugins/plugin/classes/ap_enable.class.php b/lib/plugins/plugin/classes/ap_enable.class.php index 35450a907..a25c7ede8 100644 --- a/lib/plugins/plugin/classes/ap_enable.class.php +++ b/lib/plugins/plugin/classes/ap_enable.class.php @@ -6,9 +6,11 @@ class ap_enable extends ap_manage { function process() { global $plugin_protected; + global $INPUT; + $count_enabled = $count_disabled = 0; - $this->enabled = isset($_REQUEST['enabled']) ? $_REQUEST['enabled'] : array(); + $this->enabled = $INPUT->arr('enabled'); foreach ($this->manager->plugin_list as $plugin) { if (in_array($plugin, $plugin_protected)) continue; diff --git a/lib/plugins/plugin/classes/ap_manage.class.php b/lib/plugins/plugin/classes/ap_manage.class.php index 12480e922..28579cbe9 100644 --- a/lib/plugins/plugin/classes/ap_manage.class.php +++ b/lib/plugins/plugin/classes/ap_manage.class.php @@ -141,9 +141,18 @@ class ap_manage { break; case 'update' : + $url = $data[0]; $date = date('r'); - if (!$fp = @fopen($file, 'a')) return; - fwrite($fp, "updated=$date\n"); + if (!$fp = @fopen($file, 'r+')) return; + $buffer = ""; + while (($line = fgets($fp)) !== false) { + $urlFound = strpos($line,"url"); + if($urlFound !== false) $line="url=$url\n"; + $buffer .= $line; + } + $buffer .= "updated=$date\n"; + fseek($fp, 0); + fwrite($fp, $buffer); fclose($fp); break; } diff --git a/lib/plugins/plugin/lang/eo/lang.php b/lib/plugins/plugin/lang/eo/lang.php index 36e7eadff..67553454c 100644 --- a/lib/plugins/plugin/lang/eo/lang.php +++ b/lib/plugins/plugin/lang/eo/lang.php @@ -10,6 +10,7 @@ * @author Erik Pedersen <erik.pedersen@shaw.ca> * @author Robert BOGENSCHNEIDER <robog@gmx.de> * @author Robert Bogenschneider <bogi@uea.org> + * @author Robert Bogenschneider <robog@gmx.de> */ $lang['menu'] = 'Administri Kromaĵojn'; $lang['download'] = 'Elŝuti kaj instali novan kromaĵon'; diff --git a/lib/plugins/plugin/lang/es/lang.php b/lib/plugins/plugin/lang/es/lang.php index ac548245b..ded7d7369 100644 --- a/lib/plugins/plugin/lang/es/lang.php +++ b/lib/plugins/plugin/lang/es/lang.php @@ -22,6 +22,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['menu'] = 'Administración de Plugins'; $lang['download'] = 'Descargar e instalar un nuevo plugin'; @@ -65,6 +67,6 @@ $lang['error_copy'] = 'Hubo un error al copiar el fichero mientras se $lang['error_delete'] = 'Hubo un error al intentar eliminar el plugin <em>%s</em>. La causa más probable es que no se cuente con los permisos necesarios en el fichero o en el directorio'; $lang['enabled'] = 'Plugin %s habilitado.'; $lang['notenabled'] = 'Plugin %s no puede ser habilitado, verifica los permisos del archivo.'; -$lang['disabled'] = 'Plugin %s desabilitado.'; -$lang['notdisabled'] = 'Plugin %s no puede ser desabilitado, verifica los permisos de archivo.'; +$lang['disabled'] = 'Plugin %s deshabilitado.'; +$lang['notdisabled'] = 'Plugin %s no puede ser deshabilitado, verifica los permisos de archivo.'; $lang['packageinstalled'] = 'Plugin (%d plugin(s): %s) instalado exitosamente.'; diff --git a/lib/plugins/plugin/lang/eu/lang.php b/lib/plugins/plugin/lang/eu/lang.php index 56c03325f..2fc07fef9 100644 --- a/lib/plugins/plugin/lang/eu/lang.php +++ b/lib/plugins/plugin/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['menu'] = 'Plugin-ak Kudeatu'; $lang['download'] = 'Plugin berri bat deskargatu eta instalatu'; diff --git a/lib/plugins/plugin/lang/fa/lang.php b/lib/plugins/plugin/lang/fa/lang.php index dbfe9ef9a..bc43ee3ef 100644 --- a/lib/plugins/plugin/lang/fa/lang.php +++ b/lib/plugins/plugin/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['menu'] = 'مدیریت افزونهها'; $lang['download'] = 'دریافت و نصب افزونه'; diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php index bf7a3739a..31d524cc6 100644 --- a/lib/plugins/plugin/lang/fr/lang.php +++ b/lib/plugins/plugin/lang/fr/lang.php @@ -18,6 +18,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['menu'] = 'Gestion des modules externes'; $lang['download'] = 'Télécharger et installer un nouveau module'; diff --git a/lib/plugins/plugin/lang/it/lang.php b/lib/plugins/plugin/lang/it/lang.php index 3994948a0..9ae55c5de 100644 --- a/lib/plugins/plugin/lang/it/lang.php +++ b/lib/plugins/plugin/lang/it/lang.php @@ -14,6 +14,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['menu'] = 'Gestione Plugin'; $lang['download'] = 'Scarica e installa un nuovo plugin'; diff --git a/lib/plugins/plugin/lang/lv/lang.php b/lib/plugins/plugin/lang/lv/lang.php index 0f6103899..9a8727875 100644 --- a/lib/plugins/plugin/lang/lv/lang.php +++ b/lib/plugins/plugin/lang/lv/lang.php @@ -48,3 +48,4 @@ $lang['enabled'] = 'Modulis %s pieslēgts.'; $lang['notenabled'] = 'Moduli %s nevar pieslēgt, pārbaudi failu tiesības.'; $lang['disabled'] = 'Modulis %s atslēgts.'; $lang['notdisabled'] = 'Moduli %s nevar atslēgt, pārbaudi failu tiesības.'; +$lang['packageinstalled'] = 'Moduļu paka (pavisam kopā %d: %s) veiksmīgi uzstādīti.'; diff --git a/lib/plugins/plugin/lang/nl/lang.php b/lib/plugins/plugin/lang/nl/lang.php index 0599c3184..10db78411 100644 --- a/lib/plugins/plugin/lang/nl/lang.php +++ b/lib/plugins/plugin/lang/nl/lang.php @@ -13,6 +13,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['menu'] = 'Plugins beheren'; $lang['download'] = 'Download en installeer een nieuwe plugin'; @@ -58,4 +59,4 @@ $lang['enabled'] = 'Plugin %s ingeschakeld.'; $lang['notenabled'] = 'Plugin %s kon niet worden ingeschakeld, controleer bestandsrechten.'; $lang['disabled'] = 'Plugin %s uitgeschakeld.'; $lang['notdisabled'] = 'Plugin %s kon niet worden uitgeschakeld, controleer bestandsrechten.'; -$lang['packageinstalled'] = 'Plugin package (%d plugin%s: %s) succesvol geïnstalleerd.'; +$lang['packageinstalled'] = 'Plugin package (%d plugin(s): %s) succesvol geïnstalleerd.'; diff --git a/lib/plugins/plugin/lang/zh-tw/lang.php b/lib/plugins/plugin/lang/zh-tw/lang.php index 54234212d..8fa3efb0a 100644 --- a/lib/plugins/plugin/lang/zh-tw/lang.php +++ b/lib/plugins/plugin/lang/zh-tw/lang.php @@ -9,6 +9,7 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['menu'] = '管理插件 (Plugins)'; $lang['download'] = '下載與安裝插件'; @@ -20,8 +21,8 @@ $lang['btn_settings'] = '設定'; $lang['btn_download'] = '下載'; $lang['btn_enable'] = '儲存'; $lang['url'] = 'URL'; -$lang['installed'] = '安裝:'; -$lang['lastupdate'] = '上次更新:'; +$lang['installed'] = '安裝:'; +$lang['lastupdate'] = '上次更新:'; $lang['source'] = '來源:'; $lang['unknown'] = '未知'; $lang['updating'] = '更新中 ...'; @@ -34,17 +35,17 @@ $lang['downloading'] = '下載中 ...'; $lang['downloaded'] = '插件 %s 已成功地安裝'; $lang['downloads'] = '以下的插件已成功地安裝:'; $lang['download_none'] = '找不到插件,或在下載與安裝時發生了未知的問題'; -$lang['plugin'] = '插件:'; +$lang['plugin'] = '插件:'; $lang['components'] = '元件'; $lang['noinfo'] = '此插件沒有回傳任何資訊,可能是無效的'; -$lang['name'] = '名稱:'; -$lang['date'] = '日期:'; -$lang['type'] = '類型:'; -$lang['desc'] = '描述:'; -$lang['author'] = '作者:'; +$lang['name'] = '名稱:'; +$lang['date'] = '日期:'; +$lang['type'] = '類型:'; +$lang['desc'] = '描述:'; +$lang['author'] = '作者:'; $lang['www'] = '網頁:'; $lang['error'] = '一個未知的錯誤發生。'; -$lang['error_download'] = '無法下載插件檔案: %s'; +$lang['error_download'] = '無法下載插件檔案: %s'; $lang['error_badurl'] = 'URL 可能有問題 - 從 URL 中無法得知文件名'; $lang['error_dircreate'] = '無法建立暫存目錄來接收下載的內容'; $lang['error_decompress'] = '插件管理器無法解壓下載的文件。這可能是由於下載出現錯誤,遇到這種情況,請您再次嘗試;或者是壓縮格式無法識別,遇到這種情況,您需要手動下載並安裝該插件。'; diff --git a/lib/plugins/plugin/lang/zh/lang.php b/lib/plugins/plugin/lang/zh/lang.php index 58f05fbd9..473d31ead 100644 --- a/lib/plugins/plugin/lang/zh/lang.php +++ b/lib/plugins/plugin/lang/zh/lang.php @@ -60,4 +60,4 @@ $lang['enabled'] = '%s 插件启用'; $lang['notenabled'] = '%s插件启用失败,请检查文件权限。'; $lang['disabled'] = '%s 插件禁用'; $lang['notdisabled'] = '%s插件禁用失败,请检查文件权限。'; -$lang['packageinstalled'] = '插件 (%d plugin%s: %s) 已成功安装。'; +$lang['packageinstalled'] = '插件 (%d 插件: %s) 已成功安装。'; diff --git a/lib/plugins/plugin/plugin.info.txt b/lib/plugins/plugin/plugin.info.txt new file mode 100644 index 000000000..c2f72d998 --- /dev/null +++ b/lib/plugins/plugin/plugin.info.txt @@ -0,0 +1,7 @@ +base plugin +author Christopher Smith +email chris@jalakai.co.uk +date 2012-09-08 +name Plugin Manager plugin +desc Manage and install plugins +url http://www.dokuwiki.org/plugin:plugin diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php index bf11efba6..1c7a2f65d 100644 --- a/lib/plugins/popularity/action.php +++ b/lib/plugins/popularity/action.php @@ -18,7 +18,7 @@ class action_plugin_popularity extends Dokuwiki_Action_Plugin { /** * Register its handlers with the dokuwiki's event controller */ - function register(&$controller) { + function register(Doku_Event_Handler $controller) { $controller->register_hook('INDEXER_TASKS_RUN', 'AFTER', $this, '_autosubmit', array()); } diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index a04e98a66..474a09ef9 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -50,15 +50,17 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { * handle user request */ function handle() { + global $INPUT; + //Send the data - if ( isset($_REQUEST['data']) ){ - $this->sentStatus = $this->helper->sendData( $_REQUEST['data'] ); + if ( $INPUT->has('data') ){ + $this->sentStatus = $this->helper->sendData( $INPUT->str('data') ); if ( $this->sentStatus === '' ){ //Update the last time we sent the data touch ( $this->helper->popularityLastSubmitFile ); } //Deal with the autosubmit option - $this->_enableAutosubmit( isset($_REQUEST['autosubmit']) ); + $this->_enableAutosubmit( $INPUT->has('autosubmit') ); } } @@ -78,7 +80,9 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { * Output HTML form */ function html() { - if ( ! isset($_REQUEST['data']) ){ + global $INPUT; + + if ( ! $INPUT->has('data') ){ echo $this->locale_xhtml('intro'); //If there was an error the last time we tried to autosubmit, warn the user @@ -106,7 +110,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { //If we failed to submit the data, try directly with the browser echo $this->getLang('submissionFailed') . $this->sentStatus . '<br />'; echo $this->getLang('submitDirectly'); - echo $this->buildForm('browser', $_REQUEST['data']); + echo $this->buildForm('browser', $INPUT->str('data')); } } } @@ -135,7 +139,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { $form .= '<label for="autosubmit">' .'<input type="checkbox" name="autosubmit" id="autosubmit" ' .($this->helper->isAutosubmitEnabled() ? 'checked' : '' ) - .'/>' . $this->getLang('autosubmit') .'<br />' + .'/> ' . $this->getLang('autosubmit') .'<br />' .'</label>' .'<input type="hidden" name="do" value="admin" />' .'<input type="hidden" name="page" value="popularity" />'; diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php index af1e8a706..34521021d 100644 --- a/lib/plugins/popularity/helper.php +++ b/lib/plugins/popularity/helper.php @@ -143,7 +143,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { // number and size of pages $list = array(); - search($list,$conf['datadir'],array($this,'_search_count'),'',''); + search($list,$conf['datadir'],array($this,'_search_count'),array('all'=>false),''); $data['page_count'] = $list['file_count']; $data['page_size'] = $list['file_size']; $data['page_biggest'] = $list['file_max']; diff --git a/lib/plugins/popularity/lang/es/lang.php b/lib/plugins/popularity/lang/es/lang.php index 752fb7da4..e46735782 100644 --- a/lib/plugins/popularity/lang/es/lang.php +++ b/lib/plugins/popularity/lang/es/lang.php @@ -19,6 +19,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['name'] = 'Retroinformación (Feedback) plugin Popularity'; $lang['submit'] = 'Enviar datos'; diff --git a/lib/plugins/popularity/lang/eu/lang.php b/lib/plugins/popularity/lang/eu/lang.php index 05e4262de..b52ccaee1 100644 --- a/lib/plugins/popularity/lang/eu/lang.php +++ b/lib/plugins/popularity/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['name'] = 'Popularitate Feedback-a (denbora dezente iraun dezake kargatzen)'; $lang['submit'] = 'Datuak Bidali'; diff --git a/lib/plugins/popularity/lang/fa/lang.php b/lib/plugins/popularity/lang/fa/lang.php index 600e68077..6a0529891 100644 --- a/lib/plugins/popularity/lang/fa/lang.php +++ b/lib/plugins/popularity/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['name'] = 'بازخورد محبوبیت (ممکن است اندکی زمان ببرد)'; $lang['submit'] = 'ارسال اطلاعات'; diff --git a/lib/plugins/popularity/lang/fr/lang.php b/lib/plugins/popularity/lang/fr/lang.php index f235fd0fa..904987079 100644 --- a/lib/plugins/popularity/lang/fr/lang.php +++ b/lib/plugins/popularity/lang/fr/lang.php @@ -15,6 +15,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['name'] = 'Enquête de popularité (peut nécessiter un certain temps pour être chargée)'; $lang['submit'] = 'Envoyer les données'; diff --git a/lib/plugins/popularity/lang/it/lang.php b/lib/plugins/popularity/lang/it/lang.php index 9bf4ca8c6..a0cf274aa 100644 --- a/lib/plugins/popularity/lang/it/lang.php +++ b/lib/plugins/popularity/lang/it/lang.php @@ -10,6 +10,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['name'] = 'Raccolta dati sul wiki (può impiegare del tempo per caricarsi)'; $lang['submit'] = 'Invia dati'; diff --git a/lib/plugins/popularity/lang/ko/intro.txt b/lib/plugins/popularity/lang/ko/intro.txt index 0af7ee2cc..b9e66094e 100644 --- a/lib/plugins/popularity/lang/ko/intro.txt +++ b/lib/plugins/popularity/lang/ko/intro.txt @@ -1,6 +1,6 @@ ====== 인기도 조사 ====== -설치된 위키의 익명 정보를 DokuWiki 개발자에게 보냅니다. 이 [[doku>popularity|기능]]은 DokuWiki가 실제 사용자에게 어떻게 사용되는지 DokuWiki 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다. +설치된 위키의 익명 정보를 DokuWiki 개발자에게 보냅니다. 이 [[doku>popularity|도구]]는 DokuWiki가 실제 사용자에게 어떻게 사용되는지 DokuWiki 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다. 설치된 위키가 커짐에 따라서 이 과정을 반복할 필요가 있습니다. 반복된 데이타는 익명 ID로 구별되어집니다. diff --git a/lib/plugins/popularity/lang/nl/lang.php b/lib/plugins/popularity/lang/nl/lang.php index e5e94aab4..b32ad9eb6 100644 --- a/lib/plugins/popularity/lang/nl/lang.php +++ b/lib/plugins/popularity/lang/nl/lang.php @@ -12,6 +12,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['name'] = 'Populariteitsfeedback (kan even duren om in te laden)'; $lang['submit'] = 'Verstuur'; diff --git a/lib/plugins/popularity/lang/pt-br/intro.txt b/lib/plugins/popularity/lang/pt-br/intro.txt index 306cb2820..e07aa0ac3 100644 --- a/lib/plugins/popularity/lang/pt-br/intro.txt +++ b/lib/plugins/popularity/lang/pt-br/intro.txt @@ -1,9 +1,9 @@ ====== Retorno de Popularidade ====== -Essa ferramenta coleta dados anônimos sobre o seu wiki e permite que você os envie para os desenvolvedores do DokuWiki. Isso ajuda-os a compreender como o DokuWiki é utilizado pelos seus usuários e garante que decisões para futuros desenvolvimentos sejam respaldadas por estatísticas de uso real. +Essa [[doku>popularity|ferramenta]] coleta dados anônimos sobre o seu wiki e permite que você os envie para os desenvolvedores do DokuWiki. Isso ajuda-os a compreender como o DokuWiki é utilizado pelos seus usuários e garante que decisões para futuros desenvolvimentos sejam respaldadas por estatísticas de uso real. Você é encorajado a repetir esse procedimento de tempos em tempos, para manter os desenvolvedores informados quando o seu wiki for alterado. Seus pacotes de dados repetidos serão categorizados por uma identificação anônima. Os dados coletados contém informações do tipo: a versão do seu DokuWiki, o número e tamanho das suas páginas e arquivos, plug-ins instalados e informações sobre a sua instalação do PHP. -Os dados brutos que serão enviados é mostrado abaixo. Por favor, utilize o botão "Enviar dados" para transferir a informação. +Os dados brutos que serão enviados serão exibidos abaixo. Por favor, utilize o botão "Enviar dados" para transferir a informação. diff --git a/lib/plugins/popularity/lang/zh-tw/lang.php b/lib/plugins/popularity/lang/zh-tw/lang.php index 3ced0ee5a..3d19ce53a 100644 --- a/lib/plugins/popularity/lang/zh-tw/lang.php +++ b/lib/plugins/popularity/lang/zh-tw/lang.php @@ -9,6 +9,7 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['name'] = '人氣回饋(載入可能需要一些時間)'; $lang['submit'] = '發送資料'; diff --git a/lib/plugins/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt index 16b148f41..2f1451c4a 100644 --- a/lib/plugins/popularity/plugin.info.txt +++ b/lib/plugins/popularity/plugin.info.txt @@ -1,7 +1,7 @@ base popularity author Andreas Gohr email andi@splitbrain.org -date 2011-08-18 +date 2012-10-07 name Popularity Feedback Plugin desc Send anonymous data about your wiki to the developers. url http://www.dokuwiki.org/plugin:popularity diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index ff5fa69ba..958cf5acf 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -64,7 +64,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { echo '<form action="" method="post"><div class="no">'; echo '<label>'.$this->getLang('filter').': </label>'; echo '<input type="text" name="filter" class="edit" value="'.hsc($_REQUEST['filter']).'" />'; - echo '<input type="submit" class="button" value="'.$lang['btn_search'].'" />'; + echo ' <input type="submit" class="button" value="'.$lang['btn_search'].'" />'; echo ' <span>'.$this->getLang('note1').'</span>'; echo '</div></form><br /><br />'; } @@ -134,7 +134,7 @@ class admin_plugin_revert extends DokuWiki_Admin_Plugin { echo ($recent['type']===DOKU_CHANGE_TYPE_MINOR_EDIT) ? '<li class="minor">' : '<li>'; echo '<div class="li">'; echo '<input type="checkbox" name="revert[]" value="'.hsc($recent['id']).'" checked="checked" id="revert__'.$cnt.'" />'; - echo '<label for="revert__'.$cnt.'">'.$date.'</label> '; + echo ' <label for="revert__'.$cnt.'">'.$date.'</label> '; echo '<a href="'.wl($recent['id'],"do=diff").'">'; $p = array(); diff --git a/lib/plugins/revert/lang/es/lang.php b/lib/plugins/revert/lang/es/lang.php index e235015d4..129d71574 100644 --- a/lib/plugins/revert/lang/es/lang.php +++ b/lib/plugins/revert/lang/es/lang.php @@ -20,6 +20,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['menu'] = 'Restaurador'; $lang['filter'] = 'Buscar páginas con spam'; diff --git a/lib/plugins/revert/lang/eu/lang.php b/lib/plugins/revert/lang/eu/lang.php index e94f07b2a..d3532c070 100644 --- a/lib/plugins/revert/lang/eu/lang.php +++ b/lib/plugins/revert/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['menu'] = 'Berrezartze Kudeatzailea'; $lang['filter'] = 'Bilatu spam duten orriak'; diff --git a/lib/plugins/revert/lang/fa/lang.php b/lib/plugins/revert/lang/fa/lang.php index 34a5c430e..ba20313a3 100644 --- a/lib/plugins/revert/lang/fa/lang.php +++ b/lib/plugins/revert/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['menu'] = 'مدیریت برگشتها'; $lang['filter'] = 'جستجوی صفحات اسپم شده'; diff --git a/lib/plugins/revert/lang/fr/lang.php b/lib/plugins/revert/lang/fr/lang.php index 75c8bab68..253e0c96e 100644 --- a/lib/plugins/revert/lang/fr/lang.php +++ b/lib/plugins/revert/lang/fr/lang.php @@ -16,6 +16,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['menu'] = 'Gestionnaire de réversions'; $lang['filter'] = 'Trouver les pages spammées '; diff --git a/lib/plugins/revert/lang/it/lang.php b/lib/plugins/revert/lang/it/lang.php index a0b676d77..9c092de99 100644 --- a/lib/plugins/revert/lang/it/lang.php +++ b/lib/plugins/revert/lang/it/lang.php @@ -11,6 +11,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['menu'] = 'Gestore di ripristini'; $lang['filter'] = 'Cerca pagine con spam'; diff --git a/lib/plugins/revert/lang/nl/lang.php b/lib/plugins/revert/lang/nl/lang.php index 32e14c2c4..0a2880105 100644 --- a/lib/plugins/revert/lang/nl/lang.php +++ b/lib/plugins/revert/lang/nl/lang.php @@ -13,6 +13,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['menu'] = 'Herstelmanager'; $lang['filter'] = 'Zoek naar bekladde pagina\'s'; diff --git a/lib/plugins/revert/lang/zh-tw/lang.php b/lib/plugins/revert/lang/zh-tw/lang.php index a853ccd2e..64da648cd 100644 --- a/lib/plugins/revert/lang/zh-tw/lang.php +++ b/lib/plugins/revert/lang/zh-tw/lang.php @@ -9,6 +9,7 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin <danny0838@pchome.com.tw> * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ $lang['menu'] = '還原管理'; $lang['filter'] = '搜索包含垃圾訊息的頁面'; diff --git a/lib/plugins/revert/plugin.info.txt b/lib/plugins/revert/plugin.info.txt index 5bb6f3413..205fe9177 100644 --- a/lib/plugins/revert/plugin.info.txt +++ b/lib/plugins/revert/plugin.info.txt @@ -1,6 +1,7 @@ +base revert author Andreas Gohr email andi@splitbrain.org -date 2008-12-10 +date 2012-08-05 name Revert Manager desc Allows you to mass revert recent edits url http://dokuwiki.org/plugin:revert diff --git a/lib/plugins/safefnrecode/action.php b/lib/plugins/safefnrecode/action.php index 5d3eaae3a..aae11c437 100644 --- a/lib/plugins/safefnrecode/action.php +++ b/lib/plugins/safefnrecode/action.php @@ -13,7 +13,7 @@ require_once DOKU_PLUGIN.'action.php'; class action_plugin_safefnrecode extends DokuWiki_Action_Plugin { - public function register(Doku_Event_Handler &$controller) { + public function register(Doku_Event_Handler $controller) { $controller->register_hook('INDEXER_TASKS_RUN', 'BEFORE', $this, 'handle_indexer_tasks_run'); diff --git a/lib/plugins/safefnrecode/plugin.info.txt b/lib/plugins/safefnrecode/plugin.info.txt index b1600060c..2b42399b0 100644 --- a/lib/plugins/safefnrecode/plugin.info.txt +++ b/lib/plugins/safefnrecode/plugin.info.txt @@ -1,7 +1,7 @@ base safefnrecode author Andreas Gohr email andi@splitbrain.org -date 2011-04-03 +date 2011-04-06 name safefnrecode plugin desc Changes existing page and foldernames for the change in the safe filename encoding url http://www.dokuwiki.org/plugin:safefnrecode diff --git a/lib/plugins/testing/action.php b/lib/plugins/testing/action.php index e829847b6..a242ab0b7 100644 --- a/lib/plugins/testing/action.php +++ b/lib/plugins/testing/action.php @@ -7,7 +7,8 @@ * @author Tobias Sarnowski <tobias@trustedco.de> */ class action_plugin_testing extends DokuWiki_Action_Plugin { - function register(&$controller) { + + function register(Doku_Event_Handler $controller) { $controller->register_hook('DOKUWIKI_STARTED', 'AFTER', $this, 'dokuwikiStarted'); } diff --git a/lib/plugins/testing/plugin.info.txt b/lib/plugins/testing/plugin.info.txt index a514d7774..c78c07739 100644 --- a/lib/plugins/testing/plugin.info.txt +++ b/lib/plugins/testing/plugin.info.txt @@ -1,6 +1,7 @@ base testing author Tobias Sarnowski email tobias@trustedco.de -date 2012-04-24 +date 2012-04-26 name Testing Plugin desc Used to test the test framework. Should always be disabled. +url http://www.dokuwiki.org/plugin:testing diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 2bb0a863d..30b65debb 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -553,12 +553,13 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { */ function _retrieveUser($clean=true) { global $auth; + global $INPUT; - $user[0] = ($clean) ? $auth->cleanUser($_REQUEST['userid']) : $_REQUEST['userid']; - $user[1] = $_REQUEST['userpass']; - $user[2] = $_REQUEST['username']; - $user[3] = $_REQUEST['usermail']; - $user[4] = explode(',',$_REQUEST['usergroups']); + $user[0] = ($clean) ? $auth->cleanUser($INPUT->str('userid')) : $INPUT->str('userid'); + $user[1] = $INPUT->str('userpass'); + $user[2] = $INPUT->str('username'); + $user[3] = $INPUT->str('usermail'); + $user[4] = explode(',',$INPUT->str('usergroups')); $user[4] = array_map('trim',$user[4]); if($clean) $user[4] = array_map(array($auth,'cleanGroup'),$user[4]); @@ -584,9 +585,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { } function _retrieveFilter() { + global $INPUT; - $t_filter = $_REQUEST['filter']; - if (!is_array($t_filter)) return array(); + $t_filter = $INPUT->arr('filter'); // messy, but this way we ensure we aren't getting any additional crap from malicious users $filter = array(); diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index c12b77b3d..521191701 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -21,6 +21,8 @@ * @author emezeta <emezeta@infoprimo.com> * @author Oscar Ciudad <oscar@jacho.net> * @author Ruben Figols <ruben.figols@gmail.com> + * @author Gerardo Zamudio <gerardo@gerardozamudio.net> + * @author Mercè López mercelz@gmail.com */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; diff --git a/lib/plugins/usermanager/lang/eu/lang.php b/lib/plugins/usermanager/lang/eu/lang.php index b6e04f7c4..5d3a01fc7 100644 --- a/lib/plugins/usermanager/lang/eu/lang.php +++ b/lib/plugins/usermanager/lang/eu/lang.php @@ -3,6 +3,7 @@ * Basque language file * * @author Inko Illarramendi <inko.i.a@gmail.com> + * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['menu'] = 'Erabiltzaile Kudeatzailea'; $lang['noauth'] = '(erabiltzaile kautotzea ez dago erabilgarri)'; diff --git a/lib/plugins/usermanager/lang/fa/lang.php b/lib/plugins/usermanager/lang/fa/lang.php index 674013474..8176b776b 100644 --- a/lib/plugins/usermanager/lang/fa/lang.php +++ b/lib/plugins/usermanager/lang/fa/lang.php @@ -8,6 +8,7 @@ * @author Omid Mottaghi <omidmr@gmail.com> * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> + * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['menu'] = 'مدیریت کاربر'; $lang['noauth'] = '(معتبرسازی کاربر ممکن نیست)'; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index 882312820..d84ff65c3 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -17,6 +17,7 @@ * @author schplurtz@laposte.net * @author skimpax@gmail.com * @author Yannick Aure <yannick.aure@gmail.com> + * @author Olivier DUVAL <zorky00@gmail.com> */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification utilisateur non disponible)'; diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index 1e948baab..0222ff1e4 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -13,6 +13,7 @@ * @author Osman Tekin osman.tekin93@hotmail.it * @author Jacopo Corbetta <jacopo.corbetta@gmail.com> * @author Matteo Pasotti <matteo@xquiet.eu> + * @author snarchio@gmail.com */ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; diff --git a/lib/plugins/usermanager/lang/kk/lang.php b/lib/plugins/usermanager/lang/kk/lang.php index dde5b9577..b1bbd39ec 100644 --- a/lib/plugins/usermanager/lang/kk/lang.php +++ b/lib/plugins/usermanager/lang/kk/lang.php @@ -4,3 +4,6 @@ * * @author Nurgozha Kaliaskarov astana08@gmail.com */ +$lang['user_id'] = 'Пайдаланушы'; +$lang['user_pass'] = 'Шартты белгi'; +$lang['user_mail'] = 'E-mail'; diff --git a/lib/plugins/usermanager/lang/ko/edit.txt b/lib/plugins/usermanager/lang/ko/edit.txt index b8b13c5c8..ebb5bb002 100644 --- a/lib/plugins/usermanager/lang/ko/edit.txt +++ b/lib/plugins/usermanager/lang/ko/edit.txt @@ -1 +1 @@ -===== 사용자 정보 수정 ===== +===== 사용자 정보 편집 ===== diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index 3754fea90..58f9bf14a 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -35,14 +35,14 @@ $lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d 보기. $lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자 %d명.'; $lang['delete_ok'] = '사용자 %d명이 삭제되었습니다'; $lang['delete_fail'] = '사용자 %d명의 삭제가 실패했습니다.'; -$lang['update_ok'] = '사용자 변경을 성공했습니다.'; -$lang['update_fail'] = '사용자 변경을 실패했습니다.'; -$lang['update_exists'] = '사용자 이름 변경이 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)'; +$lang['update_ok'] = '사용자 정보를 성공적으로 바꾸었습니다.'; +$lang['update_fail'] = '사용자 정보를 바꾸는 데 실패했습니다.'; +$lang['update_exists'] = '사용자 이름을 바꾸기는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)'; $lang['start'] = '시작'; $lang['prev'] = '이전'; $lang['next'] = '다음'; $lang['last'] = '마지막'; -$lang['edit_usermissing'] = '선택된 사용자를 찾을 수 없습니다. 사용자 이름이 삭제되거나 변경됐을 수도 있습니다.'; +$lang['edit_usermissing'] = '선택된 사용자를 찾을 수 없습니다. 사용자 이름이 삭제되거나 바뀌었을 수도 있습니다.'; $lang['user_notify'] = '사용자에게 알림'; $lang['note_notify'] = '사용자에게 새로운 비밀번호를 준 경우에만 알림 이메일이 보내집니다.'; $lang['note_group'] = '새로운 사용자는 어떤 그룹도 설정하지 않은 경우에 기본 그룹(%s)에 추가됩니다.'; diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index b00ab22e0..8f30ce3ea 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -13,6 +13,7 @@ * @author Timon Van Overveldt <timonvo@gmail.com> * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> + * @author Gerrit <klapinklapin@gmail.com> */ $lang['menu'] = 'Gebruikersmanager'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; diff --git a/lib/plugins/usermanager/lang/zh-tw/intro.txt b/lib/plugins/usermanager/lang/zh-tw/intro.txt index 8f9488d7d..32ccf6fad 100644 --- a/lib/plugins/usermanager/lang/zh-tw/intro.txt +++ b/lib/plugins/usermanager/lang/zh-tw/intro.txt @@ -1 +1 @@ -====== 帳號管理員 ====== +====== 帳號管理器 ====== diff --git a/lib/plugins/usermanager/lang/zh-tw/lang.php b/lib/plugins/usermanager/lang/zh-tw/lang.php index 5cb20aae8..23b4fdac6 100644 --- a/lib/plugins/usermanager/lang/zh-tw/lang.php +++ b/lib/plugins/usermanager/lang/zh-tw/lang.php @@ -10,8 +10,9 @@ * @author Cheng-Wei Chien <e.cwchien@gmail.com> * @author Danny Lin <danny0838@pchome.com.tw> * @author Shuo-Ting Jian <shoting@gmail.com> + * @author syaoranhinata@gmail.com */ -$lang['menu'] = '帳號管理員'; +$lang['menu'] = '帳號管理器'; $lang['noauth'] = '(帳號認證尚未開放)'; $lang['nosupport'] = '(尚不支援帳號管理)'; $lang['badauth'] = '錯誤的認證機制'; @@ -35,8 +36,8 @@ $lang['filter'] = '篩選條件(Filter)'; $lang['summary'] = '顯示帳號 %1$d-%2$d,共 %3$d 筆符合。共有 %4$d 個帳號。'; $lang['nonefound'] = '找不到帳號。共有 %d 個帳號。'; $lang['delete_ok'] = '已刪除 %d 個帳號'; -$lang['delete_fail'] = '%d 個帳號刪除失敗'; -$lang['update_ok'] = '成功更新該帳號'; +$lang['delete_fail'] = '%d 個帳號刪除失敗。'; +$lang['update_ok'] = '已更新該帳號'; $lang['update_fail'] = '更新該帳號時失敗'; $lang['update_exists'] = '變更帳號名稱 (%s) 失敗,因為有同名帳號存在(其他修改已套用)。'; $lang['start'] = '開始'; diff --git a/lib/plugins/usermanager/plugin.info.txt b/lib/plugins/usermanager/plugin.info.txt index 7ec5fafd5..f4495bb19 100644 --- a/lib/plugins/usermanager/plugin.info.txt +++ b/lib/plugins/usermanager/plugin.info.txt @@ -1,6 +1,7 @@ +base usermanager author Chris Smith email chris@jalakai.co.uk -date 2008-09-17 +date 2012-09-08 name User Manager -desc Manage users +desc Manage users url http://dokuwiki.org/plugin:usermanager diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 33a8f61b5..5a5e829bd 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -40,6 +40,8 @@ function createToolButton(icon,label,key,id,classname){ icon = DOKU_BASE + 'lib/images/toolbar/' + icon; } $ico.attr('src', icon); + $ico.attr('width', 16); + $ico.attr('height', 16); $btn.append($ico); // we have to return a DOM object (for compatibility reasons) diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 841baa93f..182d5fefe 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -31,6 +31,7 @@ var dw_mediamanager = { var $content, $tree; $content = jQuery('#media__content'); $tree = jQuery('#media__tree'); + if(!$tree.length) return; dw_mediamanager.prepare_content($content); @@ -434,7 +435,7 @@ var dw_mediamanager = { dw_mediamanager.$resizables().resizable('destroy'); if (update_list) { - dw_mediamanager.list.call(jQuery('input[value="Apply"]')[0]); + dw_mediamanager.list.call(jQuery('#mediamanager__page form.options input[type="submit"]')[0]); } $content.html(data); @@ -494,12 +495,12 @@ var dw_mediamanager = { // set max width of resizable column var widthOtherResizable = widthResizables - jQuery(this).width(); var minWidthNonResizable = parseFloat($filePanel.css("min-width")); - var maxWidth = widthFull - (widthOtherResizable + minWidthNonResizable); + var maxWidth = widthFull - (widthOtherResizable + minWidthNonResizable) - 1; $resizables.resizable( "option", "maxWidth", maxWidth ); - // width of file panel in % = 100% - width of resizables in % - // this calculates with 99.99 and not 100 to overcome rounding errors - var relWidthNonResizable = 99.99 - (100 * widthResizables / widthFull); + // width of file panel in % = 100% - width of resizables in % + // this calculates with 99.9 and not 100 to overcome rounding errors + var relWidthNonResizable = 99.9 - (100 * widthResizables / widthFull); // set width of file panel $filePanel.width(relWidthNonResizable+'%'); @@ -513,6 +514,8 @@ var dw_mediamanager = { }); } + dw_mediamanager.resize(); + dw_mediamanager.opacity_slider(); dw_mediamanager.portions_slider(); } @@ -699,7 +702,7 @@ var dw_mediamanager = { event.preventDefault(); $link = jQuery(this); - id = $link.attr('name').substr(2); + id = $link.attr('id').substr(2); if(!opener){ // if we don't run in popup display example diff --git a/lib/scripts/page.js b/lib/scripts/page.js index 5ac81f33b..4ab0bf9b5 100644 --- a/lib/scripts/page.js +++ b/lib/scripts/page.js @@ -22,19 +22,27 @@ dw_page = { jQuery('form.btn_secedit') .mouseover(function(){ var $tgt = jQuery(this).parent(), - nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2]; - - // Walk the DOM tree up (first previous siblings, then parents) - // until boundary element - while($tgt.length > 0 && !$tgt.hasClass('sectionedit' + nr)) { - // $.last gives the DOM-ordered last element: - // prev if present, else parent. - $tgt = $tgt.prev().add($tgt.parent()).last(); - $tgt.addClass('section_highlight'); + nr = $tgt.attr('class').match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2], + $highlight = jQuery(), // holder for elements in the section to be highlighted + $highlightWrap = jQuery('<div class="section_highlight"></div>'); // section highlight wrapper + + // Walk the dom tree in reverse to find the sibling which is or contains the section edit marker + while($tgt.length > 0 && !($tgt.hasClass('sectionedit' + nr) || $tgt.find('.sectionedit' + nr).length)) { + $tgt = $tgt.prev(); + $highlight = $highlight.add($tgt); } + // insert the section highlight wrapper before the last element added to $highlight + $highlight.filter(':last').before($highlightWrap); + // and move the elements to be highlighted inside the section highlight wrapper + $highlight.detach().appendTo($highlightWrap); }) .mouseout(function(){ - jQuery('.section_highlight').removeClass('section_highlight'); + // find the section highlight wrapper... + var $highlightWrap = jQuery('.section_highlight'); + // ...move its children in front of it (as siblings)... + $highlightWrap.before($highlightWrap.children().detach()); + // ...and remove the section highlight wrapper + $highlightWrap.detach(); }); }, diff --git a/lib/styles/all.css b/lib/styles/all.css index 5d7eb7d14..ff4bd2457 100644 --- a/lib/styles/all.css +++ b/lib/styles/all.css @@ -1,5 +1,5 @@ /** - * Basic styles. These styles are needed for basic DokuWiki functions + * Basic screen and print styles. These styles are needed for basic DokuWiki functions * regardless of the used template. Templates can override them of course */ diff --git a/lib/styles/print.css b/lib/styles/print.css index 76bc6d3bc..a5c39e889 100644 --- a/lib/styles/print.css +++ b/lib/styles/print.css @@ -1,23 +1,15 @@ /** - * Basic styles. These styles are needed for basic DokuWiki functions + * Basic print styles. These styles are needed for basic DokuWiki functions * regardless of the used template. Templates can override them of course */ -/* messages with msg() */ -div.error, +div.error, /* messages with msg() */ div.info, div.success, -div.notify { - display: none; -} - -/* section edit button */ -.secedit { - display: none; -} - -/* modal windows */ -.JSpopup, +div.notify, +.secedit, /* section edit button */ +.a11y, /* accessibly hidden text */ +.JSpopup, /* modal windows */ #link__wiz { display: none; } diff --git a/lib/styles/screen.css b/lib/styles/screen.css index 8ada48932..241904d7c 100644 --- a/lib/styles/screen.css +++ b/lib/styles/screen.css @@ -1,5 +1,5 @@ /** - * Basic styles. These styles are needed for basic DokuWiki functions + * Basic screen styles. These styles are needed for basic DokuWiki functions * regardless of the used template. Templates can override them of course */ @@ -73,12 +73,16 @@ div.notify { (e.g. for screen readers or to keep access keys working) */ .a11y { position: absolute !important; - left: -10000px !important; + left: -99999em !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; } +[dir=rtl] .a11y { + left: auto !important; + right: -99999em !important; +} /* syntax highlighting code */ .code .br0 { color: #66cc66; } diff --git a/lib/tpl/default/_mediamanager.css b/lib/tpl/default/_mediamanager.css index 8c605f69a..2ce345e40 100644 --- a/lib/tpl/default/_mediamanager.css +++ b/lib/tpl/default/_mediamanager.css @@ -36,6 +36,10 @@ min-height: 20px; overflow: hidden; } +[dir=rtl] #mediamanager__page .panelContent { + text-align: right; +} + #mediamanager__page .panelContent { overflow-y: auto; @@ -62,6 +66,10 @@ /*____________ Namespaces tree ____________*/ +[dir=rtl] #mediamanager__page .namespaces { + text-align: right; +} + #mediamanager__page .namespaces h2 { font-size: 1em; display: inline-block; @@ -78,14 +86,32 @@ *+html #mediamanager__page .namespaces h2 { display: inline; } +[dir=rtl] #mediamanager__page .namespaces h2 { + margin-right: 10px; +} #mediamanager__page .namespaces ul { margin-left: .2em; + margin-bottom: 0; + padding: 0; list-style: none; } +[dir=rtl] #mediamanager__page .namespaces ul { + margin-left: 0; + margin-right: .2em; +} + #mediamanager__page .namespaces ul ul { margin-left: 1em; } +[dir=rtl] #mediamanager__page .namespaces ul ul { + margin-left: 0; + margin-right: 1em; +} +#mediamanager__page .namespaces ul ul li { + margin: 0; +} + #mediamanager__page .namespaces ul .selected { background-color: __highlight__; @@ -143,6 +169,9 @@ padding: 0; margin: 0; } +[dir=rtl] #mediamanager__page .filelist ul.tabs { + margin-right: 10px; +} #mediamanager__page .filelist .panelContent ul li:hover { background-color: __background_alt__; @@ -179,6 +208,10 @@ position: relative; line-height: 1.2; } +[dir=rtl] #mediamanager__page .filelist .thumbs li { + margin-right: 0; + margin-left: 6px; +} * html #mediamanager__page .filelist .thumbs li, *+html #mediamanager__page .filelist .thumbs li { display: inline; @@ -201,6 +234,7 @@ #mediamanager__page .filelist .thumbs li .date { display: block; overflow: hidden; + text-overflow: ellipsis; width: 90px; white-space: nowrap; } @@ -253,6 +287,7 @@ #mediamanager__page .filelist .rows li .filesize, #mediamanager__page .filelist .rows li .date { overflow: hidden; + text-overflow: ellipsis; float: left; margin-left: 1%; white-space: nowrap; @@ -325,6 +360,9 @@ #mediamanager__page form.meta label span { display: block; } +[dir=rtl] #mediamanager__page form.meta label span { + text-align: right; +} #mediamanager__page form.meta input { width: 50%; @@ -373,6 +411,10 @@ vertical-align: top; text-align: left; } +[dir=rtl] #mediamanager__diff td, +[dir=rtl] #mediamanager__diff th { + text-align: right; +} #mediamanager__diff th { font-weight: normal; @@ -405,10 +447,6 @@ #mediamanager__diff .imageDiff { position: relative; } -#mediamanager__diff .imageDiff .image1, -#mediamanager__diff .imageDiff .image2 { - width: 97%; -} #mediamanager__diff .imageDiff .image2 { position: absolute; top: 0; @@ -426,7 +464,12 @@ overflow: hidden; } +#mediamanager__diff .imageDiff.portions img { + float: left; +} + #mediamanager__diff .imageDiff img { width: 100%; + max-width: none; } diff --git a/lib/tpl/default/_tabs.css b/lib/tpl/default/_tabs.css index 8bfb676a0..a39b43441 100644 --- a/lib/tpl/default/_tabs.css +++ b/lib/tpl/default/_tabs.css @@ -10,6 +10,9 @@ margin: 0; list-style: none; } +[dir=rtl] .dokuwiki ul.tabs li { + float: right; +} .dokuwiki ul.tabs li strong, .dokuwiki ul.tabs li a { @@ -20,6 +23,16 @@ color: __text__; border-radius: .5em .5em 0 0; } +[dir=rtl] .dokuwiki ul.tabs li strong, +[dir=rtl] .dokuwiki ul.tabs li a { + float: right; + margin: 0 0 0 .3em; +} +*+html[dir=rtl] .dokuwiki ul.tabs li strong, +*+html[dir=rtl] .dokuwiki ul.tabs li a { + float: none; + display: inline-block; +} .dokuwiki ul.tabs li strong { font-weight: normal; } diff --git a/lib/tpl/default/media.css b/lib/tpl/default/media.css index 37369fe2f..640ad3162 100644 --- a/lib/tpl/default/media.css +++ b/lib/tpl/default/media.css @@ -42,18 +42,29 @@ float: left; padding: 0.5em 0.3em 0 0; } +[dir=rtl] #media__tree img { + float: right; + padding: 0.5em 0 0 0.3em; +} #media__tree ul { list-style-type: none; list-style-image: none; margin-left: 1.5em; } +[dir=rtl] #media__tree ul { + margin-left: 0; + margin-right: 1.5em; +} #media__tree li { clear: left; list-style-type: none; list-style-image: none; } +[dir=rtl] #media__tree li { + clear: right; +} *+html #media__tree li, * html #media__tree li { border: 1px solid __background__; diff --git a/lib/tpl/default/rtl.css b/lib/tpl/default/rtl.css index 8b2837874..f16ba101b 100644 --- a/lib/tpl/default/rtl.css +++ b/lib/tpl/default/rtl.css @@ -54,15 +54,17 @@ div.dokuwiki li ol { div.dokuwiki a.urlextern, div.dokuwiki a.interwiki, +div.dokuwiki a.mediafile, div.dokuwiki a.windows, div.dokuwiki a.mail { - /* should work but doesn't - so we just disable icons here*/ - /* background-position: right 1px; padding-right: 16px; - */ - background-image: none !important; - padding: 0px 0px 0px 0px; + padding-left: 0; + display: inline-block; /* needed for IE7 */ +} + +div.dokuwiki a.mediafile { + padding-right: 18px; } div.dokuwiki div.secedit input.button { diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini index 7d27381c9..0706303d0 100644 --- a/lib/tpl/default/style.ini +++ b/lib/tpl/default/style.ini @@ -1,6 +1,11 @@ ; Please see http://www.php.net/manual/en/function.parse-ini-file.php ; for limitations of the ini format used here +; To extend this file or make changes to it, it is recommended to create +; a style.local.ini file to prevent losing any changes after an upgrade. +; Please don't forget to copy the section your changes should be under +; (i.e. [stylesheets] or [replacements]) into that file as well. + ; Define the stylesheets your template uses here. The second value ; defines for which output media the style should be loaded. Currently ; print, screen and rtl are supported. rtl styles are loaded additionally diff --git a/lib/tpl/default/template.info.txt b/lib/tpl/default/template.info.txt new file mode 100644 index 000000000..a77289e58 --- /dev/null +++ b/lib/tpl/default/template.info.txt @@ -0,0 +1,7 @@ +base default +author Andreas Gohr +email andi@splitbrain.org +date 2012-09-08 +name DokuWiki Default Template +desc DokuWiki's default template until 2012 +url http://www.dokuwiki.org/template:default diff --git a/lib/tpl/dokuwiki/css/_edit.css b/lib/tpl/dokuwiki/css/_edit.css index 374ddeb96..0c66c75b7 100644 --- a/lib/tpl/dokuwiki/css/_edit.css +++ b/lib/tpl/dokuwiki/css/_edit.css @@ -26,6 +26,9 @@ #tool__bar { float: left; } +[dir=rtl] #tool__bar { + float: right; +} /* buttons inside of toolbar */ .dokuwiki div.toolbar button.toolbutton { @@ -132,13 +135,10 @@ div.picker button.toolbutton { font-size: 75%; } -/* generic style for section highlighting (including headings) */ -.dokuwiki .section_highlight { -} -/* style for section highlighting (only sections below headings) */ +/* style for section highlighting */ .dokuwiki div.section_highlight { - margin: -3em -1em -.01em -1em; /* negative side margin = side padding + side border */ - padding: 3em .5em .01em .5em; + margin: 0 -1em; /* negative side margin = side padding + side border */ + padding: 0 .5em; border: solid __background_alt__; border-width: 0 .5em; } diff --git a/lib/tpl/dokuwiki/css/_forms.css b/lib/tpl/dokuwiki/css/_forms.css index fb07e989a..3c7172226 100644 --- a/lib/tpl/dokuwiki/css/_forms.css +++ b/lib/tpl/dokuwiki/css/_forms.css @@ -36,6 +36,7 @@ text-align: right; } +.dokuwiki label.block select, .dokuwiki label.block input.edit { width: 50%; } diff --git a/lib/tpl/dokuwiki/css/_links.css b/lib/tpl/dokuwiki/css/_links.css index 22502f6a9..7e5fb02cd 100644 --- a/lib/tpl/dokuwiki/css/_links.css +++ b/lib/tpl/dokuwiki/css/_links.css @@ -6,13 +6,9 @@ /* existing wikipage */ .dokuwiki a.wikilink1 { - color: __existing__; - background-color: inherit; } /* not existing wikipage */ .dokuwiki a.wikilink2 { - color: __missing__; - background-color: inherit; text-decoration: none; } .dokuwiki a.wikilink2:link, @@ -43,15 +39,15 @@ } /* external link */ .dokuwiki a.urlextern { - background-image: url(images/external-link.png); + background-image: url(../../images/external-link.png); } /* windows share */ .dokuwiki a.windows { - background-image: url(images/unc.png); + background-image: url(../../images/unc.png); } /* email link */ .dokuwiki a.mail { - background-image: url(images/email.png); + background-image: url(../../images/email.png); } /* icons of the following are set by dokuwiki in lib/exe/css.php */ @@ -70,4 +66,5 @@ [dir=rtl] .dokuwiki a.mediafile { background-position: right center; padding: 0 18px 0 0; + display: inline-block; /* needed for IE7 */ } diff --git a/lib/tpl/dokuwiki/css/_media_fullscreen.css b/lib/tpl/dokuwiki/css/_media_fullscreen.css index 9054ab26f..8d5e1e8ca 100644 --- a/lib/tpl/dokuwiki/css/_media_fullscreen.css +++ b/lib/tpl/dokuwiki/css/_media_fullscreen.css @@ -53,6 +53,9 @@ margin: 0 10px 10px 0; position: relative; } +[dir=rtl] #mediamanager__page .panelContent { + text-align: right; +} #mediamanager__page .file .panelHeader, #mediamanager__page .file .panelContent { @@ -62,7 +65,7 @@ #mediamanager__page .ui-resizable-e { width: 6px; right: 2px; - background: transparent url(images/resizecol.png) center center no-repeat; + background: transparent url(../../images/resizecol.png) center center no-repeat; } #mediamanager__page .ui-resizable-e:hover { background-color: __background_alt__; @@ -84,22 +87,40 @@ /*____________ namespaces panel ____________*/ +[dir=rtl] #mediamanager__page .namespaces { + text-align: right; +} + +/* make it look like a tab (as in _tabs.css) */ #mediamanager__page .namespaces h2 { font-size: 1em; display: inline-block; - border-width: 0; padding: .3em .8em; - margin: 0 .3em 0 0; + margin: 0 0 0 .3em; border-radius: .5em .5em 0 0; font-weight: normal; background-color: __background_alt__; color: __text__; + border: 1px solid __border__; + border-bottom-color: __background_alt__; line-height: 1.4em; + position: relative; + bottom: -1px; + z-index: 2; } * html #mediamanager__page .namespaces h2, *+html #mediamanager__page .namespaces h2 { display: inline; } +[dir=rtl] #mediamanager__page .namespaces h2 { + margin: 0 .3em 0 0; + position: relative; + right: 10px; +} +#mediamanager__page .namespaces .panelHeader { + border-top: 1px solid __border__; + z-index: 1; +} #mediamanager__page .namespaces ul { margin-left: .2em; @@ -107,9 +128,17 @@ padding: 0; list-style: none; } +[dir=rtl] #mediamanager__page .namespaces ul { + margin-left: 0; + margin-right: .2em; +} #mediamanager__page .namespaces ul ul { margin-left: 1em; } +[dir=rtl] #mediamanager__page .namespaces ul ul { + margin-left: 0; + margin-right: 1em; +} #mediamanager__page .namespaces ul ul li { margin: 0; } @@ -140,13 +169,19 @@ line-height: 1; padding-left: 3px; } +[dir=rtl] #mediamanager__page .panelHeader ul li { + margin-right: 0; + margin-left: .5em; +} #mediamanager__page .panelHeader ul li.listType { padding-left: 30px; + margin: 0 0 0 5px; background: url('../../images/icon-list.png') 3px 1px no-repeat; } #mediamanager__page .panelHeader ul li.sortBy { padding-left: 30px; + margin: 0 0 0 5px; background: url('../../images/icon-sort.png') 3px 1px no-repeat; } @@ -163,7 +198,10 @@ #mediamanager__page .filelist ul { padding: 0; - margin: 0; + margin: 0 10px 0 0; +} +[dir=rtl] #mediamanager__page .filelist ul { + margin: 0 10px 0 0; } #mediamanager__page .filelist .panelContent ul li:hover { @@ -201,6 +239,10 @@ position: relative; line-height: 1.2; } +[dir=rtl] #mediamanager__page .filelist .thumbs li { + margin-right: 0; + margin-left: 6px; +} * html #mediamanager__page .filelist .thumbs li, *+html #mediamanager__page .filelist .thumbs li { display: inline; @@ -398,6 +440,10 @@ text-align: left; border-color: __background__; } +[dir=rtl] #mediamanager__diff td, +[dir=rtl] #mediamanager__diff th { + text-align: right; +} #mediamanager__diff th { font-weight: normal; @@ -432,10 +478,6 @@ #mediamanager__diff .imageDiff { position: relative; } -#mediamanager__diff .imageDiff .image1, -#mediamanager__diff .imageDiff .image2 { - width: 97%; -} #mediamanager__diff .imageDiff .image2 { position: absolute; top: 0; @@ -451,6 +493,10 @@ overflow: hidden; } +#mediamanager__diff .imageDiff.portions img { + float: left; +} + #mediamanager__diff .imageDiff img { width: 100%; max-width: none; diff --git a/lib/tpl/dokuwiki/css/_tabs.css b/lib/tpl/dokuwiki/css/_tabs.css index de544fd2b..845ec9a57 100644 --- a/lib/tpl/dokuwiki/css/_tabs.css +++ b/lib/tpl/dokuwiki/css/_tabs.css @@ -2,27 +2,56 @@ * This file provides the styles for general tabs. */ +.dokuwiki .tabs > ul, .dokuwiki ul.tabs { padding: 0; margin: 0; overflow: hidden; + position: relative; } +/* border underneath */ +.dokuwiki .tabs > ul:after, +.dokuwiki ul.tabs:after { + position: absolute; + content: ""; + width: 100%; + bottom: 0; + left: 0; + border-bottom: 1px solid __border__; + z-index: 1; +} + +.dokuwiki .tabs > ul li, .dokuwiki ul.tabs li { float: left; padding: 0; margin: 0; list-style: none; } +[dir=rtl] .dokuwiki .tabs > ul li, +[dir=rtl] .dokuwiki ul.tabs li { + float: right; +} +.dokuwiki .tabs > ul li a, .dokuwiki ul.tabs li strong, .dokuwiki ul.tabs li a { - float: left; + display: inline-block; padding: .3em .8em; - margin: 0 .3em 0 0; + margin: 0 0 0 .3em; background-color: __background_neu__; color: __text__; + border: 1px solid __border__; border-radius: .5em .5em 0 0; + position: relative; + z-index: 0; +} +[dir=rtl] .dokuwiki .tabs > ul li a, +[dir=rtl] .dokuwiki ul.tabs li strong, +[dir=rtl] .dokuwiki ul.tabs li a { + margin: 0 .3em 0 0; } + .dokuwiki ul.tabs li strong { font-weight: normal; } @@ -30,6 +59,11 @@ .dokuwiki ul.tabs li a:link, .dokuwiki ul.tabs li a:visited { } +.dokuwiki .tabs > ul li a:hover, +.dokuwiki .tabs > ul li a:active, +.dokuwiki .tabs > ul li a:focus, +.dokuwiki .tabs > ul li .curid a, +.dokuwiki .tabs > ul .active a, .dokuwiki ul.tabs li a:hover, .dokuwiki ul.tabs li a:active, .dokuwiki ul.tabs li a:focus, @@ -37,4 +71,12 @@ background-color: __background_alt__; color: __text__; text-decoration: none; + font-weight: normal; +} + +.dokuwiki .tabs > ul li .curid a, +.dokuwiki .tabs > ul li .active a, +.dokuwiki ul.tabs li strong { + z-index: 2; + border-bottom-color: __background_alt__; } diff --git a/lib/tpl/dokuwiki/css/_toc.css b/lib/tpl/dokuwiki/css/_toc.css index 0d1b976d1..1226b5b5b 100644 --- a/lib/tpl/dokuwiki/css/_toc.css +++ b/lib/tpl/dokuwiki/css/_toc.css @@ -80,14 +80,14 @@ padding-right: 0; } .dokuwiki ul.idx li { - list-style-image: url(images/bullet.png); + list-style-image: url(../../images/bullet.png); } .dokuwiki ul.idx li.open { - list-style-image: url(images/open.png); + list-style-image: url(../../images/open.png); } .dokuwiki ul.idx li.closed { - list-style-image: url(images/closed.png); + list-style-image: url(../../images/closed.png); } [dir=rtl] .dokuwiki ul.idx li.closed { - list-style-image: url(images/closed-rtl.png); + list-style-image: url(../../images/closed-rtl.png); } diff --git a/lib/tpl/dokuwiki/css/basic.css b/lib/tpl/dokuwiki/css/basic.css index d683603ae..8b7447239 100644 --- a/lib/tpl/dokuwiki/css/basic.css +++ b/lib/tpl/dokuwiki/css/basic.css @@ -38,11 +38,20 @@ caption, legend { font-family: Arial, sans-serif; font-weight: bold; - background-color: inherit; padding: 0; line-height: 1.2; clear: left; /* ideally 'both', but problems with toc */ } +[dir=rtl] h1, +[dir=rtl] h2, +[dir=rtl] h3, +[dir=rtl] h4, +[dir=rtl] h5, +[dir=rtl] h6, +[dir=rtl] caption, +[dir=rtl] legend { + clear: right; +} h1 { font-size: 2em; @@ -99,11 +108,20 @@ ul, ol { padding: 0 0 0 1.5em; } +[dir=rtl] ul, +[dir=rtl] ol { + padding: 0 1.5em 0 0; +} + li, dd { padding: 0; margin: 0 0 0 1.5em; } +[dir=rtl] li, +[dir=rtl] dd { + margin: 0 1.5em 0 0; +} dt { font-weight: bold; margin: 0; @@ -145,6 +163,9 @@ caption { text-align: left; margin: 0 0 .3em; } +[dir=rtl] caption { + text-align: right; +} th, td { @@ -158,6 +179,10 @@ th { font-weight: bold; background-color: __background_alt__; } +[dir=rtl] td, +[dir=rtl] th { + text-align: right; +} /*____________ links ____________*/ @@ -188,11 +213,15 @@ img { color: #666; background-color: transparent; font-style: italic; + height: auto; } img, object { max-width: 100%; - height: auto; +} +/* IE8 and below won't display the images otherwise */ +button img { + max-width: none; } hr { @@ -221,10 +250,18 @@ kbd { font-size: 1em; direction: ltr; text-align: left; + background-color: __background_site__; + color: __text__; + box-shadow: inset 0 0 .3em __border__; + border-radius: 2px; } pre { overflow: auto; word-wrap: normal; + border: 1px solid __border__; + border-radius: 2px; + box-shadow: inset 0 0 .5em __border__; + padding: .7em 1em; } blockquote { @@ -232,6 +269,9 @@ blockquote { border: solid __border__; border-width: 0 0 0 .25em; } +[dir=rtl] blockquote { + border-width: 0 .25em 0 0; +} q:before, q:after { content: ''; @@ -316,7 +356,7 @@ select:focus { input[type=radio], input[type=checkbox] { padding: 0; - border-width: 0; + border-style: none; box-shadow: none; } @@ -339,6 +379,10 @@ button, padding: .1em .5em; cursor: pointer; } +#IE7 input.button, +#IE7 button { + line-height: 1.4; +} input[type=submit]:hover, input[type=submit]:active, @@ -375,39 +419,3 @@ input[readonly], button[readonly] { cursor: auto; } - -/*____________ rtl corrections ____________*/ - -[dir=rtl] caption, -[dir=rtl] td, -[dir=rtl] th { - text-align: right; -} - -[dir=rtl] ul, -[dir=rtl] ol { - padding: 0 1.5em 0 0; -} -[dir=rtl] li, -[dir=rtl] dd { - margin: 0 1.5em 0 0; -} -[dir=rtl] blockquote { - border-width: 0 .25em 0 0; -} - -[dir=rtl] h1, -[dir=rtl] h2, -[dir=rtl] h3, -[dir=rtl] h4, -[dir=rtl] h5, -[dir=rtl] h6, -[dir=rtl] caption, -[dir=rtl] legend { - clear: right; -} - -[dir=rtl] .a11y { - left: auto; - right: -9000px; -} diff --git a/lib/tpl/dokuwiki/css/content.css b/lib/tpl/dokuwiki/css/content.css index ebeb4e17e..c23612643 100644 --- a/lib/tpl/dokuwiki/css/content.css +++ b/lib/tpl/dokuwiki/css/content.css @@ -6,7 +6,6 @@ * @author Clarence Lee <clarencedglee@gmail.com> */ - /*____________ section indenting ____________ .dokuwiki.page h1 {margin-left: 0;} @@ -34,6 +33,20 @@ /* hx margin-left = (1 / font-size) * .levelx-margin */ +/*____________ links to wiki pages (addition to _links) ____________*/ + +/* existing wikipage */ +.dokuwiki a.wikilink1 { + color: __existing__; + background-color: inherit; +} +/* not existing wikipage */ +.dokuwiki a.wikilink2 { + color: __missing__; + background-color: inherit; +} + + /*____________ images ____________*/ /* embedded images (styles are already partly set in lib/styles/all.css) */ @@ -69,8 +82,8 @@ /*____________ tables ____________*/ +/* div around each table */ .dokuwiki div.table { - width: 100%; overflow-x: auto; margin-bottom: 1.4em; } @@ -80,17 +93,6 @@ .dokuwiki table.inline { min-width: 50%; - border-width: 0; -} -.dokuwiki table.inline th, -.dokuwiki table.inline td { - border: 1px solid __border__; -} -.dokuwiki table.inline th { - color: inherit; - background-color: __background_alt__; -} -.dokuwiki table.inline td { } .dokuwiki table.inline tr:hover td { background-color: __background_alt__; @@ -102,22 +104,11 @@ /*____________ code ____________*/ -.dokuwiki pre, -.dokuwiki tt, -.dokuwiki code, -.dokuwiki samp, -.dokuwiki kbd { - background-color: __background_alt__; - color: __text__; -} /* fix if background-color hides underlining */ .dokuwiki em.u code { text-decoration: underline; } -.dokuwiki pre { - border: 1px solid __border__; - padding: .75em 1em; -} + /* for code in <file> */ .dokuwiki pre.file { } @@ -129,15 +120,15 @@ .dokuwiki dl.code dt, .dokuwiki dl.file dt { - background-color: __background_alt__; - /*background: -moz-linear-gradient( top, __background__ 0%, __background_alt__ 100%); see FS#2447 */ - background: -webkit-linear-gradient(top, __background__ 0%, __background_alt__ 100%); - background: -o-linear-gradient( top, __background__ 0%, __background_alt__ 100%); - background: -ms-linear-gradient( top, __background__ 0%, __background_alt__ 100%); - background: linear-gradient( top, __background__ 0%, __background_alt__ 100%); + background-color: __background_site__; + /* background: -moz-linear-gradient( top, __background_alt__ 0%, __background_site__ 100%); see FS#2447 */ + background: -webkit-linear-gradient(top, __background_alt__ 0%, __background_site__ 100%); + background: -o-linear-gradient( top, __background_alt__ 0%, __background_site__ 100%); + background: -ms-linear-gradient( top, __background_alt__ 0%, __background_site__ 100%); + background: linear-gradient( top, __background_alt__ 0%, __background_site__ 100%); color: inherit; border: 1px solid __border__; - border-bottom-color: __background_alt__; + border-bottom-color: __background_site__; border-top-left-radius: .3em; border-top-right-radius: .3em; padding: .3em .6em .1em; @@ -146,8 +137,7 @@ } [dir=rtl] .dokuwiki dl.code dt, [dir=rtl] .dokuwiki dl.file dt { - margin-left: 0; - margin-right: 1em; + float: right; } .dokuwiki dl.code dt a, .dokuwiki dl.file dt a { @@ -157,9 +147,216 @@ display: block; min-height: 16px; } + .dokuwiki dl.code dd, .dokuwiki dl.file dd { margin: 0; clear: left; + min-height: 1px; /* for IE7 */ +} +[dir=rtl] .dokuwiki dl.code dd, +[dir=rtl] .dokuwiki dl.file dd { + clear: right; +} + +.dokuwiki dl.code pre, +.dokuwiki dl.file pre { + box-shadow: inset -4px -4px .5em -.3em __border__; +} + + +/*____________ JS popup ____________*/ + +.JSpopup { + background-color: __background__; + color: __text__; + border: 1px solid __border__; + box-shadow: .1em .1em .1em __border__; + border-radius: 2px; + padding: .3em .5em; + font-size: .9em; +} +.dokuwiki form.search div.ajax_qsearch { + top: -.35em; + font-size: 1em; + text-overflow: ellipsis; } +.JSpopup ul, +.JSpopup ol { + padding-left: 0; +} +[dir=rtl] .JSpopup ul, +[dir=rtl] .JSpopup ol { + padding-right: 0; +} + + +/* changes to underscored CSS files +********************************************************************/ + +#acl__tree li { + margin: 0; +} + +#dokuwiki__content span.curid a { + font-weight: normal; +} +#dokuwiki__content strong span.curid a { + font-weight: bold; +} + + +/*____________ changes to _edit ____________*/ + +.dokuwiki div.toolbar button.toolbutton { + border-radius: 0; + border-left-width: 0; + padding: .1em .35em; +} +.dokuwiki div.toolbar button.toolbutton:first-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + border-left-width: 1px; +} +[dir=rtl] .dokuwiki div.toolbar button.toolbutton:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-left-width: 0; + border-right-width: 1px; +} +.dokuwiki div.toolbar button.toolbutton:last-child { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +[dir=rtl] .dokuwiki div.toolbar button.toolbutton:last-child { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-left-width: 1px; +} + +.dokuwiki div.section_highlight { + margin: 0 -2em; + padding: 0 1em; + border-width: 0 1em; +} + +.dokuwiki textarea.edit { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; +} + +.dokuwiki div.preview { + margin: 0 -2em; + padding: 0 2em; +} +.dokuwiki.hasSidebar div.preview { + border-right: __sidebar_width__ solid __background_alt__; +} +[dir=rtl] .dokuwiki.hasSidebar div.preview { + border-right-width: 0; + border-left: __sidebar_width__ solid __background_alt__; +} +.dokuwiki div.preview div.pad { + padding: 1.556em 0 2em; +} + + +/*____________ changes to _toc ____________*/ + +#dw__toc { + margin: -1.556em -2em .5em 1.4em; + width: __sidebar_width__; + border-left: 1px solid __border__; + background: __background__; + color: inherit; +} +[dir=rtl] #dw__toc { + margin: -1.556em 1.4em .5em -2em; + border-left-width: 0; + border-right: 1px solid __border__; +} + +.dokuwiki h3.toggle { + padding: .5em 1em; + margin-bottom: 0; + font-size: .875em; + letter-spacing: .1em; +} +#dokuwiki__aside h3.toggle { + display: none; +} + +.dokuwiki .toggle strong { + background: transparent url(images/toc-arrows.png) 0 0; + width: 8px; + height: 5px; + margin: .4em 0 0; +} +.dokuwiki .toggle.closed strong { + background-position: 0 -5px; +} + +.dokuwiki .toggle strong span { + display: none; +} + + +#dw__toc > div { + font-size: 0.875em; + padding: .5em 1em 1em; +} +#dw__toc ul { + padding: 0 0 0 1.2em; +} +[dir=rtl] #dw__toc ul { + padding: 0 1.5em 0 0; +} +#dw__toc ul li { + list-style-image: url(images/toc-bullet.png); +} +#dw__toc ul li.clear { + list-style: none; +} +#dw__toc ul li div.li { + padding: .2em 0; +} + + +/*____________ changes to _imgdetail ____________*/ + +#dokuwiki__detail { + padding: 0; +} +#dokuwiki__detail img { + float: none; + margin-bottom: 1.4em; +} +#dokuwiki__detail div.img_detail { + float: none; +} + +#dokuwiki__detail div.img_detail dl { + overflow: hidden; +} +#dokuwiki__detail div.img_detail dl dt { + float: left; + width: 9em; + text-align: right; + clear: left; +} +[dir=rtl] #dokuwiki__detail div.img_detail dl dt { + float: right; + text-align: left; + clear: right; +} +#dokuwiki__detail div.img_detail dl dd { + margin-left: 9.5em; +} +[dir=rtl] #dokuwiki__detail div.img_detail dl dd { + margin-left: 0; + margin-right: 9.5em; +} diff --git a/lib/tpl/dokuwiki/css/design.css b/lib/tpl/dokuwiki/css/design.css index d1a00ce0a..2c2109228 100644 --- a/lib/tpl/dokuwiki/css/design.css +++ b/lib/tpl/dokuwiki/css/design.css @@ -103,6 +103,10 @@ padding-left: 0; padding-right: 20px; } +[dir=rtl] #IE7 #dokuwiki__usertools a.action { + display: inline-block; +} + #dokuwiki__header .mobileTools { display: none; /* hide mobile tools dropdown to only show in mobile view */ @@ -176,6 +180,10 @@ font-size: 0.875em; position: relative; } +#IE7 #dokuwiki__sitetools form.search { + min-height: 1px; + z-index: 21; +} #dokuwiki__sitetools form.search input.edit { width: 18em; padding: .35em 22px .35em .1em; @@ -256,7 +264,8 @@ /* make sidebar more condensed */ #dokuwiki__aside h1 { - margin-bottom: .222em; + font-size: 1.714em; + margin-bottom: .292em; } #dokuwiki__aside h2 { margin-bottom: .333em; @@ -286,15 +295,16 @@ #dokuwiki__aside ul, #dokuwiki__aside ol { - padding-left: 0; + padding-left: .5em; } [dir=rtl] #dokuwiki__aside ul, [dir=rtl] #dokuwiki__aside ol { - padding-right: 0; + padding-right: .5em; } #dokuwiki__aside li ul, #dokuwiki__aside li ol { margin-bottom: 0; + padding: 0; } #dokuwiki__aside a:link, @@ -354,215 +364,11 @@ text-align: left; } -/*____________ misc ____________*/ - /* license note under edit window */ .dokuwiki div.license { font-size: 93.75%; } -#IE7 .dokuwiki input.button, -#IE7 .dokuwiki button { - line-height: 1.4; -} - -#acl__tree li { - margin: 0; -} - -#dokuwiki__content span.curid a { - font-weight: normal; -} -#dokuwiki__content strong span.curid a { - font-weight: bold; -} - - -/*____________ changes to _edit ____________*/ - -.dokuwiki div.toolbar button.toolbutton { - border-radius: 0; - border-left-width: 0; - padding: .1em .35em; -} -.dokuwiki div.toolbar button.toolbutton:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - border-left-width: 1px; -} -[dir=rtl] .dokuwiki div.toolbar button.toolbutton:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-left-width: 0; - border-right-width: 1px; -} -.dokuwiki div.toolbar button.toolbutton:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -[dir=rtl] .dokuwiki div.toolbar button.toolbutton:last-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-left-width: 1px; -} - -.dokuwiki div.section_highlight { - margin: -3em -2em -.01em -2em; - padding: 3em 1em .01em 1em; - border-width: 0 1em; -} -[dir=rtl] .dokuwiki div.section_highlight { - margin-right: -2em; - border-right-width: 1em; -} - -.dokuwiki textarea.edit { - font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Liberation Mono", Monaco, "Courier New", monospace; -} - -.dokuwiki div.preview { - margin: 0 -2em; - padding: 0 2em; -} -.dokuwiki.hasSidebar div.preview { - border-right: __sidebar_width__ solid __background_alt__; -} -[dir=rtl] .dokuwiki.hasSidebar div.preview { - border-right-width: 0; - border-left: __sidebar_width__ solid __background_alt__; -} -.dokuwiki div.preview div.pad { - padding: 1.556em 0 2em; -} - - -/*____________ changes to _toc ____________*/ - -#dw__toc { - margin: -1.556em -2em .5em 1.4em; - width: __sidebar_width__; - border-left: 1px solid __border__; - background: __background__; - color: inherit; -} -[dir=rtl] #dw__toc { - margin: -1.556em 1.4em .5em -2em; - border-left-width: 0; - border-right: 1px solid __border__; -} - -.dokuwiki h3.toggle { - padding: .5em 1em; - margin-bottom: 0; - font-size: .875em; - letter-spacing: .1em; -} -#dokuwiki__aside h3.toggle { - display: none; -} - -.dokuwiki .toggle strong { - background: transparent url(images/toc-arrows.png) 0 0; - width: 8px; - height: 5px; - margin: .4em 0 0; -} -.dokuwiki .toggle.closed strong { - background-position: 0 -5px; -} - -.dokuwiki .toggle strong span { - display: none; -} - - -#dw__toc > div { - font-size: 0.875em; - padding: .5em 1em 1em; -} -#dw__toc ul { - padding: 0 0 0 1.2em; -} -[dir=rtl] #dw__toc ul { - padding: 0 1.5em 0 0; -} -#dw__toc ul li { - list-style-image: url(images/toc-bullet.png); -} -#dw__toc ul li.clear { - list-style: none; -} -#dw__toc ul li div.li { - padding: .2em 0; -} - - -/*____________ changes to _imgdetail ____________*/ - -#dokuwiki__detail { - padding: 0; -} -#dokuwiki__detail img { - float: none; - margin-bottom: 1.4em; -} -#dokuwiki__detail div.img_detail { - float: none; -} - -#dokuwiki__detail div.img_detail dl { - overflow: hidden; -} -#dokuwiki__detail div.img_detail dl dt { - float: left; - width: 9em; - text-align: right; - clear: left; -} -[dir=rtl] #dokuwiki__detail div.img_detail dl dt { - float: right; - text-align: left; - clear: right; -} -#dokuwiki__detail div.img_detail dl dd { - margin-left: 9.5em; -} -[dir=rtl] #dokuwiki__detail div.img_detail dl dd { - margin-left: 0; - margin-right: 9.5em; -} - - -/*____________ JS popup ____________*/ - -.JSpopup { - background-color: __background__; - color: __text__; - border: 1px solid __border__; - box-shadow: .1em .1em .1em __border__; - border-radius: 2px; - padding: .3em .5em; - font-size: .9em; -} -.dokuwiki form.search div.ajax_qsearch { - top: -.35em; - font-size: 1em; - text-overflow: ellipsis; -} - -.JSpopup ul, -.JSpopup ol { - padding-left: 0; -} -[dir=rtl] .JSpopup ul, -[dir=rtl] .JSpopup ol { - padding-right: 0; -} - /* footer ********************************************************************/ diff --git a/lib/tpl/dokuwiki/css/mobile.css b/lib/tpl/dokuwiki/css/mobile.css index 6e07f23ec..88333c012 100644 --- a/lib/tpl/dokuwiki/css/mobile.css +++ b/lib/tpl/dokuwiki/css/mobile.css @@ -5,9 +5,19 @@ * @author Anika Henke <anika@selfthinker.org> */ -/* up to 979px screen widths +/* for detecting media queries in JavaScript (see script.js): */ +#screen__mode { + position: relative; + z-index: 0; +} + +/* for screen widths in the tablet range ********************************************************************/ -@media only screen and (max-width: 979px) { +@media only screen and (max-width: __tablet_width__) { + +#screen__mode { + z-index: 1; /* for detecting media queries in JavaScript (see script.js) */ +} /* structure */ #dokuwiki__aside { @@ -82,8 +92,8 @@ /* _edit */ .dokuwiki div.section_highlight { - margin: -3em -1em -.01em -1em; - padding: 3em .5em .01em .5em; + margin: 0 -1em; + padding: 0 .5em; border-width: 0 .5em; } .dokuwiki div.preview { @@ -103,9 +113,13 @@ } /* /@media */ -/* up to 480px screen widths +/* for screen widths in the smartphone range ********************************************************************/ -@media only screen and (max-width: 480px) { +@media only screen and (max-width: __phone_width__) { + +#screen__mode { + z-index: 2; /* for detecting media queries in JavaScript (see script.js) */ +} body { font-size: 100%; diff --git a/lib/tpl/dokuwiki/css/print.css b/lib/tpl/dokuwiki/css/print.css index 191d50c28..d30bc6c91 100644 --- a/lib/tpl/dokuwiki/css/print.css +++ b/lib/tpl/dokuwiki/css/print.css @@ -14,16 +14,11 @@ body { /* hide certain sections */ .a11y, -div.notify, -div.info, -div.success, -div.error, #dokuwiki__header .tools, #dokuwiki__aside, .dokuwiki .breadcrumbs, #dw__toc, h3.toggle, -.dokuwiki .secedit, #dokuwiki__pagetools, #dokuwiki__footer { display: none; @@ -57,14 +52,11 @@ h3.toggle, list-style-type: lower-roman; } -/* undo icons */ .dokuwiki a:link, .dokuwiki a:visited { text-decoration: underline; color: #333; background-color: inherit; - background-image: none; - padding: 0; } /* display href after link */ @@ -94,42 +86,12 @@ a.mail:after { } .dokuwiki img.medialeft { margin: .2em 1em .2em 0; - float: left; } .dokuwiki img.mediaright { margin: .2em 0 .2em 1em; - float: right; } .dokuwiki img.mediacenter { margin: .2em auto; - display: block; -} - -/* align table cells */ -.dokuwiki .leftalign { - text-align: left; -} -.dokuwiki .centeralign { - text-align: center; -} -.dokuwiki .rightalign { - text-align: right; -} - -/* underline */ -.dokuwiki em.u { - font-style: normal; - text-decoration: underline; -} -.dokuwiki em em.u { - font-style: italic; -} - -div.clearer { - clear: both; - line-height: 0; - height: 0; - overflow: hidden; } .dokuwiki blockquote { diff --git a/lib/tpl/dokuwiki/images/button-html5.png b/lib/tpl/dokuwiki/images/button-html5.png Binary files differnew file mode 100644 index 000000000..5885a331b --- /dev/null +++ b/lib/tpl/dokuwiki/images/button-html5.png diff --git a/lib/tpl/dokuwiki/images/button-xhtml.png b/lib/tpl/dokuwiki/images/button-xhtml.png Binary files differdeleted file mode 100644 index ec686442c..000000000 --- a/lib/tpl/dokuwiki/images/button-xhtml.png +++ /dev/null diff --git a/lib/tpl/dokuwiki/images/license.txt b/lib/tpl/dokuwiki/images/license.txt new file mode 100644 index 000000000..7d12604b6 --- /dev/null +++ b/lib/tpl/dokuwiki/images/license.txt @@ -0,0 +1,5 @@ +Icons for: sitetools.png +Icon set: Dusseldorf +Designer: pc.de +License: Creative Commons Attribution License [http://creativecommons.org/licenses/by/3.0/] +URL: http://pc.de/icons/#Dusseldorf diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php index 2406a206b..963750a1c 100644 --- a/lib/tpl/dokuwiki/main.php +++ b/lib/tpl/dokuwiki/main.php @@ -42,7 +42,7 @@ $showSidebar = $hasSidebar && ($ACT=='show'); <div class="content"> <?php tpl_flush() ?> <?php tpl_includeFile('sidebarheader.html') ?> - <?php tpl_sidebar() ?> + <?php tpl_include_page($conf['sidebar'], 1, 1) ?> <?php tpl_includeFile('sidebarfooter.html') ?> </div> </div></div><!-- /aside --> @@ -91,6 +91,7 @@ $showSidebar = $hasSidebar && ($ACT=='show'); </div></div><!-- /site --> <div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div> + <div id="screen__mode" class="no"></div><?php /* helper to detect CSS media query in script.js */ ?> <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]--> </body> </html> diff --git a/lib/tpl/dokuwiki/script.js b/lib/tpl/dokuwiki/script.js index d858bda89..3ed8dbabe 100644 --- a/lib/tpl/dokuwiki/script.js +++ b/lib/tpl/dokuwiki/script.js @@ -12,18 +12,23 @@ var device_classes = 'desktop mobile tablet phone'; function tpl_dokuwiki_mobile(){ + // the z-index in mobile.css is (mis-)used purely for detecting the screen mode here + var screen_mode = jQuery('#screen__mode').css('z-index'); + // determine our device pattern // TODO: consider moving into dokuwiki core - var w = document.body.clientWidth; - if (w > 979) { - if (device_class == 'desktop') return; - device_class = 'desktop'; - } else if (w > 480) { - if (device_class.match(/tablet/)) return; - device_class = 'mobile tablet'; - } else { - if (device_class.match(/phone/)) return; - device_class = 'mobile phone'; + switch (screen_mode) { + case '1': + if (device_class.match(/tablet/)) return; + device_class = 'mobile tablet'; + break; + case '2': + if (device_class.match(/phone/)) return; + device_class = 'mobile phone'; + break; + default: + if (device_class == 'desktop') return; + device_class = 'desktop'; } jQuery('html').removeClass(device_classes).addClass(device_class); diff --git a/lib/tpl/dokuwiki/style.ini b/lib/tpl/dokuwiki/style.ini index 45e68e3ed..67fbb3065 100644 --- a/lib/tpl/dokuwiki/style.ini +++ b/lib/tpl/dokuwiki/style.ini @@ -1,10 +1,14 @@ ; Please see http://www.php.net/manual/en/function.parse-ini-file.php ; for limitations of the ini format used here +; To extend this file or make changes to it, it is recommended to create +; a style.local.ini file to prevent losing any changes after an upgrade. +; Please don't forget to copy the section your changes should be under +; (i.e. [stylesheets] or [replacements]) into that file as well. + ; Define the stylesheets your template uses here. The second value ; defines for which output media the style should be loaded. Currently -; print, screen and rtl are supported. rtl styles are loaded additionally -; to screen styles if a right-to-left language is selected (eg. Hebrew). +; print, screen and all are supported. [stylesheets] @@ -55,6 +59,9 @@ __background_neu__ = "#ddd" ; border color __border__ = "#ccc" +; highlighted text (e.g. search snippets) +__highlight__ = "#ff9" + ;-------------------------------------------------------------------------- __background_site__ = "#fbfaf9" @@ -64,9 +71,9 @@ __link__ = "#2b73b7" __existing__ = "#080" __missing__ = "#d30" -; highlighting search snippets -__highlight__ = "#ff9" - ; site and sidebar widths __site_width__ = "75em" __sidebar_width__ = "16em" +; cut off points for mobile devices +__tablet_width__ = "979px" +__phone_width__ = "480px" diff --git a/lib/tpl/dokuwiki/template.info.txt b/lib/tpl/dokuwiki/template.info.txt index 3f904c6c8..d32e94d39 100644 --- a/lib/tpl/dokuwiki/template.info.txt +++ b/lib/tpl/dokuwiki/template.info.txt @@ -1,7 +1,7 @@ -base dokuwiki -author Anika Henke, Andreas Gohr, Clarence Lee -email andi@splitbrain.org -date 2012-03-24 +base dokuwiki +author Anika Henke +email anika@selfthinker.org +date 2012-10-26 name DokuWiki Template desc DokuWiki's default template since 2012 url http://www.dokuwiki.org/template:dokuwiki diff --git a/lib/tpl/dokuwiki/tpl_footer.php b/lib/tpl/dokuwiki/tpl_footer.php index 3a2e3d121..b7dc9c631 100644 --- a/lib/tpl/dokuwiki/tpl_footer.php +++ b/lib/tpl/dokuwiki/tpl_footer.php @@ -20,8 +20,8 @@ if (!defined('DOKU_INC')) die(); src="<?php echo tpl_basedir(); ?>images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="http://www.php.net" title="Powered by PHP" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> - <a href="http://validator.w3.org/check/referer" title="Valid XHTML 1.0" <?php echo $target?>><img - src="<?php echo tpl_basedir(); ?>images/button-xhtml.png" width="80" height="15" alt="Valid XHTML 1.0" /></a> + <a href="http://validator.w3.org/check/referer" title="Valid HTML5" <?php echo $target?>><img + src="<?php echo tpl_basedir(); ?>images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" <?php echo $target?>><img src="<?php echo tpl_basedir(); ?>images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="http://dokuwiki.org/" title="Driven by DokuWiki" <?php echo $target?>><img diff --git a/lib/tpl/index.php b/lib/tpl/index.php index 357cc1f0d..3c00ab8e8 100644 --- a/lib/tpl/index.php +++ b/lib/tpl/index.php @@ -43,7 +43,11 @@ require_once(DOKU_INC.'inc/init.php'); </head> <body> <?php -$ini = @parse_ini_file($conf['template'].'/style.ini',true); +// get merged style.ini +define('SIMPLE_TEST', true); // hack to prevent css output and headers +require_once(DOKU_INC.'lib/exe/css.php'); +$ini = css_styleini(tpl_incdir()); + if ($ini) { echo '<table>'; echo "<caption>".htmlspecialchars($conf['template'])."'s style.ini</caption>"; @@ -60,7 +64,7 @@ if ($ini) { } echo '</table>'; } else { - echo "<p>Non-existent template: <strong>".htmlspecialchars($conf['template'])."</strong></p>"; + echo "<p>Non-existent or invalid template or style.ini: <strong>".htmlspecialchars($conf['template'])."</strong></p>"; } ?> </body> |