OSDN Git Service

NP_PubMed v0.1.7
authorkmorimatsu <kmorimatsu@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sat, 20 Dec 2008 02:42:56 +0000 (02:42 +0000)
committerkmorimatsu <kmorimatsu@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sat, 20 Dec 2008 02:42:56 +0000 (02:42 +0000)
bugfix: PMID wasn't shown in search result page
add: manuscript listing feature
add: support non-NP_PageSwitch environment

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/plugin@755 1ca29b6e-896d-4ea0-84a5-967f57386b96

NP_PubMed/trunk/NP_PubMed.php
NP_PubMed/trunk/pubmed/index.php
NP_PubMed/trunk/spring/navigation.inc
NP_PubMed/trunk/spring/paging.inc [new file with mode: 0644]
NP_PubMed/trunk/spring/sidebar.inc
NP_PubMed/trunk/spring/skinbackup.xml

index cf48a3c..d847f6d 100644 (file)
@@ -3,7 +3,7 @@ class NP_PubMed extends NucleusPlugin {
        function getName() { return 'NP_PubMed'; }\r
        function getMinNucleusVersion() { return 330; }\r
        function getAuthor()  { return 'Katsumi'; }\r
-       function getVersion() { return '0.1.6'; }\r
+       function getVersion() { return '0.1.7'; }\r
        function getURL() {return 'http://hp.vector.co.jp/authors/VA016157/';}\r
        function getDescription() {\r
                return $this->getName().' plugin<br />'.\r
@@ -185,7 +185,8 @@ class NP_PubMed extends NucleusPlugin {
                }\r
        }\r
        function doSkinVar($skintype,$mode,$p1='',$p2=''){\r
-               global $CONF,$manager,$blog;\r
+               global $CONF,$manager,$blog,$member;\r
+               $mid=$member->getID();\r
                switch($mode=strtolower($mode)){\r
                case 'searchlink':\r
                        if (!$this->isAdmin()) return;\r
@@ -248,6 +249,24 @@ class NP_PubMed extends NucleusPlugin {
                                $blog->showUsingQuery($template, $query.' LIMIT '.$startpos.','.$limit, '', 1, 1);\r
                                break;\r
                        }\r
+               case 'manuscriptlist':\r
+                       if (!$mid) return;\r
+                       if (!$blog) return;\r
+                       $blogid=$blog->getID();\r
+                       $template =& $manager->getTemplate($p1);\r
+                       //print_r($template['CATLIST_LISTITEM']);exit;\r
+                       $res=sql_query('SELECT manuscriptname as name, manuscriptid as id'.\r
+                               ' FROM '.sql_table('plugin_pubmed_manuscripts').\r
+                               ' WHERE userid='.(int)$mid);\r
+                       while($row=mysql_fetch_assoc($res)){\r
+                               $values=array(\r
+                                       'catlink'=>$CONF['IndexURL'].'?special=references&amp;blogid='.(int)$blogid.'&amp;manuscriptid='.(int)$row['id'],\r
+                                       'catid'=>(int)$row['id'],\r
+                                       'catname'=>htmlspecialchars($row['name'],ENT_QUOTES)\r
+                                       );\r
+                               echo TEMPLATE::fill($template['CATLIST_LISTITEM'],$values);\r
+                       }\r
+                       break;\r
                default:\r
                        break;\r
                }\r
index 1f4c042..9864067 100644 (file)
@@ -1,21 +1,28 @@
 <?php\r
 \r
 $strRel = '../../../';\r
+$DIR_LIBS='';\r
 require($strRel . 'config.php');\r
 $pbadmin=new PubMedAdmin;\r
 exit;\r
 \r
 class PubMedAdmin {\r
-       var $oPluginAdmin;\r
+       var $oPluginAdmin,$plugin;\r
        var $blogid;\r
        function PubMedAdmin(){\r
-               global $DIR_LIBS,$manager,$member,$CONF;\r
+               return $this->__construct();\r
+       }\r
+       function __construct(){\r
+               global $DIR_LIBS,$manager,$member,$CONF, $HTTP_POST_VARS;\r
                include($DIR_LIBS . 'PLUGINADMIN.php');\r
                \r
+               // Initialize\r
                $this->oPluginAdmin  = new PluginAdmin('PubMed');\r
+               $this->plugin=&$this->oPluginAdmin->plugin;\r
                if (!($this->blogid=intPostVar('blogid'))) $this->blogid=intGetVar('blogid');\r
                $CONF['ItemURL']=quickQuery('SELECT burl as result FROM '.sql_table('blog'). ' WHERE bnumber='.(int)$this->blogid);\r
                \r
+               // Check if there is right to maintain the blog by member.\r
                if (!$member->isLoggedIn() || !$member->teamRights($this->blogid) || !$manager->existsBlogID($this->blogid))\r
                {\r
                        $this->oPluginAdmin->start();\r
@@ -24,6 +31,7 @@ class PubMedAdmin {
                        exit;\r
                }\r
                \r
+               // If some data is/are posted, check the ticket.\r
                if (!isset($_POST)) $_POST=&$HTTP_POST_VARS;\r
                if (count($_POST) && !$manager->checkTicket()) {\r
                        $this->oPluginAdmin->start();\r
@@ -31,20 +39,27 @@ class PubMedAdmin {
                        $this->oPluginAdmin->end();\r
                        exit;\r
                }\r
-\r
+               \r
+               // Resolve action\r
                if (!($action=postVar('action'))) {\r
                        if (!($action=getVar('action'))) $action='searchform';\r
                }\r
                \r
+               // The functions whose name start from '_' are not actions, but private ones.\r
                if (substr($action,0,1)=='_' || !method_exists($this,$action)) exit('Error: '.__LINE__);\r
-\r
+               \r
+               // There are two modes, so far.\r
                $this->oPluginAdmin->start();\r
                switch(getVar('action')) {\r
-               case 'manuscriptlist':\r
-                       echo "<h2>" . 'Manuscript management' . "</h2>\n";\r
-                       break;\r
-               default:\r
-                       echo "<h2>" . 'PubMed search' . "</h2>\n";\r
+                       case 'manuscriptlist':\r
+                               echo '<h2><a href="'.$this->plugin->getAdminURL().'?blogid='.\r
+                                       (int)$this->blogid.'&amp;action=manuscriptlist">' . \r
+                                       'Manuscript management' . "</a></h2>\n";\r
+                               break;\r
+                       default:\r
+                               echo '<h2><a href="'.$this->plugin->getAdminURL().'?blogid='.\r
+                                       (int)$this->blogid.'">' . \r
+                                       'PubMed search' . "</a></h2>\n";\r
                }\r
                call_user_func(array(&$this,$action));\r
                $this->oPluginAdmin->end();\r
@@ -57,7 +72,7 @@ class PubMedAdmin {
 <?php $manager->addTicketHidden(); ?>\r
 <input type="hidden" name="action" value="searchquery" />\r
 <input type="hidden" name="blogid" value="<?php echo (int)$this->blogid; ?>" />\r
-<input type="text" name="query" value="<?php htmlspecialchars(postVar('query')); ?>" size="60" />\r
+<input type="text" name="query" value="<?php echo htmlspecialchars(postVar('query')); ?>" size="60" />\r
 <input type="submit" value="Search" /><br />\r
 <a href="http://www.ncbi.nlm.nih.gov/sites/entrez?db=PubMed" onclick="window.open(this.href);return false;">Goto the NIH PubMed site</a>\r
 </form>\r
index 169f70a..2d0de1d 100644 (file)
@@ -1,56 +1,61 @@
-<!-- archive: page title and extra navigational links -->
-<%if(skintype,archive)%>
-<title><%blogsetting(name)%> &raquo; Archive</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- archivelist: page title and extra navigational links -->
-<%if(skintype,archivelist)%>
-<title><%blogsetting(name)%> &raquo; Archive List</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- error: page title and extra navigational links -->
-<%if(skintype,error)%>
-<title><%sitevar(name)%> &raquo; Error!</title>
-<link rel="top" title="Today" href="<%todaylink%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- index: page title and extra navigational links -->
-<%if(skintype,index)%>
-<title><%blogsetting(name)%></title>
-<link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%todaylink%>" />
-<%endif%>
-
-<!-- item: page title and extra navigational links -->
-<%if(skintype,item)%>
-<title><%blogsetting(name)%> &raquo; <%itemtitle(attribute)%></title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="next" href="<%nextlink%>" title="Next Item" />
-<link rel="prev" href="<%prevlink%>" title="Previous Item" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- member: page title and extra navigational links -->
-<%if(skintype,member)%>
-<title><%blogsetting(name)%> &raquo; Member Details</title>
-<link rel="top" title="Today" href="<%todaylink%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
-
-<!-- search: page title and extra navigational links -->
-<%if(skintype,search)%>
-<title><%blogsetting(name)%> &raquo; Search</title>
-<link rel="archives" title="Archives" href="<%archivelink%>" />
-<link rel="top" title="Today" href="<%sitevar(url)%>" />
-<link rel="up" href="<%todaylink%>" title="Today" />
-<%endif%>
+<!-- archive: page title and extra navigational links -->\r
+<%if(skintype,archive)%>\r
+<title><%blogsetting(name)%> &raquo; Archive</title>\r
+<link rel="archives" title="Archives" href="<%archivelink%>" />\r
+<link rel="top" title="Today" href="<%sitevar(url)%>" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
+\r
+<!-- archivelist: page title and extra navigational links -->\r
+<%if(skintype,archivelist)%>\r
+<title><%blogsetting(name)%> &raquo; Archive List</title>\r
+<link rel="archives" title="Archives" href="<%archivelink%>" />\r
+<link rel="top" title="Today" href="<%sitevar(url)%>" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
+\r
+<!-- error: page title and extra navigational links -->\r
+<%if(skintype,error)%>\r
+<title><%sitevar(name)%> &raquo; Error!</title>\r
+<link rel="top" title="Today" href="<%todaylink%>" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
+\r
+<!-- index: page title and extra navigational links -->\r
+<%if(skintype,index)%>\r
+<title><%blogsetting(name)%></title>\r
+<link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r
+<link rel="archives" title="Archives" href="<%archivelink%>" />\r
+<link rel="top" title="Today" href="<%todaylink%>" />\r
+<%endif%>\r
+\r
+<!-- References: page title (TODO: insert manuscript name here)-->\r
+<%if(skintype,references)%>\r
+<title><%blogsetting(name)%></title>\r
+<%endif%>\r
+\r
+<!-- item: page title and extra navigational links -->\r
+<%if(skintype,item)%>\r
+<title><%blogsetting(name)%> &raquo; <%itemtitle(attribute)%></title>\r
+<link rel="archives" title="Archives" href="<%archivelink%>" />\r
+<link rel="top" title="Today" href="<%sitevar(url)%>" />\r
+<link rel="next" href="<%nextlink%>" title="Next Item" />\r
+<link rel="prev" href="<%prevlink%>" title="Previous Item" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
+\r
+<!-- member: page title and extra navigational links -->\r
+<%if(skintype,member)%>\r
+<title><%blogsetting(name)%> &raquo; Member Details</title>\r
+<link rel="top" title="Today" href="<%todaylink%>" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
+\r
+<!-- search: page title and extra navigational links -->\r
+<%if(skintype,search)%>\r
+<title><%blogsetting(name)%> &raquo; Search</title>\r
+<link rel="archives" title="Archives" href="<%archivelink%>" />\r
+<link rel="top" title="Today" href="<%sitevar(url)%>" />\r
+<link rel="up" href="<%todaylink%>" title="Today" />\r
+<%endif%>\r
 </head>
\ No newline at end of file
diff --git a/NP_PubMed/trunk/spring/paging.inc b/NP_PubMed/trunk/spring/paging.inc
new file mode 100644 (file)
index 0000000..ca70f41
--- /dev/null
@@ -0,0 +1,20 @@
+<%if(hasplugin,PageSwitch)%>\r
+\r
+<%if(PageSwitch,limit,10)%>\r
+<div style="text-align:right;">Pages:\r
+<%PageSwitch(prev,prev)%>\r
+<%PageSwitch(index,2)%>\r
+<%PageSwitch(next,next)%>\r
+Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
+</div>\r
+<%endif%>\r
+\r
+<%else%>\r
+\r
+<div style="text-align:right">\r
+<%prevlink(<<< prev page,10)%>\r
+&nbsp;&nbsp;&nbsp;\r
+<%nextlink(next page >>>,10)%>\r
+</div>\r
+\r
+<%endif%>
\ No newline at end of file
index 5ae8f65..6161bb1 100644 (file)
 </dl>\r
 </div>\r
 \r
+<!-- manuscript list -->\r
+<%if(loggedin)%>\r
+<div class="sidebar">\r
+<dl class="sidebardl">\r
+<dt>Manuscripts</dt>\r
+<dd><a href="<%adminurl%>plugins/pubmed/?blogid=<%blogsetting(id)%>&amp;action=manuscriptlist">(manegement)</a></dd>\r
+<%PubMed(manuscriptlist,spring/item)%>\r
+</dl>\r
+</div>\r
+<%endif%>\r
+\r
 <!-- category list, not on error or member page -->\r
 <%if(skintype,error)%><%else%>\r
 <%if(skintype,member)%><%else%>\r
index 737995a..db6d078 100644 (file)
@@ -116,41 +116,11 @@ body { margin: 0px; }
 <%PubMed(SearchLink)%><br /><br />\r
 <%PubMed(CreateNew)%>\r
 \r
-<%if(PubMed,getVar,manuscriptid=)%>\r
+<%parsedinclude(paging.inc)%>\r
 \r
-<%if(PageSwitch,limit,10)%>\r
-<div style="text-align:right;">Pages:\r
-<%PageSwitch(prev,prev)%>\r
-<%PageSwitch(index,2)%>\r
-<%PageSwitch(next,next)%>\r
-Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
-</div>\r
-<%endif%>\r
+<%blog(spring/index,10)%>\r
 \r
-<%MultipleCategories(spring/index,10)%>\r
-\r
-<%if(PageSwitch,limit,10)%>\r
-<div style="text-align:right;">Pages:\r
-<%PageSwitch(prev,prev)%>\r
-<%PageSwitch(index,2)%>\r
-<%PageSwitch(next,next)%>\r
-Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
-</div>\r
-<%endif%>\r
-\r
-<%else%>\r
-<%PubMed(PageSwitch,,50)%>\r
-<%if(PageSwitch,limit,50)%>\r
-<div style="text-align:right;">Pages:\r
-<%PageSwitch(prev,prev)%>\r
-<%PageSwitch(index,2)%>\r
-<%PageSwitch(next,next)%>\r
-Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
-</div>\r
-<%endif%>\r
-\r
-<%PubMed(parse,spring/index,50)%>\r
-<%endif%>\r
+<%parsedinclude(paging.inc)%>\r
 \r
 </div>\r
 </div>\r
@@ -230,6 +200,39 @@ Website: <a href="<%member(url)%>"><%member(url)%></a>
 <!-- page footer -->\r
 <%parsedinclude(footer.inc)%>]]></part>
 
+               <part name="references"><![CDATA[<%parsedinclude(head.inc)%>\r
+\r
+<!-- page header -->\r
+<%parsedinclude(header.inc)%>\r
+\r
+<!-- page content -->\r
+<div id="container">\r
+<div class="content">\r
+\r
+<%PubMed(PageSwitch,,50)%>\r
+<%if(PageSwitch,limit,50)%>\r
+<div style="text-align:right;">Pages:\r
+<%PageSwitch(prev,prev)%>\r
+<%PageSwitch(index,2)%>\r
+<%PageSwitch(next,next)%>\r
+Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
+</div>\r
+<%endif%>\r
+\r
+<%PubMed(parse,spring/index,50)%>\r
+\r
+</div>\r
+</div>\r
+\r
+<!-- page menu -->\r
+<h2 class="hidden">Sidebar</h2>\r
+<div id="sidebarcontainer">\r
+<%parsedinclude(sidebar.inc)%>\r
+</div>\r
+\r
+<!-- page footer -->\r
+<%parsedinclude(footer.inc)%>]]></part>
+
                <part name="search"><![CDATA[<%parsedinclude(head.inc)%>\r
 \r
 <!-- page header -->\r
@@ -249,25 +252,11 @@ onclick="window.open(this.href);return false;"
 </div>\r
 <div class="content">\r
 \r
-<%if(PageSwitch,limit,10)%>\r
-<div style="text-align:right;">Pages:\r
-<%PageSwitch(prev,prev)%>\r
-<%PageSwitch(index,2)%>\r
-<%PageSwitch(next,next)%>\r
-Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
-</div>\r
-<%endif%>\r
+<%parsedinclude(paging.inc)%>\r
 \r
 <%searchresults(spring/index,10)%>\r
 \r
-<%if(PageSwitch,limit,10)%>\r
-<div style="text-align:right;">Pages:\r
-<%PageSwitch(prev,prev)%>\r
-<%PageSwitch(index,2)%>\r
-<%PageSwitch(next,next)%>\r
-Page <%PageSwitch(num)%> of <%PageSwitch(total)%>\r
-</div>\r
-<%endif%>\r
+<%parsedinclude(paging.inc)%>\r
 \r
 </div>\r
 </div>\r
@@ -370,8 +359,6 @@ return false;
 
                <part name="POPUP_CODE"><![CDATA[<%popuplink%>]]></part>
 
-               <part name="SEARCH_HIGHLIGHT"><![CDATA[<span class=highlight>\0</span>]]></part>
-
                <part name="SEARCH_NOTHINGFOUND"><![CDATA[No search results found for <b><%query%></b>]]></part>
 
        </template>
@@ -379,6 +366,10 @@ return false;
 
        <template name="spring/item">
                <description>Nucleus CMS spring item template</description>
+               <part name="CATLIST_LISTITEM"><![CDATA[<dd>\r
+<a href="<%catlink%>" title="Manuscript: <%catname%>"><%catname%></a>\r
+</dd>]]></part>
+
                <part name="COMMENTS_BODY"><![CDATA[<div class="itemcomment id<%memberid%>">\r
 <h3><a href="<%userlinkraw%>"\r
 title="<%ip%> | Click to visit <%user%>'s website or send an email">\r