function indexKeyword($lang = '', $key = '') { global $smarty, $db; // ** select language if (!$lang) { $smarty->assign('body', $smarty->fetch('keywordsellang.tpl')); return; } // ** select key if (!$key) { $query = "select code, keyword_{$lang} keyword\n from keyword\n order by keyword_{$lang}"; $result =& $db->queryAll($query); foreach ($result as $row) { $key[] = array('code' => $row['code'], 'keyword' => $row['keyword']); } $arr = generateIndex($key, 'keyword'); $smarty->assign('keyword', $arr); $smarty->assign('body', $smarty->fetch('keywordselkey.tpl')); return; } // ** show papers $query = "select keyword_spanish spanish, keyword_english english\n from keyword \n where code = " . $db->quote($key); $keyword =& $db->queryRow($query); $query = "select p.code code, p.paper_title title\n from paper p, terms t\n where t.code_paper = p.code and\n t.code_keyword = " . $db->quote($key); $result =& $db->queryAll($query); /* Iteration to get all info about the paper */ foreach ($result as $row) { /* Iteration to get all paper's author(s) */ $query = "select p.person_name name, p.person_lastname lastname, \n p.person_webpage webpage \n from person p, authoring at \n where at.code_author = p.code and at.code_paper = " . $db->quote($row['code']) . "order by at.author_order"; $tmp_result =& $db->queryAll($query); foreach ($tmp_result as $tmp_row) { $author[] = array('name' => $tmp_row['name'], 'lastname' => $tmp_row['lastname'], 'webpage' => $tmp_row['webpage']); } /* Here we put together all the information */ $paper[] = array('code' => $row['code'], 'title' => $row['title'], 'authors' => $author); unset($author); } $smarty->assign(array('paper' => $paper, 'keyword' => $keyword)); $smarty->assign('body', $smarty->fetch('keywordindex.tpl')); }
} } else { foreach ($xm as $item) { echo ' <item> <title>' . $item->name . '</title> <link>' . webpath . 'wp.php?items=' . $item->catId . '</link> <media>' . $item->logo . '</media> <desc>' . $item->description . '</desc> <long>-</long> <date>-</date> </item> '; } } } function generateFooter() { echo <<<FOO </channel> </rss> FOO; } if (isset($_GET['items'])) { showItems($_GET['items']); generateFooter(); } else { generateIndex(); generateIndexHeader(); generateFooter(); }
function indexKeyword($lang = '', $key = '') { global $smarty, $db; // ** select language if (!$lang) { $smarty->assign('body', $smarty->fetch('keywordsellang.tpl')); return; } // ** select key if (!$key) { $query = $db->prepare("select code, keyword_{$lang} keyword\n from keyword\n order by keyword_{$lang}"); $result =& $db->execute($query); if (PEAR::isError($db)) { die($db->getMessage()); } while ($result->fetchInto($row)) { $key[] = array('code' => $row['code'], 'keyword' => $row['keyword']); } $arr = generateIndex($key, 'keyword'); $smarty->assign('keyword', $arr); $smarty->assign('body', $smarty->fetch('keywordselkey.tpl')); return; } // ** show papers $query = $db->prepare("select keyword_spanish spanish, keyword_english english\n from keyword \n where code = ?"); $result =& $db->execute($query, $key); if (PEAR::isError($db)) { die($db->getMessage()); } $result->fetchInto($keyword); $query = $db->prepare("select p.code code, p.paper_title title\n from paper p, terms t\n where t.code_paper = p.code and\n t.code_keyword = ?"); $result =& $db->execute($query, $key); if (PEAR::isError($db)) { die($db->getMessage()); } /* Iteration to get all info about the paper */ while ($result->fetchInto($row)) { /* Iteration to get all paper's author(s) */ $query = $db->prepare("select p.person_name name, p.person_lastname lastname, \n p.person_webpage webpage \n from person p, authoring at \n where at.code_author = p.code and at.code_paper = ?\n order by at.author_order"); $tmp_result =& $db->execute($query, $row['code']); if (PEAR::isError($db)) { die($db->getMessage()); } while ($tmp_result->fetchInto($tmp_row, DB_FETCHMODE_ASSOC)) { $author[] = array('name' => $tmp_row['name'], 'lastname' => $tmp_row['lastname'], 'webpage' => $tmp_row['webpage']); } /* Here we put together all the information */ $paper[] = array('code' => $row['code'], 'title' => $row['title'], 'authors' => $author); unset($author); } $smarty->assign(array('paper' => $paper, 'keyword' => $keyword)); $smarty->assign('body', $smarty->fetch('keywordindex.tpl')); }