function getArticles() { $xml = $this->getXML(); $XML_XSL = new XSL_XML(); $content = $XML_XSL->xml_xsl($xml, dirname(__FILE__) . "/../../xsl/similarToArray.xsl"); $content = str_replace('<?xml version="1.0" encoding="ISO-8859-1"?>', '', $content); $articles = split('\\|SIMILAR_SPLIT\\|', $content); $article = new Article(); for ($i = 0; $i < count($articles) - 1; $i++) { $articles[$i] = split('\\|ITEM_SPLIT\\|', $articles[$i]); if (trim($articles[$i][0]) != '') { $article->setPID(trim($articles[$i][0])); $article->setPublicationDate(trim($articles[$i][1])); $article->setRelevance(trim($articles[$i][2])); $article->setURL(trim($articles[$i][3])); $article->setTitle(trim($articles[$i][4])); $article->setSerial(trim($articles[$i][5])); $article->setVolume(trim($articles[$i][6])); $article->setNumber(trim($articles[$i][7])); $article->setYear(trim($articles[$i][8])); $article->setSuppl(trim($articles[$i][9])); $article->setAuthorXML(str_replace("\n", "", trim($articles[$i][10]))); $article->setKeywordXML(trim($articles[$i][11])); $arrArticles[$i] = $article; } } // die(print_r($arrArticles)); return $arrArticles; }
function getArticle() { $article = new Article(); if (!$this->domLiteDocument) { die("not domLiteDocument..."); } $temp =& $this->domLiteDocument->getElementsByPath("/SERIAL"); for ($i = 0; $i < $temp->getLength(); $i++) { $item = $temp->item($i); $article->setSerial($this->getNodeText($item, 'TITLEGROUP/TITLE')); } $temp =& $this->domLiteDocument->getElementsByPath("//ISSUEINFO"); for ($i = 0; $i < $temp->getLength(); $i++) { $item = $temp->item($i); $article->setVolume($this->getNodeAttribute($item, 'VOL')); $article->setNumber($this->getNodeAttribute($item, 'NUM')); $article->setSuppl($this->getNodeAttribute($item, 'SUPPL')); $article->setYear($this->getNodeAttribute($item, 'YEAR')); } $temp =& $this->domLiteDocument->getElementsByPath("//ARTICLE"); for ($i = 0; $i < $temp->getLength(); $i++) { $item = $temp->item($i); $article->setPublicationDate($this->getNodeText($item, 'publication-date')); $article->setTitle($this->getNodeXML($item, 'TITLES')); $article->setAuthorXML($this->getNodeXML($item, 'AUTHORS')); $article->setKeywordXML($this->getNodeXML($item, 'KEYWORDS')); $article->setAbstractXML($this->getNodeXML($item, 'ABSTRACT')); } return $article; }
function getMyProfileArticleList($article_profile) { // 1 - SELECT nos profiles do Usuarios // 2 - Pra cada Profile: pego a lista de artigos (olho na profiele_article // 3 - devolvo array de perfis com os artigos $this->setMyProfiles($article_profile->getUserID()); $profiles_result = $this->getMyProfiles(); //$articleProfileList[] = array(); for ($p = 0; $p < count($profiles_result); $p++) { $profile_id = $profiles_result[$p]['profile_id']; $profile_name = $profiles_result[$p]['profile_name']; $articleProfileList[intval($profile_id)] = array(); $order = $_GET['order']; switch ($order) { case "date": $order_by = " ORDER BY articles.publication_date desc"; break; case "relevance": $order_by = " ORDER BY relevance desc"; break; default: $order_by = null; } $where_new = isset($_GET['new']) ? ' and is_new=1' : null; $strsql = "SELECT profile_article.*,articles.publication_date FROM profile_article,articles WHERE articles.PID = profile_article.PID and profile_id = '" . $profile_id . "'" . $where_new . " " . $order_by; $result = $this->_db->databaseQuery($strsql); for ($i = 0; $i < count($result); $i++) { $relevance = $result[$i]['relevance']; $query_article = "SELECT * FROM articles WHERE PID = '" . $result[$i]['PID'] . "' LIMIT 1"; $article_result = $this->_db->databaseQuery($query_article); $articleProfile = new MyProfileArticle(); $article = new Article(); $article->setPID($article_result[0]['PID']); $article->setURL($article_result[0]['url']); $article->setTitle($article_result[0]['title']); $article->setSerial($article_result[0]['serial']); $article->setVolume($article_result[0]['volume']); $article->setNumber($article_result[0]['number']); $article->setSuppl($article_result[0]['suppl']); $article->setYear($article_result[0]['year']); $article->setAuthorXML($article_result[0]['authors_xml']); $article->setKeywordXML($article_result[0]['keywords_xml']); $article->setRelevance($relevance); $article->setPublicationDate($article_result[0]['publication_date']); array_push($articleProfileList[$profile_id], array($profile_name, $article)); //die(var_dump($articleProfileList)); } } //var_dump($articleProfileList);die; return $articleProfileList; }
function oldgetArticles() { $tmp =& $this->domLiteDocument->getElementsByPath("/related/relatedlist/article"); for ($i = 0; $i < $tmp->getLength(); $i++) { $item = $tmp->item($i); $article = new Article(); $article->setPID($this->getNodeAttribute($item, 'pid')); $article->setURL($this->getURL($this->getNodeAttribute($item, 'source'), $this->getNodeAttribute($item, 'country'), $article->getPID())); $article->setTitle($this->getNodeXML($item, 'titles')); $article->setSerial($this->getNodeText($item, 'serial')); $article->setVolume($this->getNodeText($item, 'volume')); $article->setNumber($this->getNodeText($item, 'number')); $article->setSuppl($this->getNodeText($item, 'supplement')); $article->setYear($this->getNodeText($item, 'year')); $article->setAuthorXML($this->getNodeXML($item, 'authors')); $article->setKeywordXML($this->getNodeXML($item, 'keywords')); $articles[] = $article; } return $articles; }
/** * Carrega nos campos da classe os valores que estão armazenados no Banco de Dados * chamada pela getArticle para devolver o objeto artigo para a classe Article * @param integer $ID IDentificador do usuário * @returns integer $sucess 1 em caso de sucesso, 0 em caso de erro */ function loadArticle($p) { $article = new Article(); $article->setPID($p['PID']); $article->setTitle($p['title']); $article->setSerial($p['serial']); $article->setVolume($p['volume']); $article->setNumber($p['number']); $article->setSuppl($p['suppl']); $article->setYear($p['year']); $article->setUrl($p['url']); $article->setAuthorXML($p['authors_xml']); $article->setKeywordXML($p['keywords_xml']); $article->setAbstractXML($p['abstract_xml']); $article->setWpPostID($p['wp_post_id']); $article->setWpURL($p['wp_url']); return $article; }
/** *Retorna um array de objetos Shelf *Lê a base de dados, e retorna um array de objetos Shelf dos artigos marcados para alerta de acesso *@param Shelf shelf objeto shelf que contém o ID do usuário que se quer ter a shelf carregada *@returns mixed Array de objetos Shelf */ function getAccessedAlertList($shelf) { $strsql = "SELECT * FROM user_shelf, articles WHERE user_id = '" . $shelf->getUserID() . "' and user_shelf.pid = articles.pid and user_shelf.access_stat = 1"; $result = $this->_db->databaseQuery($strsql); $shelfList = array(); for ($i = 0; $i < count($result); $i++) { $shelf = new Shelf(); $article = new Article(); $article->setPID($result[$i]['PID']); $article->setURL($result[$i]['url']); $article->setTitle($result[$i]['title']); $article->setSerial($result[$i]['serial']); $article->setVolume($result[$i]['volume']); $article->setNumber($result[$i]['number']); $article->setSuppl($result[$i]['suppl']); $article->setYear($result[$i]['year']); $article->setAuthorXML($result[$i]['authors_xml']); $article->setKeywordXML($result[$i]['keywords_xml']); $shelf->setPID($result[$i]['PID']); $shelf->setCitedStat($result[$i]['cited_stat']); $shelf->setAccessStat($result[$i]['access_stat']); $shelf->setUserID($result[$i]['user_id']); $shelf->setVisible($result[$i]['visible']); $shelf->setArticle($article); array_push($shelfList, $shelf); } return $shelfList; }