externaledit.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 78 行

PHP
78
字号
<?php/** * License: Public domain * * @author Erik Moeller <moeller@scireview.de> * @package MediaWiki *//** * * @package MediaWiki * * Support for external editors to modify both text and files * in external applications. It works as follows: MediaWiki * sends a meta-file with the MIME type 'application/x-external-editor' * to the client. The user has to associate that MIME type with * a helper application (a reference implementation in Perl * can be found in extensions/ee), which will launch the editor, * and save the modified data back to the server. * */class ExternalEdit {	function ExternalEdit ( $article, $mode ) {		global $wgInputEncoding;		$this->mArticle =& $article;		$this->mTitle =& $article->mTitle;		$this->mCharset = $wgInputEncoding;		$this->mMode = $mode;	}	function edit() {		global $wgOut, $wgScript, $wgScriptPath, $wgServer, $wgLang;		$wgOut->disable();		$name=$this->mTitle->getText();		$pos=strrpos($name,".")+1;		header ( "Content-type: application/x-external-editor; charset=".$this->mCharset );		# $type can be "Edit text", "Edit file" or "Diff text" at the moment		# See the protocol specifications at [[m:Help:External editors/Tech]] for		# details.		if(!isset($this->mMode)) {			$type="Edit text";			$url=$this->mTitle->getFullURL("action=edit&internaledit=true");			# *.wiki file extension is used by some editors for syntax			# highlighting, so we follow that convention			$extension="wiki";		} elseif($this->mMode=="file") {			$type="Edit file";			$image = Image::newFromTitle( $this->mTitle );			$img_url = $image->getURL();			if(strpos($img_url,"://")) {				$url = $img_url;			} else {				$url = $wgServer . $img_url;			}			$extension=substr($name, $pos);		}		$special=$wgLang->getNsText(NS_SPECIAL);		$control = <<<CONTROL[Process]Type=$typeEngine=MediaWikiScript={$wgServer}{$wgScript}Server={$wgServer}Path={$wgScriptPath}Special namespace=$special[File]Extension=$extensionURL=$urlCONTROL;		echo $control;	}}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?