Changeset 123

Show
Ignore:
Timestamp:
05/06/06 20:37:02 (3 years ago)
Author:
crizin
Message:

#83
리더 - 피드 정보 저장할때 UTF8 validation

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/model/reader.php

    r122 r123  
    387387        return array(3, null, null); 
    388388    if ($xmls->getAttribute('/rss', 'version')) { 
    389         $feed['blogURL'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rss/channel/link')))); 
    390         $feed['title'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rss/channel/title')))); 
    391         $feed['description'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rss/channel/description')))); 
     389        $feed['blogURL'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rss/channel/link'))))); 
     390        $feed['title'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rss/channel/title'))))); 
     391        $feed['description'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rss/channel/description'))))); 
    392392        if (Validator::language($xmls->getValue('/rss/channel/language'))) { 
    393393            $feed['language'] = $xmls->getValue('/rss/channel/language'); 
     
    398398        $feed['modified'] = gmmktime(); 
    399399    } else if ($xmls->getAttribute('/feed', 'version')) { 
    400         $feed['blogURL'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getAttribute('/feed/link', 'href')))); 
    401         $feed['title'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/feed/title')))); 
    402         $feed['description'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/feed/tagline')))); 
     400        $feed['blogURL'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getAttribute('/feed/link', 'href'))))); 
     401        $feed['title'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/feed/title'))))); 
     402        $feed['description'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/feed/tagline'))))); 
    403403        if(Validator::language($xmls->getAttribute('/feed', 'xml:lang'))) 
    404404            $feed['language'] = $xmls->getAttribute('/feed', 'xml:lang'); 
     
    408408    } else if ($xmls->getAttribute('/rdf:RDF', 'xmlns')) { 
    409409        if($xmls->getAttribute('/rdf:RDF/channel/link', 'href')) { 
    410             $feed['blogURL'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getAttribute('/rdf:RDF/channel/link', 'href')))); 
     410            $feed['blogURL'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getAttribute('/rdf:RDF/channel/link', 'href'))))); 
    411411        } else if($xmls->getValue('/rdf:RDF/channel/link')) { 
    412             $feed['blogURL'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rdf:RDF/channel/link')))); 
     412            $feed['blogURL'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rdf:RDF/channel/link'))))); 
    413413        } else 
    414414            $feed['blogURL'] = ''; 
    415         $feed['title'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rdf:RDF/channel/title')))); 
    416         $feed['description'] = mysql_escape_string(mysql_lessen(stripHTML($xmls->getValue('/rdf:RDF/channel/description')))); 
     415        $feed['title'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rdf:RDF/channel/title'))))); 
     416        $feed['description'] = mysql_escape_string(mysql_lessen(UTF8::correct(stripHTML($xmls->getValue('/rdf:RDF/channel/description'))))); 
    417417        if(Validator::language($xmls->getValue('/rdf:RDF/channel/dc:language'))) 
    418418            $feed['language'] = $xmls->getValue('/rdf:RDF/channel/dc:language'); 
     
    434434    if ($xmls->getAttribute('/rss', 'version')) { 
    435435        for ($i = 0; $link = $xmls->getValue("/rss/channel/item[$i]/link"); $i++) { 
    436             $item = array('permalink' => rawurldecode($link)); 
    437             if (!$item['author'] = $xmls->getValue("/rss/channel/item[$i]/author")) 
    438                 $item['author'] = $xmls->getValue("/rss/channel/item[$i]/dc:creator"); 
    439             $item['title'] = $xmls->getValue("/rss/channel/item[$i]/title"); 
    440             if (!$item['description'] = $xmls->getValue("/rss/channel/item[$i]/content:encoded")) 
    441                 $item['description'] = $xmls->getValue("/rss/channel/item[$i]/description"); 
     436            $item = array('permalink' => rawurldecode(UTF8::correct($link))); 
     437            if (!$item['author'] = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/author"))) 
     438                $item['author'] = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/dc:creator")); 
     439            $item['title'] = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/title")); 
     440            if (!$item['description'] = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/content:encoded"))) 
     441                $item['description'] = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/description")); 
    442442            $item['tags'] = array(); 
    443             for ($j = 0; $tag = $xmls->getValue("/rss/channel/item[$i]/category[$j]"); $j++) 
     443            for ($j = 0; $tag = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/category[$j]")); $j++) 
    444444                if(stripHTML($tag) != '') 
    445445                    array_push($item['tags'], stripHTML($tag)); 
    446             for ($j = 0; $tag = $xmls->getValue("/rss/channel/item[$i]/subject[$j]"); $j++) 
     446            for ($j = 0; $tag = UTF8::correct($xmls->getValue("/rss/channel/item[$i]/subject[$j]")); $j++) 
    447447                if(stripHTML($tag) != '') 
    448448                    array_push($item['tags'], stripHTML($tag)); 
    449449            $item['enclosures'] = array(); 
    450             for ($j = 0; $url = $xmls->getAttribute("/rss/channel/item[$i]/enclosure[$j]", 'url'); $j++) 
     450            for ($j = 0; $url = UTF8::correct($xmls->getAttribute("/rss/channel/item[$i]/enclosure[$j]", 'url')); $j++) 
    451451                if(stripHTML($url) != '') 
    452452                    array_push($item['enclosures'], stripHTML($url)); 
     
    460460        } 
    461461    } else if ($xmls->getAttribute('/feed', 'version')) { 
    462         for ($i = 0; $link = $xmls->getValue("/feed/entry[$i]/id"); $i++) { 
    463             for ($j = 0; $rel = $xmls->getAttribute("/feed/entry[$i]/link[$j]", 'rel'); $j++) { 
     462        for ($i = 0; $link = UTF8::correct($xmls->getValue("/feed/entry[$i]/id")); $i++) { 
     463            for ($j = 0; $rel = UTF8::correct($xmls->getAttribute("/feed/entry[$i]/link[$j]", 'rel')); $j++) { 
    464464                if($rel == 'alternate') { 
    465                     $link = $xmls->getAttribute("/feed/entry[$i]/link[$j]", 'href'); 
     465                    $link = UTF8::correct($xmls->getAttribute("/feed/entry[$i]/link[$j]", 'href')); 
    466466                    break; 
    467467                } 
    468468            } 
    469             $item = array('permalink' => rawurldecode($link)); 
    470             $item['author'] = $xmls->getValue("/feed/entry[$i]/author/name"); 
    471             $item['title'] = $xmls->getValue("/feed/entry[$i]/title"); 
    472             if(!$item['description'] = $xmls->getValue("/feed/entry[$i]/content")) 
    473                 $item['description'] = $xmls->getValue("/feed/entry[$i]/summary"); 
     469            $item = array('permalink' => rawurldecode(UTF8::correct($link))); 
     470            $item['author'] = UTF8::correct($xmls->getValue("/feed/entry[$i]/author/name")); 
     471            $item['title'] = UTF8::correct($xmls->getValue("/feed/entry[$i]/title")); 
     472            if(!$item['description'] = UTF8::correct($xmls->getValue("/feed/entry[$i]/content"))) 
     473                $item['description'] = UTF8::correct($xmls->getValue("/feed/entry[$i]/summary")); 
    474474            $item['tags'] = array(); 
    475             for ($j = 0; $tag = $xmls->getValue("/feed/entry[$i]/dc:subject[$j]"); $j++) 
     475            for ($j = 0; $tag = UTF8::correct($xmls->getValue("/feed/entry[$i]/dc:subject[$j]")); $j++) 
    476476                if(stripHTML($tag) != '') 
    477477                    array_push($item['tags'], stripHTML($tag)); 
    478478            $item['enclosures'] = array(); 
    479             for ($j = 0; $url = $xmls->getAttribute("/feed/entry[$i]/enclosure[$j]", 'url'); $j++) 
     479            for ($j = 0; $url = UTF8::correct($xmls->getAttribute("/feed/entry[$i]/enclosure[$j]", 'url')); $j++) 
    480480                if(stripHTML($url) != '') 
    481481                    array_push($item['enclosures'], stripHTML($url)); 
     
    485485    } else if ($xmls->getAttribute('/rdf:RDF', 'xmlns')) { 
    486486        for ($i = 0; $link = $xmls->getValue("/rdf:RDF/item[$i]/link"); $i++) { 
    487             $item = array('permalink' => rawurldecode($link)); 
    488             $item['author'] = $xmls->getValue("/rdf:RDF/item[$i]/dc:creator"); 
    489             $item['title'] = $xmls->getValue("/rdf:RDF/item[$i]/title"); 
    490             if (!$item['description'] = $xmls->getValue("/rdf:RDF/item[$i]/content:encoded")) 
    491                 $item['description'] = $xmls->getValue("/rdf:RDF/item[$i]/description"); 
     487            $item = array('permalink' => rawurldecode(UTF8::correct($link))); 
     488            $item['author'] = UTF8::correct($xmls->getValue("/rdf:RDF/item[$i]/dc:creator")); 
     489            $item['title'] = UTF8::correct($xmls->getValue("/rdf:RDF/item[$i]/title")); 
     490            if (!$item['description'] = UTF8::correct($xmls->getValue("/rdf:RDF/item[$i]/content:encoded"))) 
     491                $item['description'] = UTF8::correct($xmls->getValue("/rdf:RDF/item[$i]/description")); 
    492492            $item['tags'] = array(); 
    493493            $item['enclosures'] = array();