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;
 }
 protected function loadOne($file)
 {
     $xml = new SimpleXMLElement($file, 0, true);
     if ((string) $xml->head->title == null) {
         return null;
     }
     $article = new Article();
     foreach ($xml->head->meta as $meta) {
         $name = (string) $meta['name'];
         $content = (string) $meta['content'];
         switch ($name) {
             case 'date':
                 $article->setPublicationDate(new DateTime($content));
                 break;
             case 'author':
                 $article->setAuthor($content);
                 break;
         }
     }
     $article->setTitle((string) $xml->head->title);
     $article->setHash($this->getHash($article->getTitle()));
     $content = "";
     foreach ($xml->body->children() as $child) {
         $content .= $child->asXml();
     }
     $article->setContent($content);
     return $article;
 }
Example #4
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;
 }