Example #1
0
/**
 * Pageの内容をを内部表現形式に変換する。
 * 
 * @param	Page	$page
 * @return	T_Body
 */
function parse_Page($page)
{
    $_source = mb_ereg_replace('\\r?\\n', "\n", $page->getsource());
    return T_Body::parse($_source, new Context($page->getpagename()));
}
Example #2
0
 /**
  * Move attachiment file to another page.
  * 
  * @param    Page    $newpage
  */
 function move($newpage)
 {
     $db = DataBase::getInstance();
     $from = $this->page->getpagename();
     $to = $newpage->getpagename();
     $_from = $db->escape($from);
     $_to = $db->escape($to);
     $query = "UPDATE attach SET pagename = '{$_to}'";
     $query .= " WHERE pagename = '{$_from}'";
     $db->fetch($db->query($query));
     $this->notify(array('move', $from, $to));
 }
Example #3
0
 /**
  * リンクされる側を軸にして逆リンクを更新する。
  * 
  * @param	Page	$linked	リンクされる側のページ名。
  */
 function refreshlinked($linked)
 {
     $db = DataBase::getinstance();
     $db->begin();
     $_linked = $db->escape($linked->getpagename());
     $db->query("DELETE FROM linklist WHERE linked  = '{$_linked}'");
     $query = "SELECT pagename FROM page";
     $query .= " WHERE (source like '%{$_linked}%')";
     $result = $db->query($query);
     while ($row = $db->fetch($result)) {
         $this->refreshlinker(Page::getinstance($row['pagename']));
     }
     $db->commit();
 }