리버티게임:관리자 요청/2019년 2월: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Manymaster
imported>Hsl0
(보존 이름공간으로 통합)
 
(사용자 12명의 중간 판 50개는 보이지 않습니다)
1번째 줄: 1번째 줄:
<noinclude>{{관리자 요청 보존|2019|2}}</noinclude>
#REDIRECT [[보존:관리자 요청/2019년 2월]]
== 비밀5 수정 ==
민수 문서가 너무 커서 수정을 못하고 있습니다. 가장 처음으로 나오는(분리 위에 있는) |22= 부분을 제거해 주세요. -- {{:사용자:Bd3076/서명}} 2019년 2월 1일 (금) 10:52 (KST)
:{{완료}} 문서 바이트 수가 20만 바이트인 거를 보고 놀랐습니다. -- {{사:이의섭/서명}} 2019년 2월 1일 (금) 16:07 (KST)
 
== 백괴게임:발전소/그냥낚시 관련 ==
 
총의로 일단 유지, 규제 생성으로 결론났습니다만, 기간이 지나도 한참 지났는데 처리가 안되고 있습니다. 처리 부탁드립니다. --{{사용자:Regurus/서명}} 2019년 2월 3일 (일) 07:46 (KST)
:{{완료}} by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 11일 (월) 01:45 (KST)
 
== 입력 상자 플러그인 커먼자스화 ==
 
혹시 가능한지 여쭙고 싶습니다. 구조상 불가능하다면 어쩔 수 없지만요. -- {{:사용자:Bd3076/서명}} 2019년 2월 4일 (월) 11:35 (KST)
:전 자바스크립트에 대해 아는 것이 거의 없지만, 아마 가능할 것으로 보입니다. 자동저장은 반달로 악용될 수 있으나 입력 상자는 반달 위협이 없고 [[틀:키패드]]보다도 실용적이니 문제는 없어 보입니다만, 다른 관리자 또는 사용자들의 의견도 들어 보는 게 좋을 것 같습니다. -- {{사:이의섭/서명}} 2019년 2월 4일 (월) 12:09 (KST)
:테스트하니 가능합니다. 각 사용자 커먼자스를 지우는 등의 절차가 있어 완료하는데 시간이 좀 걸릴 것 같습니다. by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 5일 (화) 08:56 (KST)
::감사합니다. -- {{:사용자:Bd3076/서명}} 2019년 2월 5일 (화) 11:26 (KST)
::{{완료}} by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 5일 (화) 11:27 (KST)
 
== Common.js ==
 
[[사용자:Gustmd7410/common.js|제 사용자 커먼자스]]를 [[미디어위키:Common.js]]에 넣어 주세요. --{{사용자:Gustmd7410/서명}} 2019년 2월 5일 (화) 11:56 (KST)
:{{완료}} by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 5일 (화) 12:05 (KST)
 
== [[틀:백괴게임 이름 바꾸기]] ==
 
틀의 상태가 맛이 갔습니다. 낚시 게임들에게 특히 피해가 크게 갈 것 같은데 수정해야 하지 않을까요?--{{사:읎앖앖앖/서명}} 2019년 2월 8일 (금) 00:48 (KST)
:{{완료}} 대충 복구 완료. by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 8일 (금) 04:55 (KST)
 
== Common.js ==
 
JSON 데이터를 편리하게 수정할 수 있는 플러그인을 만들었습니다...만, 보안상 문제로 가능할진 모르겠네요. 가능하다면 혹시 제 [[사:Bd3076/common.js|commonjs]] 문서를 커먼자스에 추가해 주실 수 있나요? 맨 아래에 추가해 주시면 됩니다. -- {{:사용자:Bd3076/서명}} 2019년 2월 13일 (수) 16:11 (KST)
: 잠시만요. 업데이트 하나만 할게요. -- {{:사용자:Bd3076/서명}} 2019년 2월 13일 (수) 19:56 (KST)
:: 업데이트 완료했습니다. 먼저 BANIP님이 만드신 MediaWikiAPI() 객체를 아래처럼 바꿔주시고,
 
<pre><nowiki>
/*
/** mediawiki api를 통해 간단하게 문서들을 수집, 변경하는 함수.
* 플러그인 코어에서 사용하기 위해 만들었습니다.
* 작성자: [[사용자:BANIP|BANIP]]
* 사용방법
*: var api = MediaWikiAPI(); .changeDocument()
*: api.changeDocument(변경할 문서의 타이틀, 편집 요약, 변경할 문서의 내용) => 문서의 내용을 변경합니다.
*: api.addDocument(변경할 문서의 타이틀, 편집 요약, 추가할 문서의 내용) => 문서에 새로운 내용을 추가합니다.
*: api.getDocument(가져올 문서의 타이틀) => 문서의 모든 텍스트를 읽어옵니다.
*: api.readDocument(가져올 문서의 타이틀) => 문서의 모든 텍스트를 jquery 객체로 읽어옵니다.
* 영 좋지 않은 목적으로 사용 하면 안드로메다 경찰관이 잡아간다!
*/
 
function MediaWikiAPI() {
    var token;
    var getToken = function() {
        if (token !== undefined) return token;
        $.ajax({
            url: "/w/api.php?action=query&meta=tokens",
            success: function(v, i) {
                var datas = JSON.parse($(v).find("pre").text());
                token = datas["query"]["tokens"]["csrftoken"];
            },
            async: false
        });
        return token;
    };
 
    function changeDocument(title, summary, content, isUnReload) {
    mw.loader.using( ['mediawiki.util','mediawiki.Title'] ).then( function () {
    $.ajax({
            url: mw.util.wikiScript("api"),
            data: {
                format: 'json',
                action: 'edit',
                title: title,
                summary: summary,
                text: content,
                token: getToken(),
            },
            dataType: 'json',
            type: 'POST',
            success: function(data) {
                if (data && data.edit && data.edit.result == 'Success') {
                    if (!isUnReload) window.location.reload(); // reload page if edit was successful
                } else if (data && data.error) {
                    alert('Error: API returned error code "' + data.error.code + '": ' + data.error.info);
                } else {
                    alert('Error: Unknown result from API.');
                }
            },
            error: function(xhr) {
                alert('Error: Request failed.');
            }
        });
} );
    }
 
    function addDocument(title, summary, content, isUnReload) {
        originContent = getDocument(title);
        changeDocument(title, summary, originContent + content, isUnReload);
    }
 
    function getDocument(title) {
        function entityDecode(doc) {
            return $('<p></p>').html(doc).text();
        }
 
        var originContent;
        $.ajax({
            url: "/w/index.php?title=" + title + "&action=edit",
            success: function ajaxSucess(data) {
                originContent = $(data).find("textarea").html();
            },
            async: false
        });
        return entityDecode(originContent);
    }
 
    function readDocument(title) {
        var doc;
        $.ajax({
            url: "/wiki/" + title,
            success: function ajaxSucess(data) {
                doc = $(data).find("#mw-content-text");
            },
            async: false
        });
        return doc;
    }
 
 
    return {
        getToken: getToken,
        changeDocument: changeDocument,
        addDocument: addDocument,
        getDocument: getDocument,
        readDocument: readDocument,
    };
}
</nowiki></pre>
 
::커먼자스 맨 아래에 [[사:Bd3076/common.js]]의 내용을 추가해 주시기 바랍니다. -- {{:사용자:Bd3076/서명}} 2019년 2월 14일 (목) 15:45 (KST)
:::{{완료}} {{사용자:Js091213/서명}} 2019년 2월 14일 (목) 15:52 (KST)
 
보안 문제로 인해 한 번 더 수정 부탁드립니다. [[미디어위키:Common.js]]의 1506번째 줄을
<pre>mw.notify('JSON 데이터가 수정되었습니다.');</pre>
로 바꿔주세요. (1506줄에는 아무것도 없습니다.) -- {{:사용자:Bd3076/서명}} 2019년 2월 15일 (금) 17:44 (KST)
:{{완료}} by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2019년 2월 15일 (금) 19:43 (KST)

2022년 9월 26일 (월) 00:07 기준 최신판