GOOGLE ADS

Montag, 11. April 2022

Klicken Sie auf die Schaltfläche, um eine Flagge in der Datenbank in Mediawiki 1.3 zu speichern

Ich bin ein Neuling in Mediawiki. Ich habe versucht, Manual:Tag extensions/Example ( https://www.mediawiki.org/wiki/Manual:Tag_extensions/Example ) zu implementieren. Das Beispiel basiert jedoch auf der Mediawiki-Version < 1.3. Ich habe einen Submit-Button. Ich möchte den aktuellen Benutzernamen und ein Flag (z. B. 1) in einer Datenbanktabelle speichern, wenn auf die Schaltfläche "Senden" geklickt wird. aber ich bekomme Uncaught SyntaxError: Unexpected identifier (at load.php?lang=en&modules=ext.Example.welcome%7Cjquery&skin=vector&version=h3cy2:1:383).

Kann mir jemand vorschlagen, wie man das Problem My Hook

class PollHooks implements
\MediaWiki\Hook\ParserFirstCallInitHook
{
Public function onParserFirstCallInit( $parser ) {
$parser->setHook( 'btn', [ self::class, 'pollRender' ] );
//$parser->setHook( 'poll', [self::class, 'pollRender' ] );
}
public static function pollRender( $data, $attribs, $parser, $frame ) {
$ret = '<table class="wtable">';
$ret.= '<tr>';
$ret.= '<td align="center" colspan=2><input id="btn002" type="button" value="Submit"></td>';
$ret.= '</tr>';
$ret.= '</table>';
return $ret;
}

Meine index.js

( function () {
$("#btn001").click
(
function() {
alert("Button clicked " + mw.user.getName() + ".");

console.log("Button clicked.");
$var user = mw.user.getName();
$flag = 1;

$.get(
mw.util.wikiScript(),
{
action: 'ajax',
rsargs: [user, flag],
rs: 'MediaWiki\\Extension\\Example\\SubmitApi'
}
);
}
);

}());

SubmitApi.php

use ApiBase;

Verwenden Sie Wikimedia\ParamValidator\ParamValidator;

Klasse SubmitApi erweitert ApiBase {

public function execute() {
/* … */
global $wgUser;


$dbw = wfGetDB( DB_REPLICA );

// Insert vote
$insertQuery = $dbw->insert(
'polldb',
array(
'poll_user' => $user,
'poll_flag' => $flag
)
);
$dbw->commit();
}
public function getAllowedParams() {
return [
'level' => [
ParamValidator::PARAM_TYPE => 'integer',
ParamValidator::PARAM_REQUIRED => true,
]
];
}

}?>


Lösung des Problems

index.js:

$var user = mw.user.getName();

Entfernen Sie die $aus $var.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...