SOLUTION: we inserted a line of code inside the setup of the main typoscript template of the web site that allows to encode all special charachters inside the title of the page contents
lib.stdheader.10.setCurrent.htmlSpecialChars = 0
Blog from Bioversity International web team about Typo3 CMS and its extensions.
lib.stdheader.10.setCurrent.htmlSpecialChars = 0
if ($_SERVER["SERVER_NAME"]!='www.bioversityinternational.org') $markerArray['<!-- ###PERMALINK### -->'] = "<p><p><a href='http://development.euforgen.org/index.php?id=1677&user_bioversitypublications_pi1[showUid]=".$myuid."' title='Permanent link for bookmarking'>Permalink</a>";
else $markerArray['<!-- ###PERMALINK### -->'] = "<p><p><a href='http://www.bioversityinternational.org/index.php?id=19&user_bioversitypublications_pi1[showUid]=".$myuid."' title='Permanent link for bookmarking'>Permalink</a>";
mail($ReceiverOfTheEmail, $TextOfTheEmail,$Headers));
if($val['bodytext']!='') $desc .= "<tr><td valign='top'><b>Description:</b></td><td>".$val['bodytext']."</td></tr>";
if($val['bodytext']!='') $desc .= "<tr><td valign='top'><b>Description:</b></td><td>".strip_tags($val['bodytext'])."</td></tr>";
if($val['abstract']!='') $desc .= "<tr><td valign='top'><b>Abstract:</b></td><td>".$val['abstract']."</td></tr>";
if($val['abstract']!='') $desc .= "<tr><td valign='top'><b>Abstract:</b></td><td>".strip_tags($val['abstract'])."</td></tr>";
if($marker == 'WFQBE_AWE_001'){
if(empty($markerParametri["###".$marker."###"])){
for($j=1;$j<100;$j++) $variabile.= $j . "','";
$variabile.= $j;
$markerParametri["###".$marker."###"] = $variabile;
}
}
"cover" => Array (
"exclude" => 1,
"label" => "LLL:EXT:user_bioversity_publications/locallang_db.xml:user_bioversitypublications_data.cover",
"config" => Array (
"type" => "check",
)
),
"cover" => Array (
"exclude" => 1,
"label" => "LLL:EXT:user_bioversity_publications/locallang_db.xml:user_bioversitypublications_data.cover",
"config" => Array (
"type" => "check",
"default" => 1
)
),
'default_sortby' => "ORDER BY crdate", 'default_sortby' => "ORDER BY publishing_date DESC",
debug($GLOBALS['TSFE']); plugin.tx_fechangepassword_pi1 {
templateFile = EXT:fechangepassword/pi1/res/template.html
}lib.secMenu.excludeUidList = 1136, 1145, 1108
page.headerData.1005 = HTML
page.headerData.1005.value = <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.bioversityinternational.org/nc/rss_feeds.html?tx_push2rss3ds[channel]=Bioversity%20International%20-%20Latest%20News%20and%20Publications&tx_push2rss3ds[encoding]=utf&cHash=3ece23c705" />
$temp = $this->internal['currentRow']['corporate_author'];
if(!empty($temp)){
$markerArray['###SUBPART_COAUTHOR###'] = $temp;
$markerArray['###LABEL_CORPORATE_AUTHOR###'] = 'Corporate Author:';
}
else $markerArray['###LABEL_CORPORATE_AUTHOR###'] = '';
<!-- ###SUBPART_COAUTHOR### -->
<b>###LABEL_CORPORATE_AUTHOR###</b> ###PUBLICATION_CORPORATE_AUTHOR###<br />
<!-- ###SUBPART_COAUTHOR### -->
###############
### RELATED ###
###############
lib.related = COA
lib.related.5 < lib.rel_info_bar
lib.related.stdWrap {
wrap = <div id="right-col"><h2>Highlights</h2><div id="right-col-content"> | </div></div>
required = 1
}
ALTER TABLE tx_push2rss3ds_item ADD COLUMN time_order int(11);
ALTER TABLE tx_push2rss3ds_item ADD COLUMN starttime int(11);
ALTER TABLE tx_push2rss3ds_item ADD COLUMN endtime int(11);
function record2rss($id,$table)we updated the code in this way:
$dbQuery2 = $GLOBALS['TYPO3_DB']->SELECTquery(
'starttime,endtime',
$table,
'uid='.$id,
'', '', ''
);
$dbRes2 = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $dbQuery2);
$dbRow2 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbRes2);
$starttime = $dbRow2['starttime'];
$endtime = $dbRow2['endtime'];
if (($GLOBALS['TYPO3_DB']->sql_num_rows($dbRes))!=0 && $trackChanges==0){
$dbRow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbRes);
if($dbRow['hidden']==1 && $dbRowHIDDEN==0 && $dbRow['time_order'] < $date) $dataorder = $date; else $dataorder = $dbRow['time_order']; //else if ($dbRow['hidden']==0 && $hiddenO==0) $dataorder = $updateArray = array( 'pid' => $pid,
'tstamp'=> $date,
'title'=>$dbRowTITLE,
'description'=>$dbRowDESCRIPTION,
'link'=>$dbRowLINK,
'pubdate'=>$dbRowDATE,
'optional_item'=>$option,
'md5'=>$md5,
'deleted'=>$dbRowDELETE,
'hidden'=>$dbRowHIDDEN,
'sys_language_uid'=> $dbRowLANGUAGE,
'l18n_parent' => $uidRssParent,
'time_order'=>$dataorder,
'starttime'=>$starttime,
'endtime'=>$endtime,
);
$dbQuery = $GLOBALS['TYPO3_DB']->UPDATEquery('tx_push2rss3ds_item', 'source_id='.$id.' AND source_table="'.$table.'" AND pid='.$pid, $updateArray);
if (!$dbRes = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $dbQuery)){
print " ERREUR ".mysql_error();
}
}
else {
$insertArray = array(
'uid' => '',
'pid' => $pid,
'tstamp'=> $date,
'crdate'=> $date,
'cruser_id'=> $cruser_id,
'title'=>$dbRowTITLE,
'description'=>$dbRowDESCRIPTION,
'link'=>$dbRowLINK,
'pubdate'=>$dbRowDATE,
'optional_item'=>$option,
'md5'=>$md5,
'source_id'=> $id,
'source_table' => $table,
'sys_language_uid' => $dbRowLANGUAGE,
'l18n_parent' => $uidRssParent,
'hidden' => $dbRowHIDDEN,
'time_order'=>$date,
'starttime'=>$starttime,
'endtime'=>$endtime,
);
$dbQuery = $GLOBALS['TYPO3_DB']->INSERTquery('tx_push2rss3ds_item', $insertArray);
if (!$dbRes = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $dbQuery)){
print " ERREUR ".mysql_error();
}function main($content,$conf) we updated the code in this way:
while ($rowItems = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($resItems)) {
if( ($rowItems['starttime'] <>time()) || ($rowItems['starttime'] < title_item =" $rowItems['title'];" description_item =" $rowItems['description'];" link_item =" $rowItems['link'];" author_item =" $rowItems['author'];">
function tt_news_DescriptionWrapper(){
if($_REQUEST['data']['tt_news']){
$tmpval = array_values($_REQUEST['data']['tt_news']);
$val = $tmpval[0];
}elseif($_REQUEST['cmd']['tt_news']){
$tmpval = array_values($_REQUEST['cmd']['tt_news']);
$uid = $tmpval[0]['version']['swapWith'];
$lolduid = array_keys($_REQUEST['cmd']['tt_news']);
$olduid = $lolduid[0];
$dbQuery = $GLOBALS['TYPO3_DB']->SELECTquery(
'*',
'tt_news',
'(uid = '.$uid.' and pid=-1) or uid='.$olduid,
'', '', ''
);
if($dbRes = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $dbQuery)){
if (($GLOBALS['TYPO3_DB']->sql_num_rows($dbRes))==1){
$val=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbRes);
}
}
}
if($val['bodytext']!=''){
$val['bodytext'] = substr($val['bodytext'],0,300)."...";
}
$desc = "<table>";
$desc .= "<tr><td valign='top'><b>Author:</b></td><td>".$val['author']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Email:</b></td><td>".$val['author_email']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Description:</b></td><td>".$val['bodytext']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Year:</b></td><td>".date("d-m-Y",$val['datetime'])."</td></tr>";
$desc .= "</table>";
return $desc;
}
//********************************************************************************************************************
function pub_DescriptionWrapper(){
if($_REQUEST['data']['user_bioversitypublications_data']){
$tmpval = array_values($_REQUEST['data']['user_bioversitypublications_data']);
$val = $tmpval[0];
}elseif($_REQUEST['cmd']['user_bioversitypublications_data']){
$tmpval = array_values($_REQUEST['cmd']['user_bioversitypublications_data']);
$uid = $tmpval[0]['version']['swapWith'];
$lolduid = array_keys($_REQUEST['cmd']['user_bioversitypublications_data']);
$olduid = $lolduid[0];
$dbQuery = $GLOBALS['TYPO3_DB']->SELECTquery(
'*',
'user_bioversitypublications_data',
'(uid = '.$uid.' and pid=-1) or uid='.$olduid,
'', '', ''
);
// t3lib_div::debug($dbQuery);exit;
if($dbRes = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $dbQuery)){
if (($GLOBALS['TYPO3_DB']->sql_num_rows($dbRes))==1){
$val=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbRes);
}
}
// t3lib_div::debug($olduid);exit;
}
if($val['abstract']!=''){
$val['abstract'] = substr($val['abstract'],0,300)."...";
}
$desc = "<table>";
$desc .= "<tr><td valign='top'><b>Author:</b></td><td>".$val['author']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Abstract:</b></td><td>".$val['abstract']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Publication year:</b></td><td>".$val['publication_year']."</td></tr>";
$desc .= "</table>";
return $desc;
}
//********************************************************************************************************************
function pub_TitleWrapper(){
// global $TYPO3_CONF_VARS,$TCA;
$tmpval = array_values($_REQUEST['data']['user_bioversitypublications_data']);
$val = $tmpval[0];
$desc = strip_tags($val['title']);
return $desc;
}
$resItems of the main() function inside the class.tx_push2rss3ds_pi1.php of the push2rss_3ds extension in the following way:
$resItems = $GLOBALS['TYPO3_DB']->exec_SELECTquery( '*',
'tx_push2rss3ds_item',
'NOT deleted AND NOT hidden '.$workspaceLiveCondition.' AND pid="'.$rowChannel['pid'].'"'.$whereClause2,
'', 'tstamp desc');
<?php
if($_SERVER['SERVER_NAME']=='www.bioversityinternational.org'){
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '/index.php?id=605';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
}
if($_SERVER['SERVER_NAME']=='onevision.bioversity.cgiar.org'){
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'http://onevision.bioversity.cgiar.org/index.php?id=792';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
}
if($_SERVER['SERVER_NAME']=='eufgisdev.bioversity.cgiar.org'){
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'http://eufgisdev.bioversity.cgiar.org/index.php?id=881';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
}
?>
if(empty($markerArray['###PUBLICATION_COVER_IMAGE###'])) $markerArray['###PUBLICATION_COVER_IMAGE###']='';
singleView.
<?php
$sites;
if ($_GET['searchsite']=='only') $sites = "zxwduu114zc";
else $sites = "agkh6mcm5ja";
$valore = $_REQUEST['q'];
?>
<!--TYPO3SEARCH_begin-->
<>Please, type in your keywords and click the Search button or press Enter to proceed.<br />
Information about Google free text search is available <a href="http://www.google.com/support/websearch/bin/answer.py?answer=134479" target="_blank">here.</a> <br />
For more tips on searching, see <a href="http://www.google.com/support/websearch/bin/answer.py?answer=136861" target="_blank">Google advanced search operators.</a> <br />
<form id="searchbox_008604332300338350491:<?php echo $sites; ?>" action="http://www.bioversityinternational.org/free_text_search/" method="GET">
<p>
<input type="hidden" name="cx" value="008604332300338350491:<?php echo $sites; ?>" />
<input type="hidden" name="cof" value="FORID:11" />
<input name="q" value="<?php echo $_REQUEST['q'];?>" type="text" c1lass="search_textbox" size="40" maxlength="255" style="margin:0px; border:solid #cccccc 1px;margin-right:20px;"/>
<input type="submit" id="search_input" name="sa" value=" Search " alt="Click here for the search"/>
<br />
</p>
<p class="text">
<input name="searchsite" type="radio" value="only" style="width:12px;" <?php if($_GET['searchsite']=='only' || $_GET['searchsite']=='') echo 'checked'; ?> />
Search in Bioversity web site only <br />
<input name="searchsite" type="radio" value="all" style="width:12px;" <?php if($_GET['searchsite']=='all') echo 'checked'; ?> />
Search in Bioversity and <a onclick="javascript:popup_show('popup', 'popup_drag', 'popup_exit','mouse',-25,-40);" style="cursor : pointer;" >Associated Web Sites </a><br /><br /><br />
<?php
if($valore!='') echo ' Search result for: <b>' .$valore.'</b>';
?></br>
</p>
</form>
<div class="sample_popup" id="popup" style="display: none;">
<div class="menu_form_header" id="popup_drag">
<img class="menu_form_exit" id="popup_exit" src="http://www.bioversityinternational.org/fileadmin/bioversity/templates/images/gsearch/form_exit.png" alt="" />
Associated Web Sites
</div>
<div class="menu_form_body">
<table>
<tr><th><a href="http://www.promusa.org/" target="blank">Promusa</a></td></tr>
<tr><th><a href="http://www.coffeegenome.org/" target="blank">International Coffee Genome Network (ICGN )</a></td></tr>
<tr><th><a href="http://www.ecpgr.cgiar.org/" target="blank">European Cooperative Programme for Plant Genetic Resources (ECPGR)</a></td></tr>
<tr><th><a href="http://www.bioversityinternational.org/networks/euforgen/" target="blank">European Forest Genetic Resources Programme (EUFORGEN)</a></td></tr>
<tr><th><a href="http://www.grpi.org/" target="blank">Genetic Resources Policy Initiative (GRPI)</a></td></tr>
<tr><th><a href="http://singer.grinfo.net/" target="blank">System-wide Information Network for Genetic Resources - (SINGER)</a></td></tr>
<tr><th><a href="http://www.croptrust.org/main/" target="blank">Global Crop Diversity Trust</a></td></tr>
<tr><th><a href="http://www.underutilized-species.org/default.asp" target="blank">Global Facilitation Unit for Underutilized Species - GFU</a></td></tr>
<tr><th><a href="http://www.cgiar-ilac.org/" target="blank">Institutional Learning and Change Initiative (ILAC)</a></td></tr>
</table>
</div>
</div>
<!-- Google Search Result Snippet Begins -->
<div id="results_008604332300338350491:<?php echo $sites; ?>"></div>
<script type="text/javascript">
<?php
echo 'var googleSearchIframeName = "results_008604332300338350491:'.$sites.'";';
echo 'var googleSearchFormName = "searchbox_008604332300338350491:'.$sites.'";';
?>
var googleSearchFrameWidth = 600;
var googleSearchFrameborder = 0;
var googleSearchDomain = "www.google.com";
var googleSearchPath = "/cse";
</script>
<script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>
<!-- Google Search Result Snippet Ends -->
<!--TYPO3SEARCH_end-->
<style>
div.sample_popup { z-index: 1; }
div.sample_popup div.menu_form_header
{
border: 1px solid black;
border-bottom: none;
width: 401px;
height: 20px
line-height: 19px;
vertical-align: middle;
background: #78B027 no-repeat;
padding-left:9px;
text-decoration: none;
font-family: font-family: Trebuchet MS,Verdana,Arial,sans-serif;
font-weight: 900;
font-size: 13px;
color: #206040;
cursor: move;
}
div.sample_popup div.menu_form_body
{
width: 410px;
padding-bottom:.7em;
padding-top:.5em;
border: 1px solid black;
background: #EEFFEE no-repeat left bottom;
}
div.sample_popup img.menu_form_exit
{
float: right;
margin: 4px 5px 0px 0px;
cursor: pointer;
}
div.sample_popup table
{
width: 100%;
border-collapse: collapse;
}
div.sample_popup th
{
width: 1%;
padding: 0px 4px 1px 10px;
text-align: left;
font-family: font-family: Trebuchet MS,Verdana,Arial,sans-serif;
font-weight: 900;
font-size: 11px;
color: #004060;
}
div.sample_popup td
{
width: 99;
padding: 0px 0px 1px 0px;
}
div.sample_popup form
{
margin: 0px;
padding: 8px 10px 10px 10px;
}
div.sample_popup input.field
{
width: 95%;
border: 1px solid #808080;
font-family: font-family: Trebuchet MS,Verdana,Arial,sans-serif;
font-size: 12px;
}
div.sample_popup input.btn
{
margin-top: 2px;
border: 1px solid #808080;
background-color: #DDFFDD;
font-family: font-family: Trebuchet MS,Verdana,Arial,sans-serif;
font-size: 11px;
}
</style>
- For "Associated Web Sites" we edited the following java script in order to have a DHTML menu:
var popup_dragging = false;
var popup_target;
var popup_mouseX;
var popup_mouseY;
var popup_mouseposX;
var popup_mouseposY;
var popup_oldfunction;
function popup_mousedown(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
popup_mouseposX = ie ? window.event.clientX : e.clientX;
popup_mouseposY = ie ? window.event.clientY : e.clientY;
}
function popup_mousedown_window(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
if ( ie && window.event.button != 1) return;
if (!ie && e.button != 0) return;
popup_dragging = true;
popup_target = this['target'];
popup_mouseX = ie ? window.event.clientX : e.clientX;
popup_mouseY = ie ? window.event.clientY : e.clientY;
if (ie)
popup_oldfunction = document.onselectstart;
else popup_oldfunction = document.onmousedown;
if (ie)
document.onselectstart = new Function("return false;");
else document.onmousedown = new Function("return false;");
}
function popup_mousemove(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
var element = document.getElementById(popup_target);
var mouseX = ie ? window.event.clientX : e.clientX;
var mouseY = ie ? window.event.clientY : e.clientY;
if (!popup_dragging) return;
element.style.left = (element.offsetLeft+mouseX-popup_mouseX)+'px';
element.style.top = (element.offsetTop +mouseY-popup_mouseY)+'px';
popup_mouseX = ie ? window.event.clientX : e.clientX;
popup_mouseY = ie ? window.event.clientY : e.clientY;
}
function popup_mouseup(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
var element = document.getElementById(popup_target);
if (!popup_dragging) return;
popup_dragging = false;
if (ie)
document.onselectstart = popup_oldfunction;
else document.onmousedown = popup_oldfunction;
}
function popup_exit(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
var element = document.getElementById(popup_target);
popup_mouseup(e);
element.style.display = 'none';
}
function popup_show(id, drag_id, exit_id, position, x, y, position_id)
{
var element = document.getElementById(id);
var drag_element = document.getElementById(drag_id);
var exit_element = document.getElementById(exit_id);
var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth;
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;
element.style.position = "absolute";
element.style.display = "block";
if (position == "mouse")
{
element.style.left = (document.documentElement.scrollLeft+popup_mouseposX+x)+'px';
element.style.top = (document.documentElement.scrollTop +popup_mouseposY+y)+'px';
if (element.style.visibility == "visible") {element.style.visibility = "hidden";return true;}
element.style.visibility = "visible"
}
if (position == "screen-top-left")
{
element.style.left = (document.documentElement.scrollLeft+x)+'px';
element.style.top = (document.documentElement.scrollTop +y)+'px';
}
if (position == "screen-center")
{
element.style.left = (document.documentElement.scrollLeft+(width -element.clientWidth )/2+x)+'px';
element.style.top = (document.documentElement.scrollTop +(height-element.clientHeight)/2+y)+'px';
}
drag_element['target'] = id;
drag_element.onmousedown = popup_mousedown_window;
exit_element.onclick = popup_exit;
}
if (navigator.appName == "Microsoft Internet Explorer")
document.attachEvent ('onmousedown', popup_mousedown);
else document.addEventListener('mousedown', popup_mousedown, false);
if (navigator.appName == "Microsoft Internet Explorer")
document.attachEvent ('onmousemove', popup_mousemove);
else document.addEventListener('mousemove', popup_mousemove, false);
if (navigator.appName == "Microsoft Internet Explorer")
document.attachEvent ('onmouseup', popup_mouseup);
else document.addEventListener('mouseup', popup_mouseup, false);
- In order to have the search form inside all web site pages, we edited the typo script of the homepage template in the following way:
###############
### SEARCH ###
###############
lib.search = TEXT
lib.search.wrap (
<div class="tx-macinasearchbox-pi1">
<div id="searchBar">
<form id="searchbox_008604332300338350491:agkh6mcm5ja" action="http://www.bioversityinternational.org/google_free_text_search/" method="GET" style="margin: 0px; padding: 0px;">
<input type="hidden" name="cx" value="008604332300338350491:agkh6mcm5ja" />
<input type="hidden" name="cof" value="FORID:11" />
<input name="q" type="text" c1lass="search_textbox" size="40" maxlength="255" />
<input type="submit" id="search_input" name="sa" value=" Search " alt="Click here for the search"/>
</form>
</div>
</div>
)
user_bioversitypublications_data {
title = MAP
title.map = title
#title = FUNCTION
#title.userFunc = tx_push2rss3ds_push->pub_TitleWrapper
#description = MAP
#description.map= abstract
description = FUNCTION
description.userFunc = tx_push2rss3ds_push->pub_DescriptionWrapper
pubdate = MAP
pubdate.map = tstamp
link = LINK
link {
overrulePIvars.showUid = ###CURRENT_ID###
cache = 1
clearAnyway = 1
altPageId = 19
key = user_bioversitypublications_pi1
}
tt_news {
title = MAP
title.map = title
description = FUNCTION
description.userFunc = tx_push2rss3ds_push->tt_news_DescriptionWrapper
#description.userFunc.att1 = bodytext
#description = MAP
#description = bodytext
link = LINK
link {
overrulePIvars.showUid >
overrulePIvars {
tt_news = ###CURRENT_ID###
#change back pid to fit your website
backPid = ###CURRENT_PID###
year = null
month = null
pS = null
pL = null
arc = null
}
cache = 1
clearAnyway = 1
altPageId = 21
key= tx_ttnews
}
pubdate = MAP
pubdate.map= datetime
}
function tt_news_DescriptionWrapper(){
$tmpval = array_values($_REQUEST['data']['tt_news']);
$val = $tmpval[0];
$val['bodytext'] = substr($val['bodytext'],0,300)."...";
$desc = "<table>";
$desc .= "<tr><td valign='top'><b>Author:</b></td><td>".$val['author']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Email:</b></td><td>".$val['author_email']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Description:</b></td><td>".$val['bodytext']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Year:</b></td><td>".date("d-m-Y",$val['datetime'])."</td></tr>";
$desc .= "</table>";
return $desc;
}
function pub_DescriptionWrapper(){
$tmpval = array_values($_REQUEST['data']['user_bioversitypublications_data']);
$val = $tmpval[0];
$val['abstract'] = substr($val['abstract'],0,300)."...";
$desc = "<table>";
$desc .= "<tr><td valign='top'><b>Author:</b></td><td>".$val['author']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Abstract:</b></td><td>".$val['abstract']."</td></tr>";
$desc .= "<tr><td valign='top'><b>Publication year:</b></td><td>".$val['publication_year']."</td></tr>";
$desc .= "</table>";
return $desc;
}
function pub_TitleWrapper(){
$tmpval = array_values($_REQUEST['data']['user_bioversitypublications_data']);
$val = $tmpval[0];
$desc = strip_tags($val['title']);
return $desc;
}