<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://www.iran-pedia.org/w/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-decodesummary.js</id>
	<title>مدیاویکی:Gadget-decodesummary.js - تاریخچهٔ نسخه‌ها</title>
	<link rel="self" type="application/atom+xml" href="https://www.iran-pedia.org/w/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C%3AGadget-decodesummary.js"/>
	<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-decodesummary.js&amp;action=history"/>
	<updated>2026-04-26T10:52:22Z</updated>
	<subtitle>تاریخچهٔ نسخه‌ها برای این صفحه در ویکی</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-decodesummary.js&amp;diff=2306&amp;oldid=prev</id>
		<title>Rootadmin: ۱ نسخه واردشده</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-decodesummary.js&amp;diff=2306&amp;oldid=prev"/>
		<updated>2017-12-02T10:47:07Z</updated>

		<summary type="html">&lt;p&gt;۱ نسخه واردشده&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fa&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ نسخهٔ قدیمی‌تر&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;نسخهٔ ‏۲ دسامبر ۲۰۱۷، ساعت ۱۲:۴۷&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;fa&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(بدون تفاوت)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key fairanpediadb-fa_:diff:1.41:old-2305:rev-2306 --&gt;
&lt;/table&gt;</summary>
		<author><name>Rootadmin</name></author>
	</entry>
	<entry>
		<id>https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-decodesummary.js&amp;diff=2305&amp;oldid=prev</id>
		<title>Rootadmin: ۱ نسخه واردشده</title>
		<link rel="alternate" type="text/html" href="https://www.iran-pedia.org/w/index.php?title=%D9%85%D8%AF%DB%8C%D8%A7%D9%88%DB%8C%DA%A9%DB%8C:Gadget-decodesummary.js&amp;diff=2305&amp;oldid=prev"/>
		<updated>2017-08-29T15:56:23Z</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;/*jslint browser: true*/&lt;br /&gt;
/*global $, jQuery, mw*/&lt;br /&gt;
(function () {&lt;br /&gt;
    &amp;#039;use strict&amp;#039;;&lt;br /&gt;
    function deChar(ss) {&lt;br /&gt;
        try {&lt;br /&gt;
            ss = decodeURIComponent(ss.replace(/\.([0-9A-F][0-9A-F])/g, &amp;#039;%$1&amp;#039;));&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, &amp;#039; &amp;#039;).replace(/^\ +|\ +$/g, &amp;#039;&amp;#039;);&lt;br /&gt;
        var parts = link.split(&amp;#039;#&amp;#039;),&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 &amp;#039;\x01&amp;#039; + hidIdx + &amp;#039;\x02&amp;#039;;&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;#039;!&amp;quot;#$%&amp;amp;\&amp;#039;()*+,/;&amp;lt;=&amp;gt;?@\\^`~&amp;#039;.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(&amp;#039;\x01&amp;#039; + index + &amp;#039;\x02&amp;#039;, currentValue);&lt;br /&gt;
        });&lt;br /&gt;
        if (anchor.indexOf(&amp;quot;&amp;#039;&amp;#039;&amp;quot;) !== -1) {&lt;br /&gt;
            return link; //cannot have double &amp;#039;&amp;#039; in link&lt;br /&gt;
        }&lt;br /&gt;
        return parts[0] + &amp;#039;#&amp;#039; + anchor;&lt;br /&gt;
    }&lt;br /&gt;
    var fields = &amp;#039;#wpSummary, #wpReason, [name=wpReason], #mwProtect-reason, #mw-input-wpReason-other, #wpComment, .mw-ui-input.summary, #mw-input-reason &amp;gt; .oo-ui-inputWidget-input&amp;#039;;&lt;br /&gt;
    $(fields).one(&amp;#039;paste keyup change&amp;#039;, function () {&lt;br /&gt;
        $(fields).byteLimit(Infinity);&lt;br /&gt;
    });&lt;br /&gt;
    $(fields).on(&amp;#039;paste keyup change&amp;#039;, 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(&amp;#039;background-color&amp;#039;, bytes &amp;gt; 255&lt;br /&gt;
            ? &amp;#039;#FFEBEB&amp;#039;&lt;br /&gt;
            : &amp;#039;white&amp;#039;);&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;
            &amp;#039;$2&amp;amp;$1&amp;#039;&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;
            &amp;#039;$1[[$2:Special:Diff/$4/$3$5]]&amp;#039;&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;
            &amp;#039;$1[[$2:Special:Permalink/$3$4]]&amp;#039;&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;
            &amp;#039;[[$1Special:Diff/$2]]&amp;#039;&lt;br /&gt;
        ).replace( // no oldid&lt;br /&gt;
            &amp;#039;Special:Diff//&amp;#039;,&lt;br /&gt;
            &amp;#039;Special:Diff/&amp;#039;&lt;br /&gt;
        ).replace(&lt;br /&gt;
            &amp;#039;[[fa:&amp;#039;,&lt;br /&gt;
            &amp;#039;[[&amp;#039;&lt;br /&gt;
        ).replace(&lt;br /&gt;
            &amp;#039;[[:&amp;#039;,&lt;br /&gt;
            &amp;#039;[[&amp;#039;&lt;br /&gt;
        );&lt;br /&gt;
        try {&lt;br /&gt;
            val = decodeURI(val.replace(/%20/g, &amp;#039;\u200D\u200D\u200D&amp;#039;)).replace(/\u200D\u200D\u200D/g, &amp;#039;%20&amp;#039;); // 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>Rootadmin</name></author>
	</entry>
</feed>