<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>http://www.copticpedia.org/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A%3AGadget-decodesummary.js</id>
	<title>ميدياويكي:Gadget-decodesummary.js - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="http://www.copticpedia.org/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A%3AGadget-decodesummary.js"/>
	<link rel="alternate" type="text/html" href="http://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-decodesummary.js&amp;action=history"/>
	<updated>2026-06-25T20:14:30Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-decodesummary.js&amp;diff=8670&amp;oldid=prev</id>
		<title>Gerges: مراجعة واحدة</title>
		<link rel="alternate" type="text/html" href="http://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-decodesummary.js&amp;diff=8670&amp;oldid=prev"/>
		<updated>2021-03-19T00:59:40Z</updated>

		<summary type="html">&lt;p&gt;مراجعة واحدة&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//[[fa:mediawiki:Gadget-decodesummary.js]]&lt;br /&gt;
/*jslint browser: true*/&lt;br /&gt;
/*global $, jQuery, mw*/&lt;br /&gt;
(function () {&lt;br /&gt;
    'use strict';&lt;br /&gt;
    function deChar(ss) {&lt;br /&gt;
        try {&lt;br /&gt;
            ss = decodeURIComponent(ss.replace(/\.([0-9A-F][0-9A-F])/g, '%$1'));&lt;br /&gt;
        } catch (ignore) {}&lt;br /&gt;
        return ss;&lt;br /&gt;
    }&lt;br /&gt;
    function decodeAnchor(link) { //simplify internal link: replace %20 and _ then decode anchor&lt;br /&gt;
        link = link.replace(/(_|%20)/g, ' ').replace(/^\ +|\ +$/g, '');&lt;br /&gt;
        var parts = link.split('#'),&lt;br /&gt;
            anchor,&lt;br /&gt;
            hidIdx = -1,&lt;br /&gt;
            hidden = [];&lt;br /&gt;
        if (parts.length !== 2) {&lt;br /&gt;
            return link; //no anchor&lt;br /&gt;
        }&lt;br /&gt;
        anchor = parts[1];&lt;br /&gt;
&lt;br /&gt;
        //decode 4, 3 and 2-byte: http://en.wikipedia.org/wiki/UTF-8&lt;br /&gt;
        anchor = anchor.replace(/\.F[0-4]\.[89AB][\dA-F]\.[89AB][\dA-F]\.[89AB][\dA-F]/g, deChar);&lt;br /&gt;
        anchor = anchor.replace(/\.E[\dA-F]\.[89AB][\dA-F]\.[89AB][\dA-F]/g, deChar);&lt;br /&gt;
        anchor = anchor.replace(/\.[CD][\dA-F]\.[89AB][\dA-F]/g, deChar);&lt;br /&gt;
        anchor = anchor.replace( //hide IPs&lt;br /&gt;
            /(?:^|[^0-9A-F\.])(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/,&lt;br /&gt;
            function (s) {&lt;br /&gt;
                hidIdx += 1;&lt;br /&gt;
                hidden.push(s);&lt;br /&gt;
                return '\x01' + hidIdx + '\x02';&lt;br /&gt;
            }&lt;br /&gt;
        );&lt;br /&gt;
        //decode 1-byte chars: all symbols except  -.:_  and []{} prohibited in links&lt;br /&gt;
        anchor = anchor.replace(/\.[2-7][0-9A-F]/g, function (hhh) {&lt;br /&gt;
            var ch = deChar(hhh);&lt;br /&gt;
            if ('!&amp;quot;#$%&amp;amp;\'()*+,/;&amp;lt;=&amp;gt;?@\\^`~'.indexOf(ch) &amp;gt;= 0) {&lt;br /&gt;
                return ch;&lt;br /&gt;
            }&lt;br /&gt;
            return hhh;&lt;br /&gt;
        });&lt;br /&gt;
        //unhide IPs and return&lt;br /&gt;
        hidden.forEach(function (currentValue, index) {&lt;br /&gt;
            anchor = anchor.replace('\x01' + index + '\x02', currentValue);&lt;br /&gt;
        });&lt;br /&gt;
        if (anchor.indexOf(&amp;quot;''&amp;quot;) !== -1) {&lt;br /&gt;
            return link; //cannot have double '' in link&lt;br /&gt;
        }&lt;br /&gt;
        return parts[0] + '#' + anchor;&lt;br /&gt;
    }&lt;br /&gt;
    var fields = '#wpSummary, #wpReason, [name=wpReason], #mwProtect-reason, #mw-input-wpReason-other, #wpComment, .mw-ui-input.summary, #mw-input-reason &amp;gt; .oo-ui-inputWidget-input';&lt;br /&gt;
    $(fields).one('paste keyup change', function () {&lt;br /&gt;
    	if ( $(fields).byteLimit ) {&lt;br /&gt;
	        $(fields).byteLimit(Infinity);&lt;br /&gt;
    	}&lt;br /&gt;
    });&lt;br /&gt;
    $(fields).on('paste keyup change', function (e) {&lt;br /&gt;
        var target, val, bytes;&lt;br /&gt;
        target = $(e.currentTarget);&lt;br /&gt;
        val = target.val();&lt;br /&gt;
        // from https://stackoverflow.com/questions/2219526/&lt;br /&gt;
        bytes = encodeURI(val).split(/%(?:u[A-F0-9]{2})?[A-F0-9]{2}|./).length - 1;&lt;br /&gt;
        target.css('background-color', bytes &amp;gt; 255&lt;br /&gt;
            ? '#FFEBEB'&lt;br /&gt;
            : 'white');&lt;br /&gt;
        val = val.replace( // Put diff before oldid.&lt;br /&gt;
            /(oldid=(?:\d+|next|prev|cur)?)&amp;amp;(diff=(?:\d+|next|prev|cur)?)/gi,&lt;br /&gt;
            '$2&amp;amp;$1'&lt;br /&gt;
        ).replace( // Special:Diff&lt;br /&gt;
            /(?:(^|[\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}])|https?:\/\/([a-z\-]+)\.(?:wikipedia|wikimedia)\.org\/[^\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}]*)&amp;amp;?diff=(\d+|next|prev|cur)(?:&amp;amp;oldid=(\d+|next|prev|cur)?)?(#[^\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}]*)?(?=$|[\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}])/gi,&lt;br /&gt;
            '$1[[$2:Special:Diff/$4/$3$5]]'&lt;br /&gt;
        ).replace( // Special:Permalink&lt;br /&gt;
            /(?:(^|[\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}])|https?:\/\/([a-z\-]+)\.(?:wikipedia|wikimedia)\.org\/[^\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}]*)&amp;amp;?oldid=(\d+|next|prev|cur)(#[^\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}]*)?(?=$|[\ \\\^`#&amp;lt;&amp;gt;\[\]\&amp;quot;\t\n{\|}])/gi,&lt;br /&gt;
            '$1[[$2:Special:Permalink/$3$4]]'&lt;br /&gt;
        ).replace( // [[Special:Diff/12345678/prev]] is equal to [[Special:Diff/12345678]]&lt;br /&gt;
            /\[\[([a-z\-]+:)Special:Diff\/(\d+|next|prev|cur)\/prev\]\]/gi,&lt;br /&gt;
            '[[$1Special:Diff/$2]]'&lt;br /&gt;
        ).replace( // no oldid&lt;br /&gt;
            'Special:Diff//',&lt;br /&gt;
            'Special:Diff/'&lt;br /&gt;
        ).replace(&lt;br /&gt;
            '[[fa:',&lt;br /&gt;
            '[['&lt;br /&gt;
        ).replace(&lt;br /&gt;
            '[[:',&lt;br /&gt;
            '[['&lt;br /&gt;
        );&lt;br /&gt;
        try {&lt;br /&gt;
            val = decodeURI(val.replace(/%20/g, '\u200D\u200D\u200D')).replace(/\u200D\u200D\u200D/g, '%20'); // three ZWJs&lt;br /&gt;
            val = val.replace(/\[\[.*?\]\]/g, decodeAnchor);&lt;br /&gt;
        } catch (ignore) {}&lt;br /&gt;
        if (val !== target.val()) {&lt;br /&gt;
            target.val(val);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
}());&lt;/div&gt;</summary>
		<author><name>Gerges</name></author>
	</entry>
</feed>