Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;
 }
Example #5
0
 /**
 * 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;
 }
Example #6
0
 /**
 *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;
 }