Example #1
0
 /**
  * リンクする側を軸にして逆リンクを更新する。
  * 
  * @param	Page	$linker	リンクする側のページ名。
  */
 function refreshlinker($linker)
 {
     //隠しページからのリンク情報は出さない。
     if ($linker->ishidden()) {
         return;
     }
     $db = DataBase::getinstance();
     $db->begin();
     $body = parse_Page($linker);
     $seeker = new LinkSeeker($linker);
     $body->accept($seeker);
     $list = $seeker->getlist();
     $_linker = $db->escape($linker->getpagename());
     $db->query("DELETE FROM linklist WHERE linker = '{$_linker}'");
     foreach ($list as $linkedname => $times) {
         if ($linker->getpagename() != $linkedname) {
             $_linked = $db->escape($linkedname);
             $query = "INSERT INTO linklist (linker, linked, times)";
             $query .= " VALUES('{$_linker}', '{$_linked}', {$times})";
             $db->query($query);
         }
     }
     $db->commit();
 }