Esempio n. 1
0
 /**
  * ページ名を変更する(ソースコードを移動する)。
  * 
  * @param	Page	$page	変更前ページ
  * @param	Page	$newpage	変更後ページ
  * @return	bool	成功すればtrue。
  */
 protected function _rename($page, $newpage)
 {
     if ($newpage->isexist()) {
         return false;
     }
     $db = DataBase::getinstance();
     $db->begin();
     $mail = Mail::getinstance();
     $old = $mail->setsending(false);
     $newpage->write($page->getsource());
     $page->write('');
     $mail->setsending($old);
     try {
         Attach::getinstance($page)->move($newpage);
     } catch (DBException $e) {
         $db->rollback();
         return false;
     }
     $this->notify(array($page, $newpage));
     $this->mail($page, $newpage);
     $db->commit();
     return true;
 }
Esempio n. 2
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()));
}