<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.umisoft.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv</id>
	<title>Импорт и экспорт редиректов в csv - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umisoft.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv"/>
	<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;action=history"/>
	<updated>2026-05-16T17:24:54Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8467&amp;oldid=prev</id>
		<title>Vitaliks в 13:15, 28 июня 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8467&amp;oldid=prev"/>
		<updated>2018-06-28T13:15:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Версия 13:15, 28 июня 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l127&quot; &gt;Строка 127:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 127:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Кнопка &amp;#039;&amp;#039;&amp;#039;Очистить&amp;#039;&amp;#039;&amp;#039; очищает поле textarea.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Кнопка &amp;#039;&amp;#039;&amp;#039;Очистить&amp;#039;&amp;#039;&amp;#039; очищает поле textarea.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Категория&lt;/del&gt;:Модуль Редиректы]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;category&lt;/ins&gt;:Модуль Редиректы]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vitaliks</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8428&amp;oldid=prev</id>
		<title>Vitaliks: /* Решение */</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8428&amp;oldid=prev"/>
		<updated>2018-06-07T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Решение&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Версия 11:29, 7 июня 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot; &gt;Строка 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&amp;lt;body&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&amp;lt;body&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;lt;div class=&amp;#039;cont&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&amp;lt;div class=&amp;#039;cont&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;textarea id=&amp;quot;textarea&amp;quot; name=&amp;quot;list&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/del&gt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;textarea id=&amp;quot;textarea&amp;quot; name=&amp;quot;list&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;			&lt;/ins&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;input id=&amp;quot;output_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Получить редиректы&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;input id=&amp;quot;output_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Получить редиректы&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;input id=&amp;quot;input_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Отправить редиректы&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&amp;lt;input id=&amp;quot;input_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Отправить редиректы&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vitaliks</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8426&amp;oldid=prev</id>
		<title>Vitaliks: Новая страница: «&#039;&#039;&#039;Актуально для версии 18.&#039;&#039;&#039;  == Задача == &lt;p&gt; Реализовать массовый импорт/экспорт редиректов д…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.umisoft.ru/index.php?title=%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D1%80%D0%B5%D0%B4%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D0%B2_csv&amp;diff=8426&amp;oldid=prev"/>
		<updated>2018-06-07T11:19:24Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Актуально для версии 18.&amp;#039;&amp;#039;&amp;#039;  == Задача == &amp;lt;p&amp;gt; Реализовать массовый импорт/экспорт редиректов д…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Актуально для версии 18.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Задача ==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Реализовать массовый импорт/экспорт редиректов для модуля Редиректы.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Решение ==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Для реализации данной задачи напишем небольшой standalone PHP скрипт для импорта и экспорта редиректов.&lt;br /&gt;
В корне сайта создаем файл redirect.php в который помещаем следующий код:&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	require_once(&amp;#039;standalone.php&amp;#039;);&lt;br /&gt;
	if (isset($_REQUEST[&amp;#039;list&amp;#039;])) {&lt;br /&gt;
		$list = json_decode($_REQUEST[&amp;#039;list&amp;#039;]);		&lt;br /&gt;
		$umiRedirectsCollection = umiRedirectsCollection::getInstance();	&lt;br /&gt;
		foreach ($list as $obj)&lt;br /&gt;
			$redirect = $umiRedirectsCollection-&amp;gt;create([&lt;br /&gt;
					&amp;#039;source&amp;#039; =&amp;gt; $obj-&amp;gt;s, // перенаправление с этого адреса &lt;br /&gt;
					&amp;#039;target&amp;#039; =&amp;gt; $obj-&amp;gt;t, // перенаправление на этот адрес&lt;br /&gt;
					&amp;#039;status&amp;#039; =&amp;gt; $obj-&amp;gt;st, // статус перенаправления&lt;br /&gt;
					&amp;#039;made_by_user&amp;#039; =&amp;gt; $obj-&amp;gt;fl, // флаг принудительного редиректа&lt;br /&gt;
					&amp;#039;field_name_prefix&amp;#039; =&amp;gt; &amp;#039;data[new]&amp;#039;&lt;br /&gt;
				]);&lt;br /&gt;
		echo &amp;quot;ok&amp;quot;;&lt;br /&gt;
	} elseif (isset($_REQUEST[&amp;#039;get&amp;#039;])) {&lt;br /&gt;
		$umiRedirectsCollection = umiRedirectsCollection::getInstance();&lt;br /&gt;
		$redirects = $umiRedirectsCollection-&amp;gt;export([&lt;br /&gt;
					&amp;#039;offset&amp;#039; =&amp;gt; 0,&lt;br /&gt;
					&amp;#039;limit&amp;#039; =&amp;gt; 1000,&lt;br /&gt;
					&amp;#039;count&amp;#039; =&amp;gt; 1,&lt;br /&gt;
					&amp;#039;like_mode&amp;#039; =&amp;gt; [], &lt;br /&gt;
					&amp;#039;compare_mode&amp;#039; =&amp;gt; []&lt;br /&gt;
				]);&lt;br /&gt;
		echo json_encode($redirects);&lt;br /&gt;
	} else {&lt;br /&gt;
	?&amp;gt;&lt;br /&gt;
	&amp;lt;html&amp;gt;&lt;br /&gt;
	&amp;lt;head&amp;gt;&lt;br /&gt;
		&amp;lt;title&amp;gt;Redirects&amp;lt;/title&amp;gt;&lt;br /&gt;
		&amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
			* {&lt;br /&gt;
				margin: 0;&lt;br /&gt;
			}&lt;br /&gt;
			.but {&lt;br /&gt;
				padding: 10px;&lt;br /&gt;
			}&lt;br /&gt;
			.cont {&lt;br /&gt;
				margin: 10px;&lt;br /&gt;
			}&lt;br /&gt;
		&amp;lt;/style&amp;gt;&lt;br /&gt;
	&amp;lt;/head&amp;gt;&lt;br /&gt;
	&amp;lt;body&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;#039;cont&amp;#039;&amp;gt;&lt;br /&gt;
			&amp;lt;textarea id=&amp;quot;textarea&amp;quot; name=&amp;quot;list&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
			&amp;lt;input id=&amp;quot;output_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Получить редиректы&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;input id=&amp;quot;input_redd&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Отправить редиректы&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;input id=&amp;quot;clear&amp;quot; class=&amp;quot;but&amp;quot; type=&amp;quot;button&amp;quot; value=&amp;quot;Очистить&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;script&amp;gt;&lt;br /&gt;
		function xhrajax(data,rType,func) {&lt;br /&gt;
			var xhr = new XMLHttpRequest;&lt;br /&gt;
			xhr.open(&amp;quot;POST&amp;quot;, location.href, true);&lt;br /&gt;
			xhr.setRequestHeader(&amp;#039;Content-type&amp;#039;, &amp;#039;application/x-www-form-urlencoded&amp;#039;);&lt;br /&gt;
			xhr.onreadystatechange = function() { &lt;br /&gt;
				if(xhr.readyState == 4) {&lt;br /&gt;
					if(xhr.response) {&lt;br /&gt;
						func(xhr.response);&lt;br /&gt;
					} else {&lt;br /&gt;
						alert(&amp;quot;Что-то пошло не так&amp;quot;);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
			xhr.responseType = rType;&lt;br /&gt;
			xhr.send(data);&lt;br /&gt;
		}&lt;br /&gt;
		window.onload = function() {&lt;br /&gt;
			textarea.style.width = window.innerWidth/2;&lt;br /&gt;
			textarea.style.height = 500;&lt;br /&gt;
			input_redd.onclick = function() {&lt;br /&gt;
				if(confirm(&amp;quot;Вы действительно хотите записать редиректы?&amp;quot;)) {&lt;br /&gt;
					data = [];&lt;br /&gt;
					ptext = textarea.value;&lt;br /&gt;
					regexp = /&amp;#039;(.+)&amp;#039;,&amp;#039;(.+)&amp;#039;,&amp;#039;(.+)&amp;#039;,&amp;#039;(.+)&amp;#039;/g;&lt;br /&gt;
					var r;&lt;br /&gt;
					var str = &amp;quot;&amp;quot;;&lt;br /&gt;
					while ((r = regexp.exec(ptext)) !== null) {&lt;br /&gt;
						data.push({&amp;#039;s&amp;#039;:r[1],&amp;#039;t&amp;#039;:r[2],&amp;#039;st&amp;#039;:r[3],&amp;#039;fl&amp;#039;:(+r[4]?true:false)})&lt;br /&gt;
					}	&lt;br /&gt;
					xhrajax(&amp;quot;list=&amp;quot;+JSON.stringify(data),&amp;quot;document&amp;quot;,function(r){&lt;br /&gt;
							alert(&amp;quot;Редиректы добавлены&amp;quot;);&lt;br /&gt;
						});&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
			output_redd.onclick = function() {&lt;br /&gt;
				xhrajax(&amp;quot;get=1&amp;quot;,&amp;quot;json&amp;quot;,function(res){&lt;br /&gt;
					var str = &amp;quot;&amp;quot;;&lt;br /&gt;
					for(var i in res) {&lt;br /&gt;
						str += &amp;quot;&amp;#039;&amp;quot;+res[i][&amp;#039;source&amp;#039;]+&amp;quot;&amp;#039;,&amp;#039;&amp;quot;;&lt;br /&gt;
						str += res[i][&amp;#039;target&amp;#039;]+&amp;quot;&amp;#039;,&amp;#039;&amp;quot;;&lt;br /&gt;
						str += res[i][&amp;#039;status&amp;#039;]+&amp;quot;&amp;#039;,&amp;#039;&amp;quot;;&lt;br /&gt;
						str += (res[i][&amp;#039;made_by_user&amp;#039;]?1:0)+&amp;quot;&amp;#039;\n&amp;quot;;&lt;br /&gt;
					}&lt;br /&gt;
					textarea.value = str;&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
			clear.onclick = function() {&lt;br /&gt;
				textarea.value = &amp;quot;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;/body&amp;gt;&lt;br /&gt;
	&amp;lt;/html&amp;gt;&lt;br /&gt;
	&amp;lt;?&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Кнопка &amp;#039;&amp;#039;&amp;#039;Получить редиректы&amp;#039;&amp;#039;&amp;#039; записывает редиректы в поле textarea в формате csv.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Кнопка &amp;#039;&amp;#039;&amp;#039;Отправить редиректы&amp;#039;&amp;#039;&amp;#039; записывает редиректы в csv формате из поля textarea в модуль Редиректы.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Кнопка &amp;#039;&amp;#039;&amp;#039;Очистить&amp;#039;&amp;#039;&amp;#039; очищает поле textarea.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Категория:Модуль Редиректы]]&lt;/div&gt;</summary>
		<author><name>Vitaliks</name></author>
		
	</entry>
</feed>