diff --git a/bibtexbrowser-test.php b/bibtexbrowser-test.php
index 2a12e6c..552d46a 100755
--- a/bibtexbrowser-test.php
+++ b/bibtexbrowser-test.php
@@ -2,10 +2,10 @@
/** PhPUnit tests for bibtexbrowser
To run them:
-$ phpunit bibtexbrowser-test.php
+$ phpunit bibtexbrowser-test.php
With coverage:
-$ phpunit --coverage-html ./coverage btb-test.php
+$ phpunit --coverage-html ./coverage btb-test.php
(be sure that xdebug is enabled: /etc/php5/cli/conf.d# ln -s ../../mods-available/xdebug.ini)
*/
@@ -22,7 +22,7 @@ error_reporting(E_ALL);
@copy('bibtexbrowser.local.php','bibtexbrowser.local.php.bak');
@unlink('bibtexbrowser.local.php');
-if(is_file('reflectivedoc.php')) {
+if(is_file('reflectivedoc.php')) {
set_error_handler("exception_error_handler");
require('reflectivedoc.php');
$_GET['library'] = 1;
@@ -47,13 +47,13 @@ class BTBTest extends PHPUnit_Framework_TestCase {
if (!function_exists('gk_wiki2html')) { include('gakowiki-syntax.php'); }
create_wiki_parser()->parse(file_get_contents('bibtexbrowser-documentation.wiki'));
}
-
+
function createDB() {
return $this->_createDB("@book{aKey,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009}\n"
."@book{aKey/withSlash,title={Slash Dangerous for web servers},author={Ap Ache},publisher={Springer},year=2009}\n"
."@article{aKeyA,title={An Article},author={Foo Bar and Jane Doe},volume=5,journal=\"New Results\",year=2009,pages={1-2}}\n");
}
-
+
function _createDB($content, $fakefilename="inline") {
$test_data = fopen('php://memory','x+');
fwrite($test_data, $content);
@@ -67,15 +67,15 @@ class BTBTest extends PHPUnit_Framework_TestCase {
function test_bibentry_to_html_book() {
$btb = $this->createDB();
$first_entry=$btb->getEntryByKey('aKey');
-
+
// default style
$this->assertEquals("A Book (Martin Monperrus), Springer, 2009. [bibtex]",strip_tags($first_entry->toHTML()));
- $this->assertEquals('A Book (Martin Monperrus ), Springer , 2009 . ',$first_entry->toHTML());
+ $this->assertEquals('A Book (Martin Monperrus ), Springer , 2009 . ',$first_entry->toHTML());
// IEEE style
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','JanosBibliographyStyle');
$this->assertEquals("Martin Monperrus, \"A Book\", Springer, 2009.\n [bibtex]",strip_tags($first_entry->toHTML()));
-
+
// Vancouver style
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','VancouverBibliographyStyle');
$this->assertEquals("Martin Monperrus. A Book. Springer; 2009.\n [bibtex]",strip_tags($first_entry->toHTML()));
@@ -91,24 +91,24 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals("1-2",$first_entry->getField("pages"));
$this->assertEquals("1",$first_entry->getPages()[0]);
$this->assertEquals("2",$first_entry->getPages()[1]);
-
+
// default style
$this->assertEquals("An Article (Foo Bar and Jane Doe), In New Results, volume 5, 2009. [bibtex]",strip_tags($first_entry->toHTML()));
- $this->assertEquals('An Article (Foo Bar and Jane Doe ), In New Results , volume 5, 2009 . ',$first_entry->toHTML());
+ $this->assertEquals('An Article (Foo Bar and Jane Doe ), In New Results , volume 5, 2009 . ',$first_entry->toHTML());
// IEEE style
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','JanosBibliographyStyle');
$this->assertEquals("Foo Bar and Jane Doe, \"An Article\", In New Results, vol. 5, pp. 1-2, 2009.\n [bibtex]",strip_tags($first_entry->toHTML()));
-
+
// Vancouver style
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','VancouverBibliographyStyle');
$this->assertEquals("Foo Bar and Jane Doe. An Article. New Results. 2009;5:1-2.\n [bibtex]",strip_tags($first_entry->toHTML()));
-
+
// changing the target
bibtexbrowser_configure('BIBLIOGRAPHYSTYLE','DefaultBibliographyStyle');
bibtexbrowser_configure('BIBTEXBROWSER_LINKS_TARGET','_top');
- $this->assertEquals('An Article (Foo Bar and Jane Doe ), In New Results , volume 5, 2009 . ',$first_entry->toHTML());
-
+ $this->assertEquals('An Article (Foo Bar and Jane Doe ), In New Results , volume 5, 2009 . ',$first_entry->toHTML());
+
}
function testMultiSearch() {
@@ -119,7 +119,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertTrue(count($results) == 1);
$this->assertTrue($entry->getTitle() == 'A Book');
}
-
+
function testMultiSearch2() {
$btb = $this->createDB();
$q=array(Q_AUTHOR=>'monperrus|ducasse');
@@ -131,31 +131,31 @@ class BTBTest extends PHPUnit_Framework_TestCase {
function test_config_value() {
// default value
- $this->assertFalse(config_value('BIBTEXBROWSER_NO_DEFAULT'));
-
+ $this->assertFalse(config_value('BIBTEXBROWSER_NO_DEFAULT'));
+
// setting to true
bibtexbrowser_configure('BIBTEXBROWSER_NO_DEFAULT', true);
- $this->assertTrue(config_value('BIBTEXBROWSER_NO_DEFAULT'));
+ $this->assertTrue(config_value('BIBTEXBROWSER_NO_DEFAULT'));
ob_start();
default_message();
$this->assertEquals('', ob_get_clean());
// setting to false
bibtexbrowser_configure('BIBTEXBROWSER_NO_DEFAULT', false);
- $this->assertFalse(config_value('BIBTEXBROWSER_NO_DEFAULT'));
+ $this->assertFalse(config_value('BIBTEXBROWSER_NO_DEFAULT'));
ob_start();
default_message();
$this->assertContains('Congratulations', ob_get_clean());
}
-
+
function testInternationalization() {
$btb = $this->createDB();
global $BIBTEXBROWSER_LANG;
$BIBTEXBROWSER_LANG=array();
$BIBTEXBROWSER_LANG['Refereed Conference Papers']="foo";
$this->assertEquals("foo",__("Refereed Conference Papers"));
-
+
$BIBTEXBROWSER_LANG['Books']="Livres";
$d = new AcademicDisplay();
$d->setDB($btb);
@@ -165,7 +165,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertContains('Livres', $data);
}
-
+
function testNoSlashInKey() {
$btb = $this->createDB();
$q=array(Q_SEARCH=>'Slash');
@@ -179,7 +179,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$entry2 = $results[0];
$this->assertSame($entry2,$entry);
}
-
+
function test_string_should_be_deleted_after_update() {
$test_data = fopen('php://memory','x+');
fwrite($test_data, "@book{aKey,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009}\n".
@@ -190,7 +190,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$btb->update_internal("inline", $test_data);
// print_r($btb->stringdb);
$this->assertEquals(1,count($btb->stringdb));
-
+
// replacing the existing one
$test_data = fopen('php://memory','x+');
fwrite($test_data, "@book{aKey2,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009}\n".
@@ -201,17 +201,17 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$btb->update_internal("inline2", $test_data);
// print_r($btb->stringdb);
$this->assertEquals(1,count($btb->stringdb));
- $this->assertEquals("2009",$btb->stringdb['x']->value);//
+ $this->assertEquals("2009",$btb->stringdb['x']->value);//
// now adding another one and removing the string
$test_data2 = fopen('php://memory','x+');
fwrite($test_data2, "@book{aKey,title={A Book},author={Martin Monperrus},publisher={Springer},year=2009}\n".
"@String{y=2010}\n"
);
- fseek($test_data2,0);
+ fseek($test_data2,0);
$btb->update_internal("inline2", $test_data2);
- $this->assertEquals(1,count($btb->stringdb));//
- $this->assertEquals("2010",$btb->stringdb['y']->value);//
+ $this->assertEquals(1,count($btb->stringdb));//
+ $this->assertEquals("2010",$btb->stringdb['y']->value);//
}
@@ -232,9 +232,9 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals("42",$metadata['citation_firstpage']);
$this->assertEquals("4242",$metadata['citation_lastpage']);
$this->assertEquals("1",$metadata['citation_issue']);
-
+
}
-
+
function test_metadata_opengraph() {
$test_data = fopen('php://memory','x+');
fwrite($test_data, "@article{aKey,title={A Book},author={Martin Monperrus},url={http://foo.com/},publisher={Springer},year=2009,pages={42--4242},number=1}\n".
@@ -245,15 +245,15 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$db->update_internal("inline", $test_data);
$dis = new BibEntryDisplay($db->getEntryByKey('aKey'));
$metadata = $dis->metadata_dict();
-
+
//print_r($metadata);
$this->assertEquals("A Book",$metadata['og:title']);
$this->assertEquals("article",$metadata['og:type']);
$this->assertTrue(1 == preg_match("/http:.*author=Martin\+Monperrus/",$metadata['og:author']));
- $this->assertEquals("2009",$metadata['og:published_time']);
+ $this->assertEquals("2009",$metadata['og:published_time']);
}
-
+
function test_math_cal() {
$test_data = fopen('php://memory','x+');
fwrite($test_data, "@book{aKey,title={{A {Book} $\mbox{foo}$ tt $\boo{t}$}} ,author={Martin Monperrus},publisher={Springer},year=2009}\n".
@@ -261,24 +261,24 @@ class BTBTest extends PHPUnit_Framework_TestCase {
);
fseek($test_data,0);
$btb = new BibDataBase();
- $btb->update_internal("inline", $test_data);
+ $btb->update_internal("inline", $test_data);
$first_entry=$btb->bibdb[array_keys($btb->bibdb)[0]];
-// $this->assertTrue(strpos('A Book{} $\mbox{foo}$',$first_entry->toHTML());
- $this->assertEquals('A Book $\mbox{foo}$ tt $\boo{t}$',$first_entry->getTitle());
+// $this->assertTrue(strpos('A Book{} $\mbox{foo}$',$first_entry->toHTML());
+ $this->assertEquals('A Book $\mbox{foo}$ tt $\boo{t}$',$first_entry->getTitle());
}
-
+
function test_link_configuration() {
$test_data = fopen('php://memory','x+');
fwrite($test_data, "@book{aKey,pdf={myarticle.pdf}}\n"
);
fseek($test_data,0);
$btb = new BibDataBase();
- $btb->update_internal("inline", $test_data);
+ $btb->update_internal("inline", $test_data);
$first_entry=$btb->bibdb[array_keys($btb->bibdb)[0]];
- $this->assertEquals('[pdf] ',$first_entry->getLink('pdf'));
- $this->assertEquals('[pdf] ',$first_entry->getPdfLink());
+ $this->assertEquals('[pdf] ',$first_entry->getLink('pdf'));
+ $this->assertEquals('[pdf] ',$first_entry->getPdfLink());
$this->assertEquals(' ',$first_entry->getLink('pdf','pdficon.png'));
- $this->assertEquals('[see] ',$first_entry->getLink('pdf',NULL,'see'));
+ $this->assertEquals('[see] ',$first_entry->getLink('pdf',NULL,'see'));
}
// see https://github.com/monperrus/bibtexbrowser/pull/14
@@ -288,9 +288,9 @@ class BTBTest extends PHPUnit_Framework_TestCase {
);
fseek($test_data,0);
$btb = new BibDataBase();
- $btb->update_internal("inline", $test_data);
+ $btb->update_internal("inline", $test_data);
$first_entry=$btb->bibdb[array_keys($btb->bibdb)[0]];
- $this->assertEquals('[pdf] ',$first_entry->getPdfLink());
+ $this->assertEquals('[pdf] ',$first_entry->getPdfLink());
}
// https://github.com/monperrus/bibtexbrowser/issues/40
@@ -300,9 +300,9 @@ class BTBTest extends PHPUnit_Framework_TestCase {
);
fseek($test_data,0);
$btb = new BibDataBase();
- $btb->update_internal("inline", $test_data);
+ $btb->update_internal("inline", $test_data);
$first_entry=$btb->bibdb[array_keys($btb->bibdb)[0]];
- $this->assertEquals('
@Article{Baldwin2014Quantum,Doi={10.1103/PhysRevA.90.012110 },Url={http://link.aps.org/doi/10.1103/PhysRevA.90.012110 }} ',$first_entry->toEntryUnformatted());
+ $this->assertEquals('@Article{Baldwin2014Quantum,Doi={10.1103/PhysRevA.90.012110 },Url={http://link.aps.org/doi/10.1103/PhysRevA.90.012110 }} ',$first_entry->toEntryUnformatted());
}
function test_filter_view() {
@@ -313,7 +313,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$db->update_internal("inline", $test_data);
$dis = $db->getEntryByKey('aKey');
$this->assertEquals("@article{aKey,title={A Book},author={Martin M\'e},publisher={Springer},year=2009,pages={42--4242},number=1}",$dis->getText());
-
+
// now ith option
bibtexbrowser_configure('BIBTEXBROWSER_BIBTEX_VIEW', 'reconstructed');
bibtexbrowser_configure('BIBTEXBROWSER_BIBTEX_VIEW_FILTEREDOUT', 'pages|number');
@@ -322,7 +322,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
function test_BIBTEXBROWSER_USE_LATEX2HTML() {
$bibtex = "@article{aKey,title={\`a Book},author={J\'e Lo},publisher={Springer},year=2009,pages={42--4242},number=1}\n";
-
+
bibtexbrowser_configure('BIBTEXBROWSER_USE_LATEX2HTML', true);
$test_data = fopen('php://memory','x+');
fwrite($test_data, $bibtex);
@@ -332,7 +332,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$dis = $db->getEntryByKey('aKey');
$this->assertEquals("à Book",$dis->getTitle());
$this->assertEquals("Jé Lo",$dis->getFormattedAuthorsString());
-
+
bibtexbrowser_configure('BIBTEXBROWSER_USE_LATEX2HTML', false);
$test_data = fopen('php://memory','x+');
fwrite($test_data, $bibtex);
@@ -344,7 +344,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals("J\'e Lo",$dis->getFormattedAuthorsString());
}
-
+
function test_PagedDisplay() {
$PAGE_SIZE = 3;
bibtexbrowser_configure('BIBTEXBROWSER_DEFAULT_DISPLAY', 'PagedDisplay');
@@ -357,7 +357,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$content = "".ob_get_clean()."
";
$xml = new SimpleXMLElement($content);
$result = $xml->xpath('//td[@class=\'bibref\']');
- $this->assertEquals($PAGE_SIZE,count($result));
+ $this->assertEquals($PAGE_SIZE,count($result));
}
function test_getKeywords() {
@@ -396,13 +396,13 @@ class BTBTest extends PHPUnit_Framework_TestCase {
fseek($test_data,0);
$db = new BibDataBase();
$db->update_internal("inline", $test_data);
-
+
$dis = $db->getEntryByKey('aKey');
$this->assertEquals("",$dis->getPdfLink());
-
+
$dis = $db->getEntryByKey('bKey');
$this->assertEquals('[pdf] ',$dis->getPdfLink());
-
+
$dis = $db->getEntryByKey('cKey');
$this->assertEquals('[pdf] ',$dis->getPdfLink());
}
@@ -416,7 +416,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$db = new BibDataBase();
$db->update_internal("inline", $test_data);
$entry = $db->getEntryByKey('aKey61');
-
+
// test with formatting with default options same as getRawAuthors()
$authors = $entry->getFormattedAuthorsArray();
$this->assertEquals(3, count($authors));
@@ -447,7 +447,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
// test with first_name last_name formatAuthorCanonical
bibtexbrowser_configure('USE_COMMA_AS_NAME_SEPARATOR_IN_OUTPUT', false);
bibtexbrowser_configure('USE_INITIALS_FOR_NAMES', false);
- bibtexbrowser_configure('USE_FIRST_THEN_LAST', true);
+ bibtexbrowser_configure('USE_FIRST_THEN_LAST', true);
$authors = $entry->getFormattedAuthorsArray();
$this->assertEquals(3, count($authors));
$this->assertEquals("Heribert Meyer", $authors[0]);
@@ -484,7 +484,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals(2,count($authors));
$this->assertEquals("Meyer, Heribert", $authors[0]);
$this->assertEquals("Meyer, Heribert and Foo Bar", $entry->getFormattedAuthorsString());
-
+
// Github issue 61
$bibtex = "@article{aKey61,title={An article Book},author = {Meyer, Heribert and {Advanced Air and Ground Research Team} and Foo Bar and J{\'e} Ko and J{\'e} Le and Fd L{\'e}}}\n";
// wrong parsing of author names
@@ -503,12 +503,12 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals("J{\'e} Le", $authors[4]);
$this->assertEquals("Fd L{\'e}", $authors[5]);
}
-
+
function test_latex2html() {
- $this->assertEquals('"', latex2html("``"));
- $this->assertEquals('"', latex2html("''"));
- $this->assertEquals('é', latex2html("\'e"));
- $this->assertEquals('é', latex2html("{\'e}"));
+ $this->assertEquals('"', latex2html("``"));
+ $this->assertEquals('"', latex2html("''"));
+ $this->assertEquals('é', latex2html("\'e"));
+ $this->assertEquals('é', latex2html("{\'e}"));
}
function test_homepage_link() {
@@ -524,9 +524,9 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals('Foo Acé ', $authors[1]);
$this->assertEquals('Monperrus, Martin ', $authors[2]);
}
-
+
function test_author_index() {
- bibtexbrowser_configure('USE_FIRST_THEN_LAST', true);
+ bibtexbrowser_configure('USE_FIRST_THEN_LAST', true);
$bibtex = "@string{hp_MartinMonperrus={http://www.monperrus.net/martin},hp_FooAcé={http://example.net/}},@article{aKey61,title={An article Book},author = {Martin Monperrus and Foo Ac\'e and Monperrus, Martin}}\n";
$test_data = fopen('php://memory','x+');
@@ -545,18 +545,18 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals(5, count($btb->stringdb));
$this->assertEquals("@string{foo={Foo}}",$btb->stringdb['foo']->toString());
}
-
+
function test_identity() {
$btb = new BibDataBase();
$btb->load('bibacid-utf8.bib');
-
+
// computing the representation
$d = new SimpleDisplay();
$d->setDB($btb);
ob_start();
$d->display();
$rep = ob_get_clean();
-
+
$nref = count($btb->bibdb);
$bibtex = $btb->toBibtex();
// reparsing the new content
@@ -571,14 +571,14 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$this->assertEquals($rep, $rep2);
}
- function test_cli() {
+ function test_cli() {
$test_file="test_cli.bib";
copy('bibacid-utf8.bib', $test_file);
system('php bibtexbrowser-cli.php '.$test_file." --id classical --set-title \"a new title\"");
$db = new BibDataBase();
$db->load($test_file);
$this->assertEquals("a new title", $db->getEntryByKey('classical')->getField('title'));
-
+
// multiple changes
system('php bibtexbrowser-cli.php '.$test_file." --id classical --set-title \"a new title\" --id with_abstract --set-title \"a new title\" --set-year 1990");
$db = new BibDataBase();
@@ -594,7 +594,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$btb = $this->createDB();
$first_entry=$btb->getEntryByKey('aKey');
$this->assertTrue($first_entry->hasField('author'));
- $first_entry->removeField('author');
+ $first_entry->removeField('author');
$this->assertFalse($first_entry->hasField('author'));
}
@@ -622,7 +622,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
$entry=$db->getEntryByKey("key");
$this->assertContains('[citations] ', $entry->toHTML());
}
-
+
} // end class
@copy('bibtexbrowser.local.php.bak','bibtexbrowser.local.php');
diff --git a/bibtexbrowser.php b/bibtexbrowser.php
index ecf5f8f..92e4a21 100755
--- a/bibtexbrowser.php
+++ b/bibtexbrowser.php
@@ -603,7 +603,7 @@ class StateBasedBibtexParser {
else if ($s==' ' || $s=="\t" || $s=="\n" || $s=="\r" ) {
// blank characters are not taken into account when values are not in quotes or curly brackets
}
- else {
+ else {
$entryvalue=$entryvalue.$s;
}
}
@@ -619,13 +619,13 @@ class StateBasedBibtexParser {
$state = GETVALUEDELIMITEDBYCURLYBRACKETS_1NESTEDLEVEL;
$entryvalue=$entryvalue.$s;
$delegate->entryValuePart($finalkey,$fieldvaluepart,'CURLYTOP');
- $fieldvaluepart='';
+ $fieldvaluepart='';
}
else if ($s=='}') { // end entry
$state = GETVALUE;
$delegate->entryValuePart($finalkey,$fieldvaluepart,'CURLYTOP');
}
- else {
+ else {
$entryvalue=$entryvalue.$s;
$fieldvaluepart=$fieldvaluepart.$s;
}
@@ -648,7 +648,7 @@ class StateBasedBibtexParser {
$fieldvaluepart='';
$entryvalue=$entryvalue.$s;
}
- else {
+ else {
$entryvalue=$entryvalue.$s;
$fieldvaluepart=$fieldvaluepart.$s;
}
@@ -731,12 +731,12 @@ class ParserDelegate {
function beginEntry() {}
function endEntry($entrysource) {}
-
- /** called for each sub parts of type {part} of a field value
+
+ /** called for each sub parts of type {part} of a field value
* for now, only CURLYTOP and CURLYONE events
*/
function entryValuePart($key, $value, $type) {}
-
+
} // end class ParserDelegate
@@ -783,7 +783,7 @@ class StringEntry {
$this->value=$v;
$this->filename=$filename;
}
-
+
function toString() {
return '@string{'.$this->name.'={'.$this->value.'}}';
}
@@ -921,7 +921,7 @@ class BibDBBuilder extends ParserDelegate {
// to enable search
if ($this->currentEntry->hasField('author')) {
$this->currentEntry->setField(Q_INNER_AUTHOR,$this->currentEntry->getFormattedAuthorsString());
-
+
foreach($this->currentEntry->getCanonicalAuthors() as $author) {
$homepage_key = $this->currentEntry->getHomePageKey($author);
if (isset($this->stringdb[$homepage_key])) {
@@ -945,9 +945,9 @@ class BibDBBuilder extends ParserDelegate {
// we add it to the database
else {
$this->builtdb[$this->currentEntry->getKey()] = $this->currentEntry;
- }
+ }
}
-
+
} // end class BibDBBuilder
@@ -1087,7 +1087,7 @@ function latex2html($line, $do_clean_extra_bracket=true) {
$line = str_replace('}','',$line);
$line = str_replace('{','',$line);
}
-
+
// we restore the math env
for($i = 0; $i < count($maths); $i++) {
$line = str_replace('__MATH'.$i.'__', $maths[$i], $line);
@@ -1200,7 +1200,7 @@ class BibEntry {
}
function transformValue($value) {
- if (c('BIBTEXBROWSER_USE_LATEX2HTML'))
+ if (c('BIBTEXBROWSER_USE_LATEX2HTML'))
{
// trim space
$value = xtrim($value);
@@ -1208,7 +1208,7 @@ class BibEntry {
// transform Latex markup to HTML entities (easier than a one to one mapping to each character)
// HTML entity is an intermediate format
$value = latex2html($value);
-
+
// transform to the target output encoding
$value = html_entity_decode($value, ENT_QUOTES|ENT_XHTML, OUTPUT_ENCODING);
}
@@ -1219,21 +1219,21 @@ class BibEntry {
function removeField($name) {
$name = strtolower($name);
unset($this->raw_fields[$name]);
- unset($this->fields[$name]);
+ unset($this->fields[$name]);
}
-
+
/** Sets a field of this bib entry. */
function setField($name, $value) {
$name = strtolower($name);
$this->raw_fields[$name] = $value;
-
+
// fields that should not be transformed
// we assume that "comment" is never latex code
// but instead could contain HTML code (with links using the character "~" for example)
// so "comment" is not transformed too
- if ($name!='url' && $name!='comment') {
- $value = $this->transformValue($value);
-
+ if ($name!='url' && $name!='comment') {
+ $value = $this->transformValue($value);
+
// 4. transform existing encoded character in the new format
if (function_exists('mb_convert_encoding') && OUTPUT_ENCODING != BIBTEX_INPUT_ENCODING) {
$value = mb_convert_encoding($value, OUTPUT_ENCODING, BIBTEX_INPUT_ENCODING);
@@ -1242,12 +1242,12 @@ class BibEntry {
} else {
//echo "xx".$value."xx\n";
}
-
+
$this->fields[$name] = $value;
}
-
+
function clean_top_curly($value) {
$value = preg_replace('/^\{/','', $value);
$value = preg_replace('/\}$/','', $value);
@@ -1311,7 +1311,7 @@ class BibEntry {
function getUrlLink($iconurl, $label) {
return $this->getPdfLink($iconurl, $label);
}
-
+
/** returns a "[pdf]" link for the entry, if possible.
Tries to get the target URL from the 'pdf' field first, then from 'url' or 'file'.
*/
@@ -1443,7 +1443,7 @@ class BibEntry {
function getRawAuthors() {
return $this->split_authors();
}
-
+
function split_authors() {
$array = preg_split('/ and /i', @$this->raw_fields[Q_AUTHOR]);
$res = array();
@@ -1457,29 +1457,29 @@ class BibEntry {
}
}
if (!preg_match('/\}/',latex2html($array[count($array)-1],false))) {
- $res[] = trim($array[count($array)-1]);
+ $res[] = trim($array[count($array)-1]);
}
return $res;
}
/**
- * Returns the formated author name w.r.t to the user preference
+ * Returns the formated author name w.r.t to the user preference
* encoded in USE_COMMA_AS_NAME_SEPARATOR_IN_OUTPUT and USE_INITIALS_FOR_NAMES
*/
function formatAuthor($author){
$author = $this->transformValue($author);
if (bibtexbrowser_configuration('USE_COMMA_AS_NAME_SEPARATOR_IN_OUTPUT')) {
return $this->formatAuthorCommaSeparated($author);
- }
-
+ }
+
if (bibtexbrowser_configuration('USE_INITIALS_FOR_NAMES')) {
return $this->formatAuthorInitials($author);
- }
-
+ }
+
if (bibtexbrowser_configuration('USE_FIRST_THEN_LAST')) {
return $this->formatAuthorCanonical($author);
}
-
+
return $author;
}
@@ -1524,8 +1524,8 @@ class BibEntry {
*/
function getFormattedAuthorsArray() {
$array_authors = array();
-
-
+
+
// first we use formatAuthor
foreach ($this->getRawAuthors() as $author) {
$array_authors[]=$this->formatAuthor($author);
@@ -1551,11 +1551,11 @@ class BibEntry {
function getFormattedAuthorsString() {
return $this->implodeAuthors($this->getFormattedAuthorsArray());
}
-
- function implodeAuthors($authors) {
+
+ function implodeAuthors($authors) {
if (count($authors)==0) return '';
if (count($authors)==1) return $authors[0];
-
+
$result = '';
if (bibtexbrowser_configuration('USE_COMMA_AS_NAME_SEPARATOR_IN_OUTPUT')) {$sep = '; ';} else {$sep = ', ';}
@@ -1566,7 +1566,7 @@ class BibEntry {
$result .= $authors[count($authors)-2].bibtexbrowser_configuration('LAST_AUTHOR_SEPARATOR'). $authors[count($authors)-1];
return $result;
}
-
+
/** adds a link to the author page */
function addAuthorPageLink($author) {
$link = makeHref(array(Q_AUTHOR => $author));
@@ -1603,10 +1603,10 @@ class BibEntry {
}
function getHomePageKey($author) {
-
+
return strtolower('hp_'.preg_replace('/ /', '', $this->formatAuthorCanonical(latex2html($author))));
}
-
+
/** add the link to the homepage if it is defined in a string
* e.g. @string{hp_MartinMonperrus="http://www.monperrus.net/martin"}
* The string is a concatenation of firstname, lastname, prefixed by hp_
@@ -1615,7 +1615,7 @@ class BibEntry {
*/
function addHomepageLink($author) {
// hp as home page
- // accents are normally handled
+ // accents are normally handled
// e.g. @STRING{hp_Jean-MarcJézéquel="http://www.irisa.fr/prive/jezequel/"}
$homepage = $this->getHomePageKey($author);
if (isset($this->homepages[$homepage]))
@@ -1656,7 +1656,7 @@ class BibEntry {
function getKeywords() {
return preg_split('/[,;\\/]/', $this->getField("keywords"));
}
-
+
/** Returns the value of the given field? */
function getField($name) {
// 2010-06-07: profiling showed that this is very costly
@@ -1722,7 +1722,7 @@ class BibEntry {
$result = '@'.$this->getType().'{'.$this->getKey().",\n";
foreach ($this->raw_fields as $k=>$v) {
if ( !preg_match('/^('.c('BIBTEXBROWSER_BIBTEX_VIEW_FILTEREDOUT').')$/i', $k)
- && !preg_match('/^(key|'.Q_INNER_AUTHOR.'|'.Q_INNER_TYPE.')$/i', $k) )
+ && !preg_match('/^(key|'.Q_INNER_AUTHOR.'|'.Q_INNER_TYPE.')$/i', $k) )
{
$result .= ' '.$k.' = {'.$v.'},'."\n";
}
@@ -1730,7 +1730,7 @@ class BibEntry {
$result .= "}\n";
return $result;
}
- throw new Exception('incorrect value of BIBTEXBROWSER_BIBTEX_VIEW: '+BIBTEXBROWSER_BIBTEX_VIEW);
+ throw new Exception('incorrect value of BIBTEXBROWSER_BIBTEX_VIEW: '+BIBTEXBROWSER_BIBTEX_VIEW);
}
/** Returns true if this bib entry contains the given phrase (PREG regexp)
@@ -2259,17 +2259,17 @@ function DefaultBibliographyStyle(&$bibentry) {
$coreInfo = $title;
-
+
// adding author info
if ($bibentry->hasField('author')) {
$coreInfo .= ' (';
-
+
$authors = array();
foreach ($bibentry->getFormattedAuthorsArray() as $a) {
- $authors[]=''.$a.' ';
+ $authors[]=''.$a.' ';
}
$coreInfo .= $bibentry->implodeAuthors($authors);
-
+
$coreInfo .= ' )';
}
@@ -2340,7 +2340,7 @@ function DefaultBibliographyStyle(&$bibentry) {
// add the Coin URL
$result .= $bibentry->toCoins();
- return ''.$result.' ';
+ return ''.$result.' ';
}
@@ -2512,7 +2512,7 @@ function VancouverBibliographyStyle(&$bibentry) {
$publisher = 'Master\'s thesis, '.$bibentry->getField(SCHOOL);
} else if ($type=="techreport") {
$publisher = 'Technical report, '.$bibentry->getField("institution");
- }
+ }
if ($bibentry->hasField("publisher")) {
$publisher = $bibentry->getField("publisher");
}
@@ -3407,23 +3407,23 @@ class BibEntryDisplay {
if (METADATA_DC) {
$result = $this->metadata_dublin_core($result);
}
-
+
if (METADATA_OPENGRAPH) {
$result = $this->metadata_opengraph($result);
}
-
+
if (METADATA_EPRINTS) {
$result = $this->metadata_eprints($result);
}
- return $result;
+ return $result;
} // end function metadata
-
+
function metadata_opengraph($result) {
// Facebook metadata
// see http://ogp.me
// https://developers.facebook.com/tools/debug/og/object/
- $result[] = array('og:type','article');
+ $result[] = array('og:type','article');
$result[] = array('og:title',$this->bib->getTitle());
foreach($this->bib->getRawAuthors() as $author) {
// opengraph requires a URL as author value
@@ -3432,7 +3432,7 @@ class BibEntryDisplay {
$result[] = array('og:published_time',$this->bib->getYear());
return $result;
} // end function metadata_opengraph
-
+
function metadata_dublin_core($result) {
// Dublin Core should not be used for bibliographic metadata
// according to several sources
@@ -3447,7 +3447,7 @@ class BibEntryDisplay {
$result[] = array('DC.Issued',$this->bib->getYear());
return $result;
}
-
+
function metadata_google_scholar($result) {
// the description may mix with the Google Scholar tags
// we remove it
@@ -3527,10 +3527,10 @@ class BibEntryDisplay {
$result[] = array('citation_lastpage',$pages[1]);
}
}
-
+
return $result;
}
-
+
function metadata_eprints($result) {
// --------------------------------- BEGIN METADATA EPRINTS
// and now adding eprints metadata
@@ -3906,7 +3906,7 @@ class BibDataBase {
}
return $result;
}
-
+
/** returns the text of all @String entries of this dabatase */
function stringEntriesText() {
$s = "";
@@ -3921,7 +3921,7 @@ class BibDataBase {
foreach($this->bibdb as $bibentry) { $s.=$bibentry->getText()."\n"; }
return $s;
}
-
+
} // end class
/** returns the default CSS of bibtexbrowser */
@@ -4062,7 +4062,7 @@ usage:
$db = zetDB('bibacid-utf8.bib');
$dis = new BibEntryDisplay($db->getEntryByKey('classical'));
- HTMLTemplate($dis);
+ HTMLTemplate($dis);
* $content: an object with methods
display()
@@ -4075,10 +4075,10 @@ function HTMLTemplate(&$content) {
// when we load a page with AJAX
// the HTTP header is taken into account, not the
header('Content-type: text/html; charset='.OUTPUT_ENCODING);
-echo ''."\n";
+echo ''."\n";
?>
-
+
@@ -4317,7 +4317,7 @@ class RSSDisplay {
// be careful of <
$desc = str_replace('<','<',$desc);
- // final test with encoding:
+ // final test with encoding:
if (function_exists('mb_check_encoding')) { // (PHP 4 >= 4.4.3, PHP 5 >= 5.1.3)
if (!mb_check_encoding($desc,OUTPUT_ENCODING)) {
return 'encoding error: please check the content of OUTPUT_ENCODING';
@@ -4340,7 +4340,7 @@ class RSSDisplay {
//
?>
-
+
title;?>
http://
@@ -4706,8 +4706,8 @@ class Dispatcher {
function frameset() { ?>
-
-
+
+