Beispiel #1
0
 /**
  * Retrieves and stores incoming links for a page, and
  * incoming link count and pagerank of each incoming link.
  *
  * @return null
  */
 public function site_page_update()
 {
     $db = DB::connect();
     $url = $_GET['url'];
     for ($start = 1; $start <= 1000; $start += 100) {
         $params = array('start' => $start, 'query' => $url);
         $data = Yahoo::get_inlink_data($params);
         foreach ($data['ResultSet']['Result'] as $page) {
             $title = mysql_escape_string($page['Title']);
             $linking_page = mysql_escape_string($page['Url']);
             $pagerank = Google::get_pagerank($linking_page);
             $q = "SELECT COUNT(1) FROM inlink WHERE url = '{$linking_page}'";
             if ($db->query($q)->fetchColumn() == 0) {
                 $db->exec("INSERT INTO inlink VALUES('','{$url}','{$linking_page}','{$title}','{$pagerank}','0')");
             } else {
                 $db->exec("UPDATE inlink SET inlink_count='{$incoming_links}',pagerank='{$pagerank}' WHERE url = '{$linking_page}' LIMIT 1");
             }
             // @todo this should be a part of the preceding INSERT query
             $inlink_count = Yahoo::get_inlink_count(array('query' => $linking_page));
             $db->exec("UPDATE inlink SET inlink_count='{$inlink_count}' WHERE url = '{$linking_page}' LIMIT 1");
         }
     }
     // redirect to site subpage page
     header('HTTP/1.1 302 Found');
     header("Location: " . Options::get('base_url') . "site/page/?url=" . urlencode($url));
     exit;
 }
Beispiel #2
0
 /**
  * Updates PageRank and inlink count for the Page.
  *
  * @return null
  */
 public function update_statistics()
 {
     $db = DB::connect();
     $pagerank = Google::get_pagerank($this->url);
     $db->exec("INSERT INTO page_data VALUES({$this->id}, '0', NOW(), {$pagerank})");
     $inlink_count = Yahoo::get_inlink_count(array('query' => $this->url));
     $db->exec("INSERT INTO page_data VALUES({$this->id}, '1', NOW(), {$inlink_count})");
 }