Translations of this page?:

Btiteam

Hacking

В btit v.1.x поставить хак на трекер, означало заниматься копипастингом. В xbtit v.2 большая часть работы должна быть сделанной релизером, вам, как админу трекера, нужно будет только загрузить папку с хаком на сервер и нажать кнопку 8-)

Метод btit v.1.x Метод xbtit v.2
Хак: «добавление подписе на форум» by Ksami Вам нужно создать файл с названием «modification.xml», вот так выглядит начало файла:
<hack>
  <title>Подпись на (Внутреннем) Форуме</title>
  <author>Original author: Ksami</author>
  <version>1.0</version>
  <!-- usercp.profile.php -->
  <file>
открыть «usercp.profile.php»
<name>"$DEFAULT_ROOT/user/usercp.profile.php"</name>
найти:
$avatar=htmlspecialchars(AddSlashes($_POST["avatar"]));
<operation>
      <search><![CDATA[$avatar=htmlspecialchars(AddSlashes($_POST["avatar"]));]]></search>
добавить после:
           $signature=AddSlashes(htmlspecialchars($_POST["signature"]));
      <action>"add"</action>
      <where>"after"</where>
      <data><![CDATA[$signature=AddSlashes(htmlspecialchars($_POST["signature"]));]]></data>
    </operation>



И так далее для всех операций и фалов которые должны быть подправлены или созданы для хака.

Подробное описание

Как мы видели выше, файл modification.xml является главным(в большинстве случаев) файлом для редактирования/добавления контента хака, разделен на секции. Рассмотрим ети секции более подробно:

<hack></hack>

Секция означает начало и конец хака соответственно, Файл modification.xml может иметь более чем одну секцию <hack>, на практике, если вам нужно иметь более одной секции <hack> лучше разбить их на несколько modification.xml файлов.

<title></title>

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

<author></author>

Имя того кто является автором хака. Будет также отображено в списке хаков панели администратора трекера.

<version></version>

Версия хака. Полезная и важная информация. Не забывайте ее изменять при обновлении своего хака.

<file></file>

Эта секция может быть повторена столько раз, сколько файлов нужно отредактировать хаку.

<name></name>

Вам нужно указать полный путь к файлу. Некоторые пременные деклорированы в системе:

  • $DEFAULT_ROOT: основная папка трекера.(root/)
  • $DEFAULT_STYLE_PATH: указывает на папку стиля по умолчанию (root/style/xbtit_default)
  • $DEFAULT_LANGUAGE_PATH: указывает на языковую папку (root/language/english)

например если трекер установлен в папку /var/www/mytracker, $DEFAULT_ROOT/details.php будет указывать на файл /var/www/mytracker/details.php

<operation></operation>

Так же как и секция <file> может повторяться столько раз, сколько потребуется произвести операции в текущем. открытом файле.

<search></search>

Укажите строку с текстом для поиска в открытом файле. Мульти-строковой поиск должен быть внутри CDATA секции.
<![CDATA[…текст для поиска …]]>
Для уменьшения риска ошибки в синтаксисе, используйте всегда CDATA для поиска.
not required if action is copy.

<data></data>

Данные которые будут вставлены в открытый фаил. Многостроковой код нужно оборачивать в CDATA.
<![CDATA[… данные для вставки …]]>
Для уменьшения риска ошибки в синтаксисе, используйте всегда CDATA.

<where></where>

В етой секции вам нужно указать куда должен быть добавлен файл, или данные. Возможными переменными могут быть:

  • before: данные указаные в части <data> будут вставлены перед текстом поиска заданном в секции <search>
  • after: данные указаные в части <data> будут вставлены после текстом поиска заданном в секции <search>
  • полный путь к файлу: данные файла из секции <data> будут скопированны в файл по указанному пути


не используется в секциях: sql и remove

<action></action>

доступные варианты:

  • add: данные из <data> будут добавлены
  • remove: найденный текст из секции <search> будет удален
  • replace: данные из секции <data> заменят данные найденные с помощью секции <search>
  • copy: указанный файл будет скопирован использую <where> секцию
  • sql: данные в секции <data> будут выполнены как запрос к базе данных



Это все! Мы надеямся что вы останетесь довольны новой системой хаков:

  • Как разработчик, так как \фективность распространения хаков повысится, даже админ без знаний php сможет установить на свой трекер Ваш хак.
  • Как админ, потому что установка хаков никогда небыла такой простой!



Наслождайтесь!

ru/hacking.txt · Последние изменения: 2011/01/17 16:41 — acerextensa
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki