Как работает patch. Использование комманд diff и patch. Устранение неполадок при открытии файлов PATCH

Если файл.PATCH известен Вашей системе, то открыть его можно двойным нажатием мышкой или клавишей ENTER. Эта операция запустит ассоциируемые с файлом.PATCH аппликации, установленные в системе. Если система встречает файл впервые и отсутствуют соответствующие ассоциации, то акция закончится предложением системы, найти соответствующее программное обеспечение в компьютере либо сети интернет.

Иногда случается, что для обслуживания типа файлов.PATCH приписана неправильная программа. Это случается в следствии действия враждебных программ, таких как вирусы или вредоносные программы, но чаще всего это результат ошибочного совмещения аппликации с расширением файла.PATCH. Если во время обслуживания нового типа файлов.PATCH мы укажем системе неправильную программу, то система ошибочно будет рекомендовать ее использование всякий раз, когда будет встречаться файл этого типа. В таком случае следует попробовать повторно выбрать соответствующую аппликацию. Нажмите правой кнопкой мышки на файл.PATCH, а затем выберите из меню опцию "Открыть с помощью..." затем "Выбрать программу по умолчанию" . Сейчас выберите одну из установленных аппликаций из вышеуказанного списка и попробуйте снова.

Программы, которые откроют файл.PATCH

Ручное редактирование Реестра Windows

Если наша система не справляется с расширением.PATCH и подвели все автоматические и полуавтоматические методы обучения его этому искусству, остается ручное редактирование реестра Windows. Этот реестр хранит всю информацию, касающуюся рабоы нашей операционной системы, в том числе соединения расширений файлов с программами для их обслуживания. Команда REGEDIT вписанная в окне „поиск программ и файлов” или „запустить в случае старших версий операционной системы, предоставляет нам доступ к реестру нашей операционной системы. Все операции, проведенные в реестре (даже не очень сложные, касающееся расширения файла.PATCH) имеют значительное влияние на работу нашей системы, поэтому прежде чем проводить какие-либо модификации следует убедится, что сделана копия актуального реестра. Интересующий нас раздел - это ключ HKEY_CLASSES_ROOT . Следующая инструкция показывает, шаг за шагом, как модифицировать реестр, а конкретно запись в реестре, содержащую информацию о файле.PATCH.

Шаг за шагом

  • Нажмите кнопку “start”
  • В окне „найти программы и файлы” (в старших версиях системы Windows это окно „Запустить”) впишите команду „regedit” а затем утвердите операцию клавишей „ENTER”. Эта операция запустит системный редактор реестра. Этот инструмент позволит не только просмотреть существующие записи, но также провести их модификацию, добавление или удаление вручную. В связи с тем, что реестр системы Windows ключевой для ее работы, все операции, проводящиеся на ней, следует выполнять рассудительно и сознательно. Неосторожное устранение или модификация несоответственного ключа может необратимо повредить операционную систему.
  • С помощью комбинации клавишей ctr+F или меню Редактирование и опции „Найти” найдите интересующее вас расширение.PATCH, вписав его в окне поисковика. Утвердите, нажав OK или с помощью клавиши ENTER.
  • Запасная копия. Чрезвычайно важным является создание запасной копии реестра, прежде чем совершить в нем какие-либо изменения. Каждое изменение имеет влияние на действие нашего компьютера. В крайних случаях ошибочная модификация реестра может привести к невозможности повторного запуска системы.
  • Интересующее Вас значение, касающееся расширения, можно вручную редактировать изменяя ключи, приписанные к найденному расширению.PATCH. В этом месте Вы можете также самостоятельно создать нужную запись с расширением а.PATCH если такое отсутствует в реестре. Все доступные варианты находятся в подручном меню (правая кнопка мышки) или в меню "Редактирование" после размещения курсора в соответствующем месте на экране.
  • После окончания редактирования записи, касающейся расширения.PATCH закройте системный реестр. Введенные изменения войдут в жизнь после повторного запуска операционной системы.

***

Ни для кого не секрет, что в нашей стране 90% установленных программ на компьютерах не являются лицензионными. Программы уже взломаны, но чтобы их установить требуются некоторые навыки. В статье рассмотрены самые распространенные способы установки пиратских программ. Как пользоваться keygen? Как пользоваться crack? Что такое request code? Как пользоваться patch?

***

1. Инструкция по установке в текстовом файле

Первое, на что надо обратить внимание, есть ли в этой папке файл «readme.txt» или «прочти меня.txt» (могут быть и другие названия). Очень часто в нем написана инструкция по правильной установке программы. Если файл с инструкцией есть, то, смело, открываем его и следуем инструкции. Если файла нет, то ситуация немного усложняется.

2. Серийный номер в текстовом файле

Для подтверждения прав на программу иногда требуется серийный номер. Имея его, вы сможете установить программу бесплатно.

Серийный номер может потребоваться либо при установке программы, либо при первом запуске уже после установки. Пропустить этот шаг вы не сможете, дальше программа не пойдет, пока вы не введете серийный номер (рис.1).


Пример серийного номера: ADE-R119-F196-k9BA-17CD

В папке с программой (в той же папке что и установочный файл) может находиться файл с серийным номером. Чаще всего он называется «Серийный номер», «Serial number», «Ключ», «key», «crack». Открываем этот файл, копируем серийный номер и вставляем его в нужное место.

Последовательность действий:

  1. Открыть текстовый файл, скопировать серийный номер (Cntr+C)

3. Как пользоваться keygen

В папке с программой может находиться файл-программа (keygen, crack, ...).

Вот пример такой программы, если ее запустить (рис.2):


рис.2 Генератор серийных номеров

Нажимаем на кнопку «Generate» (рис.3)


рис.3 Генератор серийных номеров с ключом

Копируем серийный номер, вставляем в нужное место и все готово. Продолжаем установку, либо нажимаем "Ок" (возможно "Готово", "далее" ...), если установка уже завершена.

Последовательность действий:

  1. Начать установку программы, пока не потребует серийный номер
  2. Открыть файл Keygen
  3. Сгенерировать серийный номер и скопировать (Cntr+С)
  4. Вставить его в то место, где требуется (Cntr+V)

4.Получение доступа при помощи "Request code"

Еще один вариант. Во время установки программы или после запуска установленной программы, на экране появляется окно с регистрацией. В папке с установочным файлом должен быть keygen.exe, crack.exe или что-то еще.
Пример окна регистрации (рис.4):


рис.4 Начало регистрации с "Request code"

Иногда нужно выбрать режим регистрации, например, выбрать «ввести серийный номер». На экране появляется окно для ввода серийного номера. (рис.5)

В данном случае:
- Get an activation code - получить код активации
- Enter an activation code - ввести код активации (нужный нам вариант)


Открываем из папки с установкой программы файл keygen.exe (crack.exe, ...) (рис.6).


Теперь нам нужно скопировать "Request code" из окна на рис.4 (рис.5) и вставить в окно на рис.6. Выделяем Request code и нажимаем Cntr+C (горячая клавиша копировать).
Вставляем в последнее окно скопированный код (Cntr+V).

Обратите внимание!!!
Код скопировался не полностью, а только первая строчка. Вторую строчку кода нужно скопировать отдельно, в окне на рис.6 нужно поставить пробел, скопировать и вставить оставшуюся часть "Request code". Должно получиться так (рис.7):


рис.7 Генератор после вставления "Request code"

После этого в программе на рис.7 нажимаем кнопку «Calculate» (иногда называется Generate). Должно получиться так (рис.8):


Копируем "Auth code" из программы рис.7 в окно на рис.5 и получаем так (рис.9):


Нажимаем Next или Ok. Нам должны сообщить, что регистрация прошла успешно. Теперь программой можно пользоваться бесплатно.

Такая ситуация встречается довольно часто. Главное не забывайте, что Request code состоит из двух строчек.

Последовательность действий:

  1. Установить программу
  2. Запустить программу
  3. Выбрать режим ввода серийного номера (Enter …)
  4. Открыть keygen
  5. Скопировать "Request code" из программы в "keygen" (обе строчки)
  6. В "keygen" нажать кнопку сгенерировать
  7. Скопировать код, полученный в "keygen"
  8. Вставить его в требуемое место в программе (Cntr+V)
  9. Нажать готово

5. Как пользоваться patch

Иногда для бесплатной установки программы нельзя просто сгенерировать серийный номер. В таких случаях используют специальные программы, которые изменяют файлы так, чтобы программа не требовала денег. В папке с установщиком программы должен находиться файл "Patch" (он может называться - patch, keygen, crack, ...). Это и есть программа, которую еще называют патч.

Первое, что мы должны сделать, это установить программу (ту, которую мы хотим сделать бесплатной). После установки открывать программу не надо.

Дальше, надо переписать patch (или другой файл-патч) в папку, в которую мы установили программу. Скорее всего это диск С, папка Program files, папка с название программы (C:/Program files/«название программы»).

Вот пример файла patch.exe (рис.10):

рис.10 Программа-патч

Чаще всего в этом файле только одна кнопка. В данном случае это кнопка Apply patch. В некоторых случаях она может называться Crack. Нажимаем на эту кнопку и программой можно пользоваться бесплатно.

Последовательность действий:

  1. Установить программу
  2. Скопировать Patch.exe в папку, куда установили программу
  3. Открыть Patch.exe
  4. Нажать единственную кнопку в программе "Patch"
  5. Запустить программу

6. Файлы, для установки программы бесплатно, отсутствуют

Может быть и такое, что программу вы скачали без пиратского «лекарства». То есть, без готовых серийных номеров, кейгенов или патчей. Тогда задача усложняется. Лучше конечно скачивать программы с готовыми «лекарствами». Но что если все-таки такая проблема встала?

Последовательность действий:

  1. Устанавливаем программу
  2. Узнаем полную версию программы. (Например, Daemon Tools Lite 4.35.6)
    Чаще всего в названии установочного файла присутствует полное название. Если программа уже установлена, то в пункте меню «Справка» есть строка «О программе». Там можно тоже узнать полную версию программы. Если не получилось найти полное название, вводите в поиск неполное.
  3. Если при установке или после требует серийный номер, то в поиске, например yandex.ru, вводим: серийный номер для «полное название программы» Если требуются другие виды регистрации, то в строке поиска, например yandex.ru, вводим: crack для «полное название программы»
  4. Перебираем всевозможные ссылки до тех пор, пока не скачаем подходящее лекарство или серийный номер
  5. автор статьи
  6. 2011 Игорь Баянчиков

Самой частой причиной проблем с раскрытием файла PATCH является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате PATCH - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов PATCH.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом PATCH. Если это не произошло, то файл PATCH успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл PATCH, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл PATCH

Windows

Почему я не могу открыть файл PATCH?

Проблемы с файлами PATCH могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы PATCH не решит проблему. Причиной невозможности открытия, а также работы с файлом PATCH может быть также:

Несоответственные связи файла PATCH в записях реестра
- повреждение файла PATCH, который мы открываем
- инфицирование файла PATCH (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения PATCH из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение PATCH

Устранение этих проблем должно привести к свободному открытию и работе с файлами PATCH. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов PATCH. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе PATCH должны появится сортированные по названию файла.

Ни для кого не секрет, что в нашей стране 90% установленных программ на компьютерах не являются лицензионными. Программы уже взломаны, но чтобы их установить требуются некоторые навыки. В статье рассмотрены самые распространенные способы установки пиратских программ. Как пользоваться keygen? Как пользоваться crack? Что такое request code? Как пользоваться patch?

    Требуемые знания
    Советую изучить до

Изучаем содержимое папки с установочным файлом

Открываем папку с установочными файлами программы и изучаем ее содержимое. Возможно, в ней вы найдете папку crack, тогда открываем ее. Вот возможные варианты, что вы можете найти.

  1. Текстовый файл (.txt)
  2. Файл-приложение (.exe). Открываем.
  3. В папке нет ничего кроме установочного файла

1. Инструкция по установке в текстовом файле

Первое, на что надо обратить внимание, есть ли в этой папке файл «readme.txt» или «прочти меня.txt» (могут быть и другие названия). Очень часто в нем написана инструкция по правильной установке программы. Если файл с инструкцией есть, то, смело, открываем его и следуем инструкции. Если файла нет, то ситуация немного усложняется.

2. Серийный номер в текстовом файле

Для подтверждения прав на программу иногда требуется серийный номер. Имея его, вы сможете установить программу бесплатно.

Серийный номер может потребоваться либо при установке программы, либо при первом запуске уже после установки. Пропустить этот шаг вы не сможете, дальше программа не пойдет, пока вы не введете серийный номер (рис.1).


Пример серийного номера: ADE-R119-F196-k9BA-17CD


В папке с программой (в той же папке что и установочный файл) может находиться файл с серийным номером. Чаще всего он называется «Серийный номер», «Serial number», «Ключ», «key», «crack». Открываем этот файл, копируем серийный номер и вставляем его в нужное место.

Последовательность действий:

  • Открыть текстовый файл, скопировать серийный номер (Cntr+C)
  • 3. Как пользоваться keygen

    В папке с программой может находиться файл-программа (keygen, crack, ...).

    Вот пример такой программы, если ее запустить (рис.2):



    рис.2 Генератор серийных номеров

    Нажимаем на кнопку «Generate» (рис.3)


    рис.3 Генератор серийных номеров с ключом

    Копируем серийный номер, вставляем в нужное место и все готово. Продолжаем установку, либо нажимаем "Ок" (возможно "Готово", "далее" ...), если установка уже завершена.

      Последовательность действий:
    1. Начать установку программы, пока не потребует серийный номер
    2. Открыть файл Keygen
    3. Сгенерировать серийный номер и скопировать (Cntr+С)
    4. Вставить его в то место, где требуется (Cntr+V)

    4.Получение доступа при помощи "Request code"

    Еще один вариант. Во время установки программы или после запуска установленной программы, на экране появляется окно с регистрацией. В папке с установочным файлом должен быть keygen.exe, crack.exe или что-то еще.
    Пример окна регистрации (рис.4):


    рис.4 Начало регистрации с "Request code"

    Иногда нужно выбрать режим регистрации, например, выбрать «ввести серийный номер». На экране появляется окно для ввода серийного номера. (рис.5)

    В данном случае:
    - Get an activation code – получить код активации
    - Enter an activation code – ввести код активации (нужный нам вариант)


    Открываем из папки с установкой программы файл keygen.exe (crack.exe, ...) (рис.6).


    Теперь нам нужно скопировать "Request code" из окна на рис.4 (рис.5) и вставить в окно на рис.6. Выделяем Request code и нажимаем Cntr+C (горячая клавиша копировать).
    Вставляем в последнее окно скопированный код (Cntr+V).

    Обратите внимание!!!
    Код скопировался не полностью, а только первая строчка. Вторую строчку кода нужно скопировать отдельно, в окне на рис.6 нужно поставить пробел, скопировать и вставить оставшуюся часть "Request code". Должно получиться так (рис.7):


    рис.7 Генератор после вставления "Request code"

    После этого в программе на рис.7 нажимаем кнопку «Calculate» (иногда называется Generate). Должно получиться так (рис.8):


    Копируем "Auth code" из программы рис.7 в окно на рис.5 и получаем так (рис.9):


    Нажимаем Next или Ok. Нам должны сообщить, что регистрация прошла успешно. Теперь программой можно пользоваться бесплатно.

    Такая ситуация встречается довольно часто. Главное не забывайте, что Request code состоит из двух строчек.

      Последовательность действий:
    1. Установить программу
    2. Запустить программу
    3. Выбрать режим ввода серийного номера (Enter …)
    4. Открыть keygen
    5. Скопировать "Request code" из программы в "keygen" (обе строчки)
    6. В "keygen" нажать кнопку сгенерировать
    7. Скопировать код, полученный в "keygen"
    8. Вставить его в требуемое место в программе (Cntr+V)
    9. Нажать готово

    5. Как пользоваться patch

    Иногда для бесплатной установки программы нельзя просто сгенерировать серийный номер. В таких случаях используют специальные программы, которые изменяют файлы так, чтобы программа не требовала денег. В папке с установщиком программы должен находиться файл "Patch" (он может называться - patch, keygen, crack, ...). Это и есть программа, которую еще называют патч.


    Первое, что мы должны сделать, это установить программу (ту, которую мы хотим сделать бесплатной). После установки открывать программу не надо.


    Дальше, надо переписать patch (или другой файл-патч) в папку, в которую мы установили программу. Скорее всего это диск С, папка Program files, папка с название программы (C:/Program files/«название программы»).


    Вот пример файла patch.exe (рис.10):

    рис.10 Программа-патч

    Чаще всего в этом файле только одна кнопка. В данном случае это кнопка Apply patch. В некоторых случаях она может называться Crack. Нажимаем на эту кнопку и программой можно пользоваться бесплатно.

      Последовательность действий:
    1. Установить программу
    2. Скопировать Patch.exe в папку, куда установили программу
    3. Открыть Patch.exe
    4. Нажать единственную кнопку в программе "Patch"
    5. Запустить программу

    6. Файлы, для установки программы бесплатно, отсутствуют

    Может быть и такое, что программу вы скачали без пиратского «лекарства». То есть, без готовых серийных номеров, кейгенов или патчей. Тогда задача усложняется. Лучше конечно скачивать программы с готовыми «лекарствами». Но что если все-таки такая проблема встала?

      Последовательность действий:
    1. Устанавливаем программу
    2. Узнаем полную версию программы. (Например, Daemon Tools Lite 4.35.6)
      Чаще всего в названии установочного файла присутствует полное название. Если программа уже установлена, то в пункте меню «Справка» есть строка «О программе». Там можно тоже узнать полную версию программы. Если не получилось найти полное название, вводите в поиск неполное.
    3. Если при установке или после требует серийный номер, то в поиске, например yandex.ru, вводим: серийный номер для «полное название программы» Если требуются другие виды регистрации, то в строке поиска, например yandex.ru, вводим: crack для «полное название программы»
    4. Перебираем всевозможные ссылки до тех пор, пока не скачаем подходящее лекарство или серийный номер

    Заключение

    Возможно совмещение нескольких способов регистрации. Например, в папке с установочным файлом может быть серийный номер в текстовом документе, а также Patch. В таком случае при установке вводите серийный номер, а после установки используете Patch. Но для этого надо знать как пользоваться keygen, crack, patch, серийным номером по отдельности.


    Предупреждаю, что материал этой статьи является ознакомительным. Использование программ без лицензии влечет за собой уголовную ответственность.


    Если вы нашли ошибку в тексте, то выделите текст и нажмите Cntr+Enter.


    По любым вопросам по данной статье пишите в комментариях. Также если вам понравилась статья, напишите это в комментариях.

    Нужно перейти в ту папку, где создавался этот файл.
    Ее можно узнать, посмотрев внутрь файла любым текстовым редактором, например nano. Там первой строчкой будет указан файл, который заменяется. Ищем этот файл у себя, и копируем файл с патчем в ту папку. Затем внутри той папки выполняем команду
    patch -p1

    The -p option tells patch how many leading prefixes to strip. For patches created using git, -p1 is normally the right option, and is the default for git apply. If that doesn"t work, try either of the above commands with -p0 instead.

    Если при этом вы получаете следущую ошибку:
    bash: patch: команда не найдена
    То нужно установить программу "patch". В АрхЛинкусе ее найти очень сложно - она оказывается прячется в пакете base-devel:
    sudo pacman -S base-devel

    Также можно сделать по-другому.
    Такой способ будет необходим, если нас не устраивают пути, по которым делался патч. Например, в моём случае человек сделал патч через пути editview.newnodeajax/theme/editview.js , а я не хочу у себя создавать kbiy.. папку editview.newnodeajax для применения этого патча.
    Тогда:

    Сначала смотрим содержимое этого файла. Там должна быть одна или несколько шапок типа такого

    Diff -U 3 -H -B -E -p -t -r -N -- editview/theme/editview.js editview.newnodeajax/theme/editview.js --- editview/theme/editview.js 2010-11-11 06:04:30.000000000 +1100 +++ editview.newnodeajax/theme/editview.js 2011-03-10 16:07:30.220180542 +1100

    Каждая такая шапка обозначает один файл для патчинга. Таких шапок внутри файла.patch или.diff может быть несколько.

    Соответственно разделяем файл на столько файлов, сколько таких шапок есть. Т.е. если у меня примерно такой файл

    Diff -U 3 -H -B -E -p -t -r -N -- editview/includes/editview.views.inc editview.newnodeajax/includes/editview.views.inc --- editview/includes/editview.views.inc 2011-01-24 07:48:54.000000000 +1100 +++ editview.newnodeajax/includes/editview.views.inc 2011-03-10 16:06:43.050180542 +1100 @@ -70,40 +70,66 @@ function editview_js() { if (isset($_POST["form_build_id"]) && isset($_POST["editview_view"])) { // We are going to need to load nodes module_load_include("inc", "node", "node.pages"); - - // Build the view so all necessary classes will be defined. + + // Build the view so all necessary classes will be defined + // and so we can re-render it if necessary $view = views_get_view($_POST["editview_view"]); - $view->build(); - + $view->set_arguments(unserialize($_POST["editview_view_args"])); + //inlude input (exposed filters) and pager in case of re-render + $view->set_exposed_input(unserialize($_POST["editview_view_input"])); + $view->pager = unserialize($_POST["editview_view_pager"]); + $view->build($_POST["editview_view_display"]); + // Fast path is to get the form out of the cache. But if minimum cache // lifetimes have been specified, on post of a form all cached forms // except the posted one get invalidated. In that case we need to rebuild // the form from scratch. + $form_id = $_POST["form_id"]; $form_build_id = $_POST["form_build_id"]; $form_state = array("storage" => NULL, "submitted" => FALSE); $form = form_get_cache($form_build_id, $form_state); + $is_new_node = $form_id == "editview_node_form_new"; if (empty($form)) { - $node = node_load($_POST["editview_nid"]); - $form = drupal_retrieve_form($_POST["form_id"], $form_state, $node, $view, $_POST["editview_order"], $_POST["editview_uri"]); + if (!$is_new_node) { + $node = node_load($_POST["editview_nid"]); + } diff -U 3 -H -B -E -p -t -r -N -- editview/theme/editview.js editview.newnodeajax/theme/editview.js --- editview/theme/editview.js 2010-11-11 06:04:30.000000000 +1100 +++ editview.newnodeajax/theme/editview.js 2011-03-10 16:07:30.220180542 +1100 @@ -9,7 +9,9 @@ var Editview = Editview || { var form = this; var form_id = $("", form).val(); var node_form = form_id && form_id.match(/^editview_node_form_\d+/); + var node_form_new = form_id && form_id.match(/^editview_node_form_new/); if (node_form) { + var wrapper = $(form).parent(); var options = { url: Drupal.settings.editview.submit_url, beforeSubmit: function(form_values, form, options) { @@ -26,14 +28,12 @@ var Editview = Editview || { if (deleted && !confirm(Drupal.t("Are you sure you want to delete @name?", {"@name": name}) +"\n"+ Drupal.t("This action cannot be undone."))) { return false; } - var wrapper = $(form).parent(); wrapper.slideUp("slow"); },

    То я разделяю его на два файла с такими содержимыми:
    1й файл:

    Diff -U 3 -H -B -E -p -t -r -N -- editview/includes/editview.views.inc editview.newnodeajax/includes/editview.views.inc --- editview/includes/editview.views.inc 2011-01-24 07:48:54.000000000 +1100 +++ editview.newnodeajax/includes/editview.views.inc 2011-03-10 16:06:43.050180542 +1100 @@ -70,40 +70,66 @@ function editview_js() { if (isset($_POST["form_build_id"]) && isset($_POST["editview_view"])) { // We are going to need to load nodes module_load_include("inc", "node", "node.pages"); - - // Build the view so all necessary classes will be defined. + + // Build the view so all necessary classes will be defined + // and so we can re-render it if necessary $view = views_get_view($_POST["editview_view"]); - $view->build(); - + $view->set_arguments(unserialize($_POST["editview_view_args"])); + //inlude input (exposed filters) and pager in case of re-render + $view->set_exposed_input(unserialize($_POST["editview_view_input"])); + $view->pager = unserialize($_POST["editview_view_pager"]); + $view->build($_POST["editview_view_display"]); + // Fast path is to get the form out of the cache. But if minimum cache // lifetimes have been specified, on post of a form all cached forms // except the posted one get invalidated. In that case we need to rebuild // the form from scratch. + $form_id = $_POST["form_id"]; $form_build_id = $_POST["form_build_id"]; $form_state = array("storage" => NULL, "submitted" => FALSE); $form = form_get_cache($form_build_id, $form_state); + $is_new_node = $form_id == "editview_node_form_new"; if (empty($form)) { - $node = node_load($_POST["editview_nid"]); - $form = drupal_retrieve_form($_POST["form_id"], $form_state, $node, $view, $_POST["editview_order"], $_POST["editview_uri"]); + if (!$is_new_node) { + $node = node_load($_POST["editview_nid"]); + }

    Diff -U 3 -H -B -E -p -t -r -N -- editview/theme/editview.js editview.newnodeajax/theme/editview.js --- editview/theme/editview.js 2010-11-11 06:04:30.000000000 +1100 +++ editview.newnodeajax/theme/editview.js 2011-03-10 16:07:30.220180542 +1100 @@ -9,7 +9,9 @@ var Editview = Editview || { var form = this; var form_id = $("", form).val(); var node_form = form_id && form_id.match(/^editview_node_form_\d+/); + var node_form_new = form_id && form_id.match(/^editview_node_form_new/); if (node_form) { + var wrapper = $(form).parent(); var options = { url: Drupal.settings.editview.submit_url, beforeSubmit: function(form_values, form, options) { @@ -26,14 +28,12 @@ var Editview = Editview || { if (deleted && !confirm(Drupal.t("Are you sure you want to delete @name?", {"@name": name}) +"\n"+ Drupal.t("This action cannot be undone."))) { return false; } - var wrapper = $(form).parent(); wrapper.slideUp("slow"); },

    Далее я копирую соответсвующий файл в ту папку, где находится тот файл, который указан в шапке diff (в моём случае это файлы editview.newnodeajax/includes/editview.views.inc и editview/theme/editview.js), и далее применяем такую команду

    Patch originalfile -i patchfile.patch -o name.of.updatedfile

    Например, в моём случае это выглядит так:

    Patch editview.views.inc -i editview.newnodeajax.diff -o editview.views.patched.inc

    (я файл с отделённой первой шапкой назвал editview.newnodeajax.diff)
    Консоль вам должна выдать лишь одну строчку типа такого

    Patching file editview.js

    Это означает что всё хорошо.