本文整理匯總了PHP中Draft::getText方法的典型用法代碼示例。如果您正苦於以下問題:PHP Draft::getText方法的具體用法?PHP Draft::getText怎麽用?PHP Draft::getText使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Draft
的用法示例。
在下文中一共展示了Draft::getText方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: execute
function execute($par)
{
global $wgOut, $wgRequest, $wgParser, $wgUser, $wgFilterCallback, $wgCookiePath, $wgCookieDomain, $wgCookieSecure;
$wgOut->disable();
// build the article which we are about to save
$t = Title::newFromUrl($wgRequest->getVal('target'));
$a = new Article($t);
$action = $wgRequest->getVal('eaction');
wfDebug("Html5Editor::execute called with {$action}\n");
// process the edit update
if ($action == 'get-vars') {
$wgOut->disable();
$response = array('edittoken' => $wgUser->editToken(), 'edittime' => $a->getTimestamp(true), 'drafttoken' => wfGenerateToken(), 'olddraftid' => 0);
// do they already have a draft saved?
$drafts = Draft::getDrafts($t, $wgUser->getID());
if ($drafts) {
// do we only select an html5 draft? probably not.
// for loop here in case we want to display multiple drafts of same article
$response['olddraftid'] = $drafts[0]->getID();
}
print json_encode($response);
return;
} else {
if ($action == 'load-draft') {
$draftid = $wgRequest->getVal('draftid');
$draft = new Draft($draftid);
if (!$draft->exists()) {
wfLoadExtensionMessages("Html5editor");
$response = array('error' => wfMsg('h5e-draft-does-not-exist', $draftid), 'html' => '');
wfDebug("DRAFT: {$draftid} does not exist \n");
} else {
$text = $draft->getText();
$html = $this->parse($t, $a, $text);
$response = array(error => '', 'html' => $html);
}
print json_encode($response);
return;
} else {
if ($action == 'save-draft') {
$token = $wgRequest->getVal('edittoken');
if ($wgUser->matchEditToken($token)) {
wfDebug("Html5Editor::execute save-draft edit token ok!\n");
$oldtext = $a->getContent();
$html = $wgRequest->getVal('html');
$newtext = $this->convertHTML2Wikitext($html, $oldtext);
$draftid = $wgRequest->getVal('draftid', null);
$draft = null;
// 'null' apparently is what javascript is giving us. doh.
if (!$draftid || preg_match("@[^0-9]@", $draftid)) {
wfDebug("Html5Editor::execute getting draft id from title \n");
$draftid = self::getDraftIDFromTitle($t);
}
if (!$draftid || $draftid == 'null') {
$draft = new Draft();
} else {
$draft = Draft::newFromID($draftid);
}
wfDebug("Html5Editor::execute got draft id {$draftid} \n");
$draft->setTitle($t);
//$draft->setStartTime( $wgRequest->getText( 'wpStarttime' ) );
$draft->setEditTime($wgRequest->getText('edittime'));
$draft->setSaveTime(wfTimestampNow());
$draft->setText($newtext);
$draft->setSummary($wgRequest->getText('editsummary'));
$draft->setHtml5(true);
//$draft->setMinorEdit( $wgRequest->getInt( 'wpMinoredit', 0 ) );
// Save draft
$draft->save();
wfDebug("Html5Editor::execute saved draft with id {$draft->getID()} and text {$newtext} \n");
$response = array('draftid' => $draft->getID());
print json_encode($response);
return;
} else {
wfDebug("Html5Editor::execute save-draft edit token BAD {$token} \n");
$response = array('error' => 'edit token bad');
print json_encode($response);
return;
}
return;
} else {
if ($action == 'save-summary') {
// this implementation could have a few problems
// 1. if a user is editing the article in separate windows, it will
// only update the last edit
// 2. Could be easy to fake an edit summary save, but is limited to
// edits made by the user
/// 3. There's no real 'paper' trail of the saved summary
// grab the cookie with the rev_id
global $wgCookiePrefix;
if (isset($_COOKIE["{$wgCookiePrefix}RevId" . $t->getArticleID()])) {
$revid = $_COOKIE["{$wgCookiePrefix}RevId" . $t->getArticleID()];
wfDebug("AXX: updating revcomment {$revid} \n");
$dbw = wfGetDB(DB_MASTER);
$summary = "updating from html5 editor, " . $wgRequest->getVal('summary');
$dbw->update('revision', array('rev_comment' => $summary), array('rev_id' => $revid, 'rev_user_text' => $wgUser->getName()), "Html5Editor::saveComment", array("LIMIT" => 1));
$dbw->update('recentchanges', array('rc_comment' => $summary), array('rc_this_oldid' => $revid, 'rc_user_text' => $wgUser->getName()), "Html5Editor::saveComment", array("LIMIT" => 1));
} else {
wfDebug("AXX: NOT updating revcomment, why\n");
}
return;
//.........這裏部分代碼省略.........