diff --git a/bibtexbrowser.php b/bibtexbrowser.php
index 9a8cbe5..38a27b4 100755
--- a/bibtexbrowser.php
+++ b/bibtexbrowser.php
@@ -1214,7 +1214,7 @@ class BibEntry {
return $this->timestamp;
}
- /** Returns the type of this bib entry. */
+ /** Returns the type of this bib entry (always lowercase). */
function getType() {
// strtolower is important to be case-insensitive
return strtolower($this->getField(Q_INNER_TYPE));
@@ -2854,10 +2854,11 @@ class MenuManager {
/** function called back by HTMLTemplate */
function display() {
echo $this->searchView().'
';
- echo $this->typeVC().'
';
+ echo $this->venueVC().'
';
echo $this->yearVC().'
';
echo $this->authorVC().'
';
echo $this->tagVC().'
';
+ echo $this->typeVC().'
';
}
/** Displays the title in a table. */
@@ -2900,6 +2901,16 @@ class MenuManager {
$this->displayMenu('Types', $types, $page, $this->type_size, Q_TYPE_PAGE, Q_INNER_TYPE);
}
+
+ /** Displays and controls the venues. */
+ function venueVC() {
+ // retrieve authors list to display
+ $data = $this->db->venueIndex();
+
+ $this->displayMenu('Venues', $data, 1, 100000, Q_SEARCH,
+ Q_SEARCH);
+ }
+
/** Displays and controls the authors menu in a table. */
function authorVC() {
// retrieve authors list to display
@@ -3892,6 +3903,24 @@ class BibDataBase {
return $result;
}
+ function venueIndex(){
+ $tmp = array();
+ foreach ($this->bibdb as $bib) {
+ if ($bib->getType()=="article") {
+ @$tmp[$bib->getField("journal")]++;
+ }
+ if ($bib->getType()=="inproceedings") {
+ @$tmp[$bib->getField("booktitle")]++;
+ }
+ }
+ arsort($tmp);
+ $result=array();
+ foreach ($tmp as $k=>$v) {
+ $result[$k]=$k;
+ }
+ return $result;
+ }
+
/** Generates and returns an array consisting of all tags.
*/
function tagIndex(){