本文整理汇总了PHP中utils::generateID方法的典型用法代码示例。如果您正苦于以下问题:PHP utils::generateID方法的具体用法?PHP utils::generateID怎么用?PHP utils::generateID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类utils
的用法示例。
在下文中一共展示了utils::generateID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onUnknownAction
/**
* MW Hook used to redirect to page creation (pushfeed, pullfeed, changeset),
* to forms or to push/pull action testing the action param
*
* @since 1.1
*
* @param string $action
* @param Article $article
*
* @return true
*/
public function onUnknownAction($action, Article $article)
{
global $wgOut, $wgServerName, $wgScriptPath, $wgUser, $wgScriptExtension, $wgDSMWIP;
$urlServer = 'http://' . $wgServerName . $wgScriptPath . "/index{$wgScriptExtension}";
$urlAjax = 'http://' . $wgServerName . $wgScriptPath;
///////// / pull form page////////
if (isset($_GET['action']) && $_GET['action'] == 'addpullpage') {
wfDebugLog('p2p', 'addPullPage ');
$newtext = "Add a new site:\n\t<div id='dsmw' style=\"color:green;\"></div>\n\n\t{{#form:action=" . $urlServer . "?action=pullpage|method=POST|\n\t\tPushFeed Url: {{#input:type=button|value=Url test|onClick=\n\t\tvar url = document.getElementsByName('url')[0].value;\n\t\tif(url.indexOf('PushFeed')==-1){\n\t\t\talert('No valid PushFeed syntax, see example.');\n\t\t}else{\n\t\t\tvar urlTmp = url.substring( 0, url.indexOf( 'PushFeed' ) );\n\t\t\t//alert(urlTmp);\n\n\t\t\tvar pos1 = urlTmp.indexOf( 'index.php' );\n\t\t\t//alert( pos1 );\n\t\t\tvar pushUrl='';\n\t\t\tif( pos1 != -1 ){\n\t\t\t\tpushUrl = urlTmp.substring(0,pos1);\n\t\t\t\t//alert('if');\n\t\t\t} else {\n\t\t\t\tpushUrl = urlTmp;\n\t\t\t\t//alert('else');\n\t\t\t}\n\t\t\t//alert(pushUrl);\n\n\t\t\t//alert(pushUrl+'api.php?action=query&meta=patch&papatchId=1&format=xml');\n\t\t\tvar xhr_object = null;\n\n\t\t\tif( window.XMLHttpRequest ) { // Firefox\n\t\t\t\txhr_object = new XMLHttpRequest();\n\t\t\t}else if( window.ActiveXObject ) { // Internet Explorer\n\t\t\t\txhr_object = new ActiveXObject('Microsoft.XMLHTTP');\n\t\t\t} else {\n\t\t\t\talert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\txhr_object.open('GET', '" . $urlAjax . "/extensions/DSMW/files/ajax.php?url='+escape(pushUrl+'api.php?action=query&meta=patch&papatchId=1&format=xml'), true);\n\t\t\t} catch( e ) {\n\t\t\t\t//alert('There is no DSMW Server responding at this URL');\n\t\t\t\tdocument.getElementById('dsmw').innerHTML = 'There is no DSMW Server responding at this URL!';\n\t\t\t\tdocument.getElementById('dsmw').style.color = 'red';\n\t\t\t}\n\t\t\txhr_object.onreadystatechange = function() {\n\n\t\t\tif( xhr_object.readyState == 4 ) {\n\t\t\t\tif( xhr_object.statusText=='OK' ){\n\t\t\t\t\tif( xhr_object.responseText == 'true' ){\n\t\t\t\t\t\t//alert('URL valid, there is a DSMW Server responding');\n\t\t\t\t\t\tdocument.getElementById('dsmw').innerHTML = 'URL valid, there is a DSMW Server responding!';\n\t\t\t\t\t\tdocument.getElementById('dsmw').style.color = 'green';\n\t\t\t\t\t} else{ //alert('There is no DSMW Server responding at this URL');\n\t\t\t\t\t\tdocument.getElementById('dsmw').innerHTML = 'There is no DSMW Server responding at this URL!';\n\t\t\t\t\t\tdocument.getElementById('dsmw').style.color = 'red';\n\t\t\t\t\t}\n\t\t\t\t} else{\n\t\t\t\t\t//alert('There is no DSMW Server responding at this URL');\n\t\t\t\t\tdocument.getElementById('dsmw').innerHTML = 'There is no DSMW Server responding at this URL!';\n\t\t\t\t\tdocument.getElementById('dsmw').style.color = 'red';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\txhr_object.send(null);\n\t}\n\t}}<br> {{#input:type=text|name=url|size=50}} <b>e.g. http://server/path/index.php?title=PushFeed:PushName</b><br>\n\tPullFeed Name: <br> {{#input:type=text|name=pullname}}<br>\n\t{{#input:type=submit|value=ADD}}\n\t}}";
$article->doEdit($newtext, $summary = "");
$wgOut->redirect($article->getTitle()->getFullURL());
return false;
} elseif (isset($_GET['action']) && $_GET['action'] == 'addpushpage') {
wfDebugLog('p2p', 'addPushPage');
$specialAsk = $urlServer . '?title=Special:Ask';
$newtext = "Add a new pushfeed:\n\n\t{{#form:action=" . $urlServer . "?action=pushpage|method=POST|\n\tPushFeed Name: <br> {{#input:class=test|name=name|type=text|onKeyUp=test('{$urlServer}');}}<div style=\"display:inline; \" id=\"state\" ></div><br />\n\tRequest: {{#input:type=button|value=Test your query|title=click here to test your query results|onClick=\n\tvar query = document.getElementsByName('keyword')[0].value;\n\tvar query1 = encodeURI(query);\n\twindow.open('" . $specialAsk . "&q='+query1+'&eq=yes&p%5Bformat%5D=broadtable','querywindow','menubar=no, status=no, scrollbars=yes, menubar=no, width=1000, height=900');}}\n\t <br>{{#input:type=textarea|cols=30 | style=width:auto |rows=2|name=keyword}} <b>e.g. [[Category:city]][[locatedIn::France]]</b><br>\n\t{{#input:type=submit|value=ADD}}\n\t}}";
$article->doEdit($newtext, $summary = "");
$wgOut->redirect($article->getTitle()->getFullURL());
return false;
} elseif (isset($_GET['action']) && $_GET['action'] == 'pushpage') {
// $url = $_POST['url'];//pas url mais changesetId
wfDebugLog('p2p', 'Create new push ' . $_POST['name'] . ' with ' . $_POST['keyword']);
$name = $_POST['name'];
$request = $_POST['keyword'];
$stringReq = utils::encodeRequest($request);
// avoid "semantic injection" :))
// addPushSite($url, $name, $request);
$newtext = "\n[[Special:ArticleAdminPage|DSMW Admin functions]]\n\n==Features==\n[[name::PushFeed:" . $name . "| ]]\n'''Semantic query:''' [[hasSemanticQuery::" . $stringReq . "| ]]<nowiki>" . $request . "</nowiki>\n\n'''Pages concerned:'''\n{{#ask: " . $request . "}}\n[[deleted::false| ]]\n\n==Actions==\n\n{{#input:type=ajax|value=PUSH|onClick=pushpull('" . $urlServer . "','PushFeed:" . $name . "', 'onpush');}}\nThe \"PUSH\" action publishes the (unpublished) modifications of the articles listed above.\n\n== PUSH Progress : ==\n<div id=\"state\" ></div><br />\n";
wfDebugLog('p2p', ' -> push page contains : ' . $newtext);
$title = Title::newFromText($_POST['name'], PUSHFEED);
$article = new Article($title);
$edit = $article->doEdit($newtext, $summary = "");
$wgOut->redirect($title->getFullURL());
return false;
} elseif (isset($_POST['action']) && $_POST['action'] == 'onpush') {
/* In case we push directly from an article page */
if (isset($_POST['page']) && isset($_POST['request'])) {
$articlename = Title::newFromText($_POST['name']);
if (!$articlename->exists()) {
$result = utils::createPushFeed($_POST['name'], $_POST['request']);
utils::writeAndFlush("Create push <A HREF=" . 'http://' . $wgServerName . $wgScriptPath . "/index.php?title=" . $_POST['name'] . ">" . $_POST['name'] . "</a>");
if ($result == false) {
throw new MWException(__METHOD__ . ': no Pushfeed created in utils:: createPushFeed: ' . 'name: ' . $_POST['name'] . ' request' . $_POST['request']);
}
}
}
wfDebugLog('p2p', 'push on ');
$patches = array();
$tmpPatches = array();
if (isset($_POST['name'])) {
$name1 = $_POST['name'];
if (!is_array($name1)) {
$name1 = array($name1);
}
foreach ($name1 as $push) {
wfDebugLog('p2p', ' - ' . $push);
}
} else {
$name1 = '';
}
if ($name1 == '') {
utils::writeAndFlush('<p><b>No pushfeed selected!</b></p>');
$title = Title::newFromText('Special:ArticleAdminPage');
$wgOut->redirect($title->getFullURL());
return false;
}
// $name = $name1[0];
utils::writeAndFlush('<p><b>Start push </b></p>');
foreach ($name1 as $name) {
utils::writeAndFlush("<span style=\"margin-left:30px;\">begin push: <A HREF=" . 'http://' . $wgServerName . $wgScriptPath . "/index.php?title={$name}>" . $name . "</a></span> <br/>");
$patches = array();
// / / for each pushfeed name==> push
wfDebugLog('p2p', ' -> pushname ' . $name);
// $name = $_GET['name'];//PushFeed name
$request = getPushFeedRequest($name);
// $previousCSID = getPreviousCSID($name);
$previousCSID = getHasPushHead($name);
if ($previousCSID == false) {
$previousCSID = "none";
// $CSID = $name."_0";
}
// else{
// $count = explode(" ", $previousCSID);
// $cnt = $count[1] + 1;
// $CSID = $name."_".$cnt;
// }
wfDebugLog('p2p', ' ->pushrequest ' . $request);
wfDebugLog('p2p', ' ->pushHead : ' . $previousCSID);
$CSID = utils::generateID();
//.........这里部分代码省略.........
示例2: storePage
public function storePage($pageName, $rev)
{
wfDebugLog('p2p', '- ' . __METHOD__ . ' - ' . __CLASS__ . "- {$pageName} ({$rev} ; {$this->mPatchId} ; ) ");
global $wgUser;
$text = "\n[[Special:ArticleAdminPage|DSMW Admin functions]]\n\n" . "==Features==\n[[patchID::" . $this->mPatchId . "| ]]\n\n" . "'''SiteID:''' [[siteID::" . $this->mSiteId . "]]\n\n" . "'''SiteUrl:''' [[siteUrl::" . $this->mSiteUrl . "]]\n\n" . "'''Rev:''' [[Rev::" . $rev . "]]\n\n";
if ($this->mRemote) {
$text .= "'''Remote Patch'''\n\n";
} else {
$this->mPrevPatch = utils::getLastPatchId($pageName);
if ($this->mPrevPatch == false) {
$this->mPrevPatch = "none";
}
$this->mCausal = utils::searchCausalLink($pageName, $this->mCausal);
}
$text .= "'''Date:''' " . date(DATE_RFC822) . "\n\n";
if ($this->mAttachment) {
$text .= "'''Date of upload of the Attachment:''' [[DateAtt::" . $this->mDate . "]]\n\n" . "'''Mime:''' [[Mime::" . $this->mMime . "]]\n\n" . "'''Size:''' [[Size::" . $this->mSize . "]]\n\n" . "'''Url:''' [[Url::" . $this->mUrl . "]]\n\n";
}
$text .= "'''User:''' " . $wgUser->getName() . "\n\nThis is a patch of the article: [[onPage::" . $pageName . "]] <br>\n\n";
if (!$this->mAttachment) {
$text .= "==Operations of the patch==\n\n{| " . "class='wikitable' border='1' style='text-align:left; width:80%;'" . "\n|-\n" . "!bgcolor=#c0e8f0 scope=col | Type\n" . "!bgcolor=#c0e8f0 scope=col | Content\n" . "|-\n";
$liste_op = "";
$i = 1;
//op counter
foreach ($this->mOperations as $operation) {
$lineContent = $operation->getLineContent();
$lineContent1 = utils::contentEncoding($lineContent);
//base64 encoding
$type = "";
if ($operation->type() == LogootOperation::INSERT) {
// instanceof LogootIns)
$type = "Insert";
} else {
$type = "Delete";
}
$operationID = utils::generateID();
$liste_op .= '|[[hasOperation::' . $operationID . ';' . $type . ';' . $operation->getLogootPosition()->toString() . ';' . $lineContent1 . '| ]]' . $type;
//displayed text
$lineContent2 = $lineContent;
$liste_op .= "\n|<nowiki>" . $lineContent2 . " : " . $operation->getLogootPosition()->toString() . "</nowiki>\n|-\n";
}
$text .= $liste_op . '|}';
}
if (is_array($this->mPrevPatch)) {
$text .= "\n\n==Previous patch(es)==\n[[previous::";
foreach ($this->mPrevPatch as $prev) {
$text .= $prev . ';';
}
$text .= ']]';
} else {
$text .= "\n\n==Previous patch(es)==\n[[previous::" . $this->mPrevPatch . ']]';
}
$text .= "\n\n==Causal Link==\n[[causal::" . $this->mCausal . ']]';
$title = Title::newFromText($this->mID, PATCH);
$article = new Article($title);
$article->doEdit($text, $summary = "");
wfDebugLog('p2p', '- ' . __METHOD__ . ' - ' . __CLASS__ . "- ############# Début ###################");
wfDebugLog('p2p', $text);
wfDebugLog('p2p', '- ' . __METHOD__ . ' - ' . __CLASS__ . "- ############# Fin ###################");
}
示例3: storePage
public function storePage($pageName, $rev)
{
global $wgUser;
$text = '
[[Special:ArticleAdminPage|DSMW Admin functions]]
==Features==
[[patchID::' . $this->mPatchId . '| ]]
\'\'\'SiteID:\'\'\' [[siteID::' . $this->mSiteId . ']]
\'\'\'SiteUrl:\'\'\' [[siteUrl::' . $this->mSiteUrl . ']]
\'\'\'Rev:\'\'\' [[Rev::' . $rev . ']]
';
if ($this->mRemote) {
$text .= '\'\'\'Remote Patch\'\'\'
';
} else {
$this->mPrevPatch = utils::getLastPatchId($pageName);
if ($this->mPrevPatch == false) {
$this->mPrevPatch = "none";
}
$this->mCausal = utils::searchCausalLink($pageName, $this->mCausal);
}
$text .= '\'\'\'Date:\'\'\' ' . date(DATE_RFC822) . '
';
if ($this->mAttachment) {
$text .= '\'\'\'Date of upload of the Attachment:\'\'\' [[DateAtt::' . $this->mDate . ']]
\'\'\'Mime:\'\'\' [[Mime::' . $this->mMime . ']]
\'\'\'Size:\'\'\' [[Size::' . $this->mSize . ']]
\'\'\'Url:\'\'\' [[Url::' . $this->mUrl . ']]
';
}
$text .= '\'\'\'User:\'\'\' ' . $wgUser->getName() . '
This is a patch of the article: [[onPage::' . $pageName . ']] <br>
';
if ($this->mAttachment == false) {
$text .= '==Operations of the patch==
{| class="wikitable" border="1" style="text-align:left; width:80%;"
|-
!bgcolor=#c0e8f0 scope=col | Type
!bgcolor=#c0e8f0 scope=col | Content
|-
';
if ($this->mRemote == true) {
foreach ($this->mOperations as $op) {
$opArr = explode(";", $op);
$text .= '|[[hasOperation::' . $op . '| ]]' . $opArr[1] . '
|<nowiki>' . utils::contentDecoding($opArr[3]) . '</nowiki>
|-
';
}
} else {
$i = 1;
// op counter
foreach ($this->mOperations as $operation) {
$lineContent = $operation->getLineContent();
$lineContent1 = utils::contentEncoding($lineContent);
// base64 encoding
$type = $operation instanceof LogootIns ? 'Insert' : 'Delete';
$operationID = utils::generateID();
$text .= '|[[hasOperation::' . $operationID . ';' . $type . ';' . $operation->getLogootPosition()->toString() . ';' . $lineContent1 . '| ]]' . $type;
// displayed text
$lineContent2 = $lineContent;
$text .= '
|<nowiki>' . $lineContent2 . '</nowiki>
|-
';
}
}
$text .= '|}';
}
if (is_array($this->mPrevPatch)) {
$text .= '
==Previous patch(es)==
[[previous::';
foreach ($this->mPrevPatch as $prev) {
$text .= $prev . ';';
}
$text .= ']]';
} else {
$text .= '
==Previous patch(es)==
[[previous::' . $this->mPrevPatch . ']]';
}
$text .= '
//.........这里部分代码省略.........