Page MenuHomeGRNET

bibliografia.php
No OneTemporary

File Metadata

Created
Mon, Dec 8, 4:38 PM

bibliografia.php

<?php
include_once("db.php");
include_once("utility.php");
include_once("form.php");
include_once("etichetta.php");
class Bibliografia {
public static function elenco_rif($idute, $label, $order, $qualif, $start, $passo, $dddetails = 0) {
$ret = "";
$result_count = $_SESSION['db']->execute(
"SELECT COUNT(rif.ri_id)
FROM refman ref, riferimento rif
WHERE rif.ri_id = ref.ri_id AND ref.rm_cancella = 0 AND rif.ri_id = any (
SELECT rif_eti.ri_id
FROM rif_eti
WHERE rif_eti.et_id = " . $label . ")"
);
$result = $_SESSION['db']->execute(
"SELECT rif.ri_id, ri_titolopub, ri_au1, ri_anno, rm_stato, ri_titolopart, rm_datarichie, rm_dataeva, rm_notebibute, rm_noteutebib, rm_cancella
FROM refman ref, riferimento rif
WHERE rif.ri_id = ref.ri_id AND ref.rm_cancella = 0 AND rif.ri_id = any (
SELECT rif_eti.ri_id
FROM rif_eti
WHERE rif_eti.et_id = " . $label . ")
ORDER BY " . $order . " " . $qualif . "
LIMIT " . $start . ", " . $passo
);
}
else {
$result_count = $_SESSION['db']->execute(
"SELECT COUNT(ri_id)
FROM refman
WHERE ut_id = " . $idute . " AND rm_cancella = 0"
);
$result = $_SESSION['db']->execute(
"SELECT rif.ri_id, ri_titolopub, ri_au1, ri_anno, rm_stato, ri_titolopart, rm_datarichie, rm_dataeva, rm_notebibute, rm_noteutebib, rm_cancella
FROM refman ref, riferimento rif
WHERE ref.ut_id = " . $idute . " AND ref.rm_cancella = 0 AND ref.ri_id = rif.ri_id
ORDER BY " . $order . " " . $qualif . "
LIMIT " . $start . ", " . $passo
);
}
$arr = $_SESSION['db']->fetch($result_count, 2);
$max = $arr[0];
$cols = $_SESSION['db']->numcols($result);
for ($j = 0; $j < $cols; $j++) {
$flds[$j] = $_SESSION['db']->fieldname($result, $j);
}
$ret.=Bibliografia::navigation_bar($idute, $label, $start, $passo, $max);
$ret.=" <div id=\"current_list_range_loading_box\" style=\"display:none\">\n";
$ret.=" <div id=\"current_list_range_loading_bgrnd\">\n";
$ret.=" </div>\n";
$ret.=" <div class=\"current_list_range_loading_icon\">\n";
$ret.=" </div>\n";
$ret.=" </div>\n";
$ret.=" <table class='table table-striped' id=\"current_list_range\">\n";
$ret.=" <col span=\"4\" class=\"main_col\" /><col span=\"2\" class=\"dd_col\" />\n";
$ret.=" <tr id=\"view_manager\">\n";
$ret.=" <th id=\"check_all\"><input id=\"checkall\" type=\"checkbox\" onclick=\"javascript:check_all_references()\"/></th>\n";
for ($j = 1; $j < 5; $j++) {
if ($flds[$j] == $order) {
if ($qualif == "asc")
$ret.=" <th id=\"sort_by_" . $flds[$j] . "\"><a href=\"javascript:update_references('action_bibliografia.php?op=aggiorna&order=" . $flds[$j] . "&qualif=desc')\" title=\"" . getConstVar($flds[$j] . "_LINK_TITLE") . "\"><img class=\"sorted_down\" src=\"images/mynilde/empty1.gif\" /><span class=\"sorted_field_name\">" . getConstVar($flds[$j]) . "</span></a></th>\n";
else
$ret.=" <th id=\"sort_by_" . $flds[$j] . "\"><a href=\"javascript:update_references('action_bibliografia.php?op=aggiorna&order=" . $flds[$j] . "&qualif=asc')\" title=\"" . getConstVar($flds[$j] . "_LINK_TITLE") . "\"><img class=\"sorted_up\" src=\"images/mynilde/empty1.gif\" /><span class=\"sorted_field_name\">" . getConstVar($flds[$j]) . "</span></a></th>\n";
} else
$ret.=" <th id=\"sort_by_" . $flds[$j] . "\"><a href=\"javascript:update_references('action_bibliografia.php?op=aggiorna&order=" . $flds[$j] . "&qualif=asc')\" title=\"" . getConstVar($flds[$j] . "_LINK_TITLE") . "\"><img class=\"sort_down\" src=\"images/mynilde/empty1.gif\" /><span class=\"sort_field_name\">" . getConstVar($flds[$j]) . "</span></a></th>\n";
}
$ret.=" <th id=\"sort_by_bi_idrichie\" $dd_style><a><span class=\"sort_field_name\">" . getConstVar("DD_INFOS") . "</span></a></th>\n";
$rowspan = 1 + $passo;
if ($_SESSION['db']->numrows($result) == 0)
$dd_link = "";
else
$ret.=" </tr>\n";
$i = 0;
$query = "SELECT et_nome
FROM etichetta
WHERE et_id = any (
SELECT et_id
FROM rif_eti
WHERE ri_id = ?)";
$bibliografiaSTMT = $_SESSION['db']->prepareSTMT($query);
if (!$bibliografiaSTMT) {
echo 'Errore: creazione preparestatement per bibliografia';
die;
}
if ($_SESSION['db']->numrows($result) == 0)
$ret.="<tr class=\"no_item\"><td colspan=\"5\">" . getConstVar("NOREFERENCES") . "</td><td class=\"dd_infos\" $dd_style></td></tr>";
else
while ($row = $_SESSION['db']->fetch($result)) {
$itemcl = "item1";
if ($i % 2 != 0)
$itemcl = "item2";
$riid = $row[$flds[0]];
$ret.="<tr id=\"item_$riid\" class=\"$itemcl\">\n";
$idrif[$i] = $row["ri_id"];
$ret.=Form::getCheckBox("idrif[]", $idrif[$i], "", null, "<td class=\"check_this\">", "</td>\n");
$ret.="<td class=\"titolo_item\" onclick=\"javascript:apriRiferimento($riid)\" title=\"" . getConstVar("CLICKTOVIEWREF") . "\">\n";
$ret.="<div class=\"ri_titolopub\"\">" . $row["ri_titolopub"] . "</div><div class=\"ri_titolopart\">" . $row["ri_titolopart"] . "</div>\n";
$bibliografiaSTMT->bind_param('i', $idrif[$i]);
$bibliografiaSTMT->execute();
$bibliografiaSTMT->bind_result($et_nome);
$first = TRUE;
$ret.="<div class=\"item_labels\">\n";
while ($bibliografiaSTMT->fetch()) {
if (!$first)
$ret.=" | ";
else
$first = FALSE;
$ret.="<span class=\"et_nome\">" . $et_nome . "</span>\n";
}
$ret.="</div>\n";
$ret.="</td>\n";
$ret.="<td class=\"ri_au1\" onclick=\"javascript:apriRiferimento($riid)\">" . $row["ri_au1"] . "</td>\n";
$ret.="<td class=\"ri_anno\" onclick=\"javascript:apriRiferimento($riid)\">" . $row["ri_anno"] . "</td>\n";
$ret.="<td class=\"rm_stato\">" . fieldrender::render("rm_stato", $row["rm_stato"]) . "</td>\n";
$ret.=" <td class=\"dd_infos\" $dd_style>\n";
$ret.=" <div class=\"last_relevant_dd_event\">\n";
if ($row["rm_stato"] == getConstVar("Rif_NonRichiesto")) {
if (isset($_SESSION['app_stato']) && !in_array($_SESSION['app_stato'], getConstVar('UTENTE_ACL_DD_DENY')))
$ret.= "<a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:richiediRiferimento(" . $row["ri_id"] . ")\"
title=\"" . getConstVar("SUBMIT") . "\">
<span class='glyphicon glyphicon-send'></span>
<span style='padding-left:4px;'>" . getConstVar("SUBMIT") . "</span>
</a>";
else
$ret.=getConstVar('AVVISO_UTENTE_DISABILITATO_FUNZIONE_DD');
}
elseif ($row["rm_stato"] == getConstVar("Rif_RichiestaAperta")) {
$ret.=FieldRender::render("rm_datarichie", $row["rm_datarichie"]);
$ret.=FieldRender::render("rm_noteutebib", $row["rm_noteutebib"]);
} elseif ($row["rm_stato"] == getConstVar("Rif_BiblioChiedeConferma")) {
$ret.=FieldRender::render("rm_datarichie", $row["rm_datarichie"]);
$ret.=FieldRender::render("rm_noteutebib", $row["rm_noteutebib"]);
$ret.="<div class=\"user_confirmation smaller2\"><span class=\"red\">Attenzione!</span> Richiesta accettazione costo</div>";
} elseif ($row["rm_stato"] == getConstVar("Rif_RichiestaChiusa_Eva")) {
$ret.="<div class=\"rm_dataeva\"><span class=\"obj_name \">" . getConstVar("DOC_RECEIVED_ON") . ":</span> <span class=\"obj_value\">" . print_datetime($row["rm_dataeva"], "date") . "</span></div>\n";
$ret.=FieldRender::render("rm_notebibute", $row["rm_notebibute"]);
} elseif ($row["rm_stato"] == getConstVar("Rif_RichiestaChiusa_Ineva")) {
$ret.="<div class=\"rm_dataeva\"><span class=\"obj_name\"><span class=\"red\">" . getConstVar("DOC_NOT_DELIVERED") . ":</span> <span class=\"obj_value\">" . print_datetime($row["rm_dataeva"], "date") . "</span></div>\n";
$ret.=FieldRender::render("rm_notebibute", $row["rm_notebibute"]);
}
$ret.=" </div>\n";
$ret.=" </td>\n";
$ret.=" </tr>\n";
$i++;
}
$bibliografiaSTMT->close();
$ret.=" </table> <!-- END: current_list_range -->\n";
$ret.=Bibliografia::navigation_bar_bottom($start, $passo, $max);
return $ret;
}
public static function reference_list_tool($idute) {
$ret = "";
$ret.=" <div id=\"reference_list_tools\" style=\"display:block;\">\n";
$res_request_limit = $_SESSION['db']->execute("SELECT COUNT(*) FROM docdel WHERE DATE_FORMAT(dd_lastmodify, '%c') = MONTH(NOW()) AND (dd_stato_borr = " . getConstVar("BORR_CONS_DIRETTA") . " OR dd_stato_borr = " . getConstVar("BORR_NUOVO") . ") AND ut_id = " . $_SESSION['utente']->ut_id);
$request_limit = $_SESSION['db']->fetch_single($res_request_limit);
switch ($_SESSION['utente']->ut_id) {
case '1':
$aaaa = "<div class=\"alert alert-info\" role=\"alert\" align=\"center\"><span class=\"ri_titolopub\">" . getConstVar("dd_opereva") . ". -> " . $request_limit . getConstVar("dd_opereva_article_number") . "</span></div>";
$ret .= $aaaa;
$ret.= " <a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:nuovoRiferimento()\" title=\"" . getConstVar("INSERT_NEW_LINK_TITLE") . "\"><span class='glyphicon glyphicon-plus'></span><span style='padding-left:4px;'>" . getConstVar("INSERT_NEW") . "</span></a>\n";
break;
default:
if ($request_limit >= getConstVar("ARTICLES_LIMIT_PER_MONTH")) {
$ret.=" <script>alert(\"" . getConstVar("ARTICLES_LIMIT_PER_MONTH_MSG") . "\");</script><div class=\"alert alert-danger\" role=\"alert\" align=\"center\"><span class=\"ri_titolopub\">" . getConstVar("ARTICLES_LIMIT_PER_MONTH_MSG") . "</span></div>";
} else {
$ll = (int) getConstVar("ARTICLES_LIMIT_PER_MONTH") - (int) $request_limit;
$aaaa = "<div class=\"alert alert-info\" role=\"alert\" align=\"center\"><span class=\"ri_titolopub\">" . getConstVar("ARTICLES_LIMIT_PER_MONTH_REST") . " " . $ll . "</span></div>";
$ret .= $aaaa;
$ret.= " <a id=\"create_new\" class=\"orange smallest4 btn btn btn-success\" href=\"javascript:nuovoRiferimento()\" title=\"" . getConstVar("INSERT_NEW_LINK_TITLE") . "\"><span class='glyphicon glyphicon-plus'></span><span style='padding-left:4px;'>" . getConstVar("INSERT_NEW") . "</span></a>\n";
}
}
$ret.=" <div id=\"common_tools\">\n";
$ret.=" <a id=\"delete_selected\" class=\"orange smallest4 btn btn btn-danger\" href=\"javascript:delete_selected('action_bibliografia.php?op=delete')\" title=\"" . getConstVar("DELETE_SELECTED_LINK_TITLE") . "\"><span class='glyphicon glyphicon-remove'></span><span style='padding-left:4px;'>" . getConstVar("DELETE_SELECTED") . "</span></a>\n";
$ret.=" </div>\n";
$ret.=" <br class=\"clear_float\" />\n";
$ret.=" </div>\n";
return $ret;
}
private static function navigation_bar($idute, $label, $start, $passo, $max) {
$ret = "";
$ret.=" <div class=\"current_list_nav\">\n";
$ret.=Bibliografia::label_filter($idute, $label, $passo);
$ret.=Bibliografia::nav_control($start, $passo, $max);
$ret.=" </div>\n";
return $ret;
}
private static function navigation_bar_bottom($start, $passo, $max) {
$ret = "";
$ret.=" <div class=\"current_list_nav\">\n";
$ret.=Bibliografia::nav_control($start, $passo, $max);
$ret.=" </div>\n";
return $ret;
}
private static function label_filter($idute, $label, $passo) {
$ret = "";
$action = "onchange=\"javascript:update_references_by_label('action_bibliografia.php?op=aggiorna&start=0')\"";
// Ottiene l'elenco delle etichette per l'utente
$eti_arr = db_elenco("et_id", "ut_id=$idute");
//DIADOSIS TEAM Added translation for all requests
$tutti = array("0" => getConstVar("ALL_REQ"));
$eti_vis = $tutti;
if ($eti_arr != null)
$eti_vis+=$eti_arr;
$ret.=" <div id=\"display_manager\">\n";
$ret.=" <div id=\"bord14_l\">\n";
$ret.=" </div>\n";
$ret.=" " . getConstVar("DISPLAY_FILTER") . " \n";
$ret.=Form::getSelect("label", FALSE, $eti_vis, $label, null, " style='display:none;' class=\"form-control\" $action", " ", "\n");
$ret.=Bibliografia::range_select($passo);
$ret.=" " . getConstVar("AT_A_TIME") . " \n";
$ret.=" </div>\n";
return $ret;
}
/* --------------------------------------------- */
private static function nav_control($start, $passo, $max) {
$ret = "";
$ret.=" <div class=\"ref_list_nav\">\n";
$url = "javascript:update_references('action_bibliografia.php?op=aggiorna";
$prev = "";
$last = "";
$first = "";
$next = "";
$intervall = "";
if ($max == 0) {
} else {
if ($start + $passo < $max) {
$pos = $start + $passo;
$intervall = ($start + 1) . "<span class=\"normal\"> - </span>$pos<span class=\"normal\"> " . getConstVar("OF") . " </span>$max\n";
$next = $url . "&start=" . $pos . "')";
if ($max % $passo == 0)
$last = $max - $passo;
else
$last = $max - ($max % $passo);
$last = $url . "&start=" . $last . "')";
$ret.=" <a id=\"list_nav_rr\" class=\"orange\" href=\"$last\" title=\"\"><img style=\"display: none;\" src=\"\" alt=\"&gt;&gt;\" /></a>\n";
$ret.=" <a id=\"list_nav_r\" class=\"orange\" href=\"$next\" title=\"\"><img style=\"display: none;\" src=\"\" alt=\"&gt;\" /></a>\n";
$ret.=" <div>\n";
$ret.=" $intervall\n";
$ret.=" </div>\n";
}
else {
$intervall = ($start + 1) . " - $max " . getConstVar("OF") . " $max\n";
$ret.=" <div>\n";
$ret.=" $intervall\n";
$ret.=" </div>\n";
}
if ($start > 0) {
$first = $url . "&start=0')";
$pre = $start - $passo;
$prev = $url . "&start=" . $pre . "')";
$ret.=" <a id=\"list_nav_l\" class=\"orange\" href=\"$prev\" title=\"\"><img style=\"display: none;\" src=\"\" alt=\"&lt;\" /></a>\n";
$ret.=" <a id=\"list_nav_ll\" class=\"orange\" href=\"$first\" title=\"\"><img style=\"display: none;\" src=\"\" alt=\"&lt;&lt;\" /></a>\n";
}
}
$ret.=" </div>\n";
return $ret;
}
private static function range_select($passo) {
$action = "onchange=\"javascript:update_references_by_range('action_bibliografia.php?op=aggiorna&start=0')\"";
$passi["5"] = "5";
$passi["10"] = "10";
$passi["20"] = "20";
$passi["100"] = "100";
$ret = Form::getSelect("passo", FALSE, $passi, $passo, null, "style='width:100px; display:inline;' class=\"form-control\" $action", " ", "\n");
return $ret;
}
public static function print_list($post) {
$num_sel = count($post["idrif"]);
for ($i = 0; $i < $num_sel; $i++) {
$result = $_SESSION['db']->execute(
"SELECT *
FROM riferimento
WHERE ri_id = " . $post["idrif"][$i]
);
$cols = $_SESSION['db']->numcols($result);
for ($j = 0; $j < $cols; $j++) {
$flds[$j] = $_SESSION['db']->fieldname($result, $j);
}
$row = $_SESSION['db']->fetch($result);
echo "<div class=\"current_export_list_item\">" . $row["ri_au1"] . " " . $row["ri_au2"] . ", <BR/>Article: " . $row["ri_titolopart"] . ", <BR/>Journal: " . $row["ri_titolopub"] . ", <BR/>Vol " . $row["ri_vol"] . " (" . $row["ri_fasc"] . ") pp " . $row["ri_pagini"] . "-" . $row["ri_pagini"] .
(!is_null($row["ri_doi"]) ? "<BR/>DOI: " . $row["ri_doi"] : "") .
(!is_null($row["ri_pmid"]) ? "<BR/>PubMed ID: " . $row["ri_pmid"] : "") .
"</div><hr/>\n";
}
}
public static function label_manager($idute) {
$ret = "";
$ret.=" <div class='panel panel-default' id=\"label_manager\">\n";
$ret.=" <div class='panel-body'> <a id=\"manage_labels\" class=\"blue\" href=\"javascript:toggle_label_creator()\" title=\"" . getConstVar("LABEL_MANAGER_LINK_TITLE") . "\"></a>\n";
$ret.=" <div id=\"label_applyremove\">\n";
$ret.=Bibliografia::label_select($idute);
$ret.=" </div>\n";
$ret.=" </div> </div>\n";
return $ret;
}
private static function label_select($idute) {
$ret = "";
$ret.=" <div>\n";
$eti_arr = db_elenco("et_id", "ut_id=$idute");
$ret.=Form::getSelect("eti_coll", FALSE, $eti_arr, $_SESSION['label'], null, "class=\"form-control\"", "", "\n");
$ret.=" <a id=\"apply_label\" class=\"blue\" href=\"javascript:link_label('action_bibliografia.php?op=collega')\" title=\"" . getConstVar("APPLY_LINK_TITLE") . "\"><span>" . getConstVar("APPLY") . "</span></a>\n";
$ret.=" <a id=\"remove_label\" class=\"blue\" href=\"javascript:link_label('action_bibliografia.php?op=scollega')\" title=\"" . getConstVar("REMOVE_LINK_TITLE") . "\"><span>" . getConstVar("REMOVE") . "</span></a>\n";
$ret.=" </div>\n";
return $ret;
}
public static function getLabelOptions($idute, $selected_index = null) {
$eti_arr = db_elenco("et_id", "ut_id=$idute");
return Form::getSelectOptions($eti_arr, $selected_index);
}
public static function label_creator($idute) {
$myeti = db_elenco("et_id", "ut_id=$idute");
$eticount = sizeof($myeti);
$ret = " <div class=\"corn18_t-r\"></div>
<div class=\"corn18_b\">
<img src=\"images/mynilde/corn18_b-r.gif\" />
</div>
<div>
<div id=\"labels_state\" class=\"grey smaller2\">
" . getConstVar("LABELS_CREATED") . " <span class=\"bold\">$eticount</span> " . getConstVar("LABELS")
. " <span class=\"grey bold\">/ " . getConstVar("MAX_USER_LABELS") . ".</span>
</div>
";
if ($eticount < getConstVar("MAX_USER_LABELS")) {
$et = new Etichetta();
$ret.=$et->nuovo();
}
$ret.=" <table id=\"labels_list\">";
if ($eticount == 0)
$ret.=" <tr>
<td>" . getConstVar("NOETI") . ".</td>
</tr>
";
else {
foreach ($myeti as $label_id => $label_name) {
$ret.= "<tr>
<td id=\"label_$label_id\" class=\"label_list_element\">
";
$ret.=Etichetta::render($label_id, $label_name);
$ret.= " </td>
</tr>
";
}
}
$ret.=" </table>
</div>
";
return $ret;
}
public static function history_dd($idute) {
$result = $_SESSION['db']->execute(
"SELECT ri_titolopub, ri_titolopart, ri_au1, ri_anno, rm_datarichie, rm_dataeva
FROM refman ref, riferimento rif
WHERE ref.ut_id = " . $idute . " AND rm_stato != " . getConstVar("Rif_NonRichiesto") . " AND rm_stato != " . getConstVar("Rif_RichiestaAperta") . " AND ref.ri_id = rif.ri_id
ORDER BY rm_datarichie DESC"
);
echo "<table id=\"current_history_dd_list_range\">\n";
$cols = $_SESSION['db']->numcols($result);
for ($j = 0; $j < $cols; $j++) {
$flds[$j] = $_SESSION['db']->fieldname($result, $j);
}
echo "<tr>\n";
for ($j = 0; $j < 5; $j++)
echo "<th>- " . $flds[$j] . " -</th>\n";
echo "</tr>\n";
$i = 0;
while ($row = $_SESSION['db']->fetch($result)) {
if ($i % 2 == 0)
$c = "item1";
else
$c = "item2";
echo "<tr class=\"$c\">\n";
for ($j = 0; $j < 5; $j++)
echo "<td>" . $row[$flds[$j]] . "</td>\n";
echo "</tr>\n";
$i++;
}
echo "</table>" . "\n";
}
public static function reference_summary($idute) {
$ref_count = $_SESSION['db']->execute(
"SELECT count( rm_id ) AS num , rm_stato
FROM `refman`
WHERE ut_id=" . $idute . "
GROUP BY rm_stato
ORDER BY rm_stato"
);
$num_status[getConstVar("Rif_NonRichiesto")] = 0;
$num_status[getConstVar("Rif_RichiestaAperta")] = 0;
$num_status[getConstVar("Rif_BiblioChiedeConferma")] = 0;
$num_status[getConstVar("Rif_RichiestaChiusa_Eva")] = 0;
$num_status[getConstVar("Rif_RichiestaChiusa_Ineva")] = 0;
if ($_SESSION['db']->numrows($ref_count) != 0) {
while ($row = $_SESSION['db']->fetch($ref_count)) {
$num_status[$row["rm_stato"]] = $row["num"];
}
}
$num_status[getConstVar("Rif_Tutti_Req")] = $num_status[getConstVar("Rif_RichiestaAperta")] + $num_status[getConstVar("Rif_BiblioChiedeConferma")] + $num_status[getConstVar("Rif_RichiestaChiusa_Eva")] + $num_status[getConstVar("Rif_RichiestaChiusa_Ineva")];
$num_status[getConstVar("Rif_Tutti")] = $num_status[getConstVar("Rif_Tutti_Req")] + $num_status[getConstVar("Rif_NonRichiesto")];
return $num_status;
}
}
?>

Event Timeline