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

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Bd3076
imported>Hsl0
(보존 이름공간으로 통합)
 
(사용자 5명의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
<noinclude>{{관리자 요청 보존|2018|11}}</noinclude>
#REDIRECT [[보존:관리자 요청/2018년 11월]]
 
== Common.js 수정 요청 ==
 
DB 플러그인 파트를
<pre>
/** DB기능 초기화
* [[틀:DB]]를 사용 가능하게 해 줍니다.
* [[사용자:BANIP|BANIP]]
*/
 
function enableLocalStorage() {
    // 문서 미리보기 상태일 시 종료
    if (location.pathname === "/w/index.php") return;
 
    //플러그인의 모든 키 순회
    function forEach(object, callback) {
        for (var key in object) {
            var variable = object[key];
            callback(variable, key);
        }
    }
 
    function setLocalStorage(parentKey, datas) {
        var stringKeys = JSON.stringify(Object.keys(datas));
        localStorage.setItem(parentKey + "/__keys__", stringKeys);
        forEach(datas, function(v, i) {
            if (i === "action") return;
            localStorage.setItem(parentKey + "/" + i, v);
        });
    }
 
 
    function getLocalStorage(parentKey) {
        var datas = {};
        var stringKeys = localStorage.getItem(parentKey + "/__keys__");
        if (stringKeys === null) return null;
        var keys = JSON.parse(stringKeys);
        keys.forEach(function(key) {
            datas[key] = localStorage.getItem(parentKey + "/" + key);
        })
        return datas;
    }
 
    function clearLocalStorage(parentKey) {
        var datas = {};
        var stringKeys = localStorage.getItem(parentKey + "/__keys__");
        if (stringKeys === null) return null;
        var keys = JSON.parse(stringKeys);
        keys.forEach(function(key) {
            datas[key] = localStorage.removeItem(parentKey + "/" + key);
        })
    }
 
    function getSearch() {
        return geturlSearch();
    }
 
function searchParamToString(searchParamsObj){
var params = "?" + Object.entries(searchParamsObj)
.map(function(v){ return v.join("=") })
.join("&");
return encodeURI(params);
}
    function setSearch(datas) {
        var searchParams = getSearch();
        forEach(datas, function(v, i) {
            searchParams[i] = v;
        });
        location.search = searchParamToString(searchParams);
    }
 
    function hasSearch() {
        return !(location.search === "");
    }
 
    $(".controlLocalStorage").each(function() {
        var parentKey = $(this).data("key");
        var behavior = $(this).data("behavior");
        switch (behavior) {
            case "세이브":
                if (!hasSearch()) return;
                var datas = getSearch();
                clearLocalStorage(parentKey);
                setLocalStorage(parentKey, datas);
                break;
            case "로드":
                if (hasSearch()) return;
                var datas = getLocalStorage(parentKey, datas);
                if (datas === null) return;
                setSearch(datas);
                break;
            case "초기화":
            clearLocalStorage(parentKey);
            break;
        }
    })
 
 
}
$(enableLocalStorage);
</pre>
처럼 바꿔주세요. 초기화 기능을 추가했습니다. -- {{:사용자:Bd3076/서명}} 2018년 11월 1일 (목) 18:07 (KST)
:{{완료}} by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2018년 11월 1일 (목) 18:16 (KST)
 
== 닉네임 변경 문의 (Kh0505 > 초코나무숲) ==
 
[[백괴게임:관리자_요청/2017년_12월#.EC.A0.9C_.EB.8B.89.EB.84.A4.EC.9E.84.EC.9D.84_MegaSquare.EB.A1.9C_.EB.B3.80.EA.B2.BD.ED.95.B4_.EC.A3.BC.EC.84.B8.EC.9A.94.|여기]]와 비슷합니다.
 
이 계정이 예전에 게임 DB용으로 대충 만든 계정이었기 때문에(물론 그 이후 아예 버리긴 했다만..) 닉네임을 대충 지었습니다. 때문에 제 닉네임을 현 닉넴에서 '''초코나무숲'''으로 변경해주시면 감사드리겠습니다. &mdash; '''[[:Kh0505|{{색깔|Kh0505|green}}]]''' <small>'''[[사토:Kh0505|{{색깔|토론|#008080}}]]{{색깔| · |#008080}}[[특수:기여/Kh0505|{{색깔|기여|#008080}}]]'''</small>  2018년 11월 4일 (일) 08:34 (KST)
:{{보류}} 한 사용자의 계정 통합 과정에서 미디어위키가 완전히 꼬여버리는 일이 올해 초에 발생했습니다. 이로 인해 사용자 계정명 바꾸기 및 통합이 거의 불가능해졌습니다. 죄송합니다만, 나중에 계정 이름 바꾸기를 요청해 주시면 감사하겠습니다. -- {{사:이의섭/서명}} 2018년 11월 4일 (일) 09:07 (KST)
::아, 알겠습니다. 감사합니다. &mdash; '''[[사:Kh0505|{{색깔|Kh0505|green}}]]''' <small>'''[[사토:Kh0505|{{색깔|토론|#008080}}]]{{색깔| · |#008080}}[[특수:기여/Kh0505|{{색깔|기여|#008080}}]]'''</small>  2018년 11월 4일 (일) 09:09 (KST)
 
== 로고변경 스크립트를 수정했습니다 ==
 
<pre>
 
/** [[틀:로고 바꾸기]]용 함수
* 작성자: [[사용자:Manymaster|manymaster]]
*/
function logochange() {
// 허용 확장자 및 url 패턴
    var allwedURLPattern = ["i.uncyclopedia.kr/game/","i.uncyclopedia.kr/pedia/","upload.wikimedia.org/wikipedia/commons/"]
var allowedExt = ["gif","png","jpg","jpeg","svg"]
 
    const logoElement = document.getElementsByClassName("changelogo123");
/* .changelogo 요소가 없으면 종료 */
    if (logoElement.length === 0) {
        return;
 
    }
 
var logoTest = logoElement[0].innerHTML.toLowerCase();
//이미지 url이 주어진 조건에 맞는지 검사
var isSafeURL = allwedURLPattern.some( function(middleURL){
var reg = new RegExp("^//" + middleURL)
return ( logoTest.match(reg) != null)
})
var isSafeExt = allowedExt.some( function(ext){
var reg = new RegExp("\." + ext + "$")
return ( logoTest.match(reg) != null)
})
 
// URL패턴과 확장자의 조건이 맞지 않으면 종료
    if ( !(isSafeURL && isSafeExt) ) {
return;
    }
 
    /* 로고 교체 */
    var orglogoElement = document.querySelector("#p-logo a");
    orglogoElement.style.backgroundImage = "url('" + logoElement[0].innerHTML + "')";
    /* 사이즈 교체 */
    var sizeElement = document.querySelector(".changelogosize");
orglogoElement.style.backgroundSize = sizeElement === null ? "160px 160px" : sizeElement.innerHTML + " " + sizeElement.innerHTML
 
}
logochange()
/* [[틀:로고 바꾸기]]용 함수 끝 */
</pre>
slice로 테스트한 부분을 정규표현식으로 변경함으로써 코드 전체의 가독성을 높이고
 
확장자와 url을 추가/수정하기 쉽게 고쳤습니다 --{{사용자:BANIP/서명}} 2018년 11월 7일 (수) 15:47 (KST)
:{{완료}} 언제나 감사드립니다. by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2018년 11월 7일 (수) 15:50 (KST)
:: 앗.. 죄송합니다 깜빡하고 제가 테스트하던 코드 그대로 넣어서 작동이 안되는것 같습니다
::getElementsByClassName("changelogo123"); 이부분에서 123을 지워주시면 감사드리겠습니다 두번 손보게 해서 죄송합니다.. --2018년 11월 7일 (수) 16:09 (KST)
:::그 부분은 [[틀:로고 바꾸기]]의 클래스가 겹치기 쉽다는 것으로 해석되어 그냥 그 틀의 클래스를 바꾸는 것으로 해결했네요. by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2018년 11월 7일 (수) 16:57 (KST)
 
== 커먼자스 편집 요청 ==
 
제가 플러그인을 만들다가 실수를 해서 문서 내용을 볼 수 없게 되었습니다. 죄송하지만 아무나 제 커먼자스에서 최근 편집 하나 되돌려 주실 수 있나요? [[특수:기여/221.159.32.3|221.159.32.3]] 2018년 11월 8일 (목) 07:53 (KST) (Bd3076)
: {{완료|[[특수:차이/340454|완료]]}} — [[사용자토론:유한림|유한림]] 2018년 11월 8일 (목) 08:44 (KST)
 
== 이동+찾아바꾸기 ==
 
<code>사:올/마피아 게임</code> 문자열을 <code>마피아 게임</code>으로 바꿔주시고, 해당 문서의 하위 문서들도 이동해주세요.--{{사:올/서명}} 2018년 11월 10일 (토) 10:58 (KST)
: {{완료}} — [[사용자토론:유한림|유한림]] 2018년 11월 10일 (토) 11:19 (KST)
 
== Common.js 편집 요청 ==
 
[[미디어위키:Common.js]]의 pluginX 부분을 [[사:Bd3076/common.js]]의 현재 내용으로 변경해 주세요.
 
* 플러그인 문서 생성 시 콘텐츠 모델을 자바스크립트로 설정
* 이미 실행한 플러그인은 앞으로 확인 없이 계속 실행됨
 
위와 같은 변경 사항이 있었습니다. -- {{:사용자:Bd3076/서명}} 2018년 11월 11일 (일) 18:27 (KST)
:{{보류}} 현 백괴게임 개인정보 정책에서는 쿠키는 오로지 회원 식별만을 목적으로 하고 있다고 나와있는데, 이와 충돌합니다. 민감한 문제인 만큼, 정책 개정이 우선되어야 할 것 같습니다. by [[사용자:Manymaster|manymaster]] ([[사용자토론:Manymaster|토론]]|[[특수기능:기여/Manymaster|기여]]) 2018년 11월 11일 (일) 18:36 (KST)
::아... 그런 문제가 있군요. 알겠습니다. -- {{:사용자:Bd3076/서명}} 2018년 11월 11일 (일) 18:40 (KST)
::json을 통해 실행 가능 플러그인을 검색하는 쪽으로 개발 방향을 돌려 보겠습니다. -- {{:사용자:Bd3076/서명}} 2018년 11월 11일 (일) 18:48 (KST)

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