Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit f390f37

Browse files
committed
fix #2 (set creation time)
1 parent 7ad0944 commit f390f37

File tree

3 files changed

+56
-20
lines changed

3 files changed

+56
-20
lines changed

docs/en.md

+18-9
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,21 @@ Use Converter class for create database
150150
192,2,"some info 7","some info 8"
151151
34,"unused row","some info 9","some info 10"
152152
```
153-
2. Initialization converter
153+
1. Initialization converter
154154
```php
155155
$tmpDir = 'path/to/dir/for/temporary/files';
156156
$converter = new \Ddrv\Iptool\Converter($tmpDir);
157157
```
158-
3. Set author information
158+
159+
1. Set creation time.
160+
```php
161+
/**
162+
* $time - time in unixstamp format.
163+
*/
164+
$converter->setTime(1507638600); // 2017/10/10 15:30:00
165+
```
166+
167+
1. Set author information
159168
```php
160169
/**
161170
* $author can be a string no longer than 64 characters.
@@ -164,7 +173,7 @@ Use Converter class for create database
164173
$converter->setAuthor($author);
165174
```
166175
167-
4. Set license of database
176+
1. Set license of database
168177
```php
169178
/**
170179
* $license may be the name of a public license or the text of a license. The length is unlimited.
@@ -173,7 +182,7 @@ Use Converter class for create database
173182
$converter->setLicense($license);
174183
```
175184
176-
5. Add prepared files. Use the addCSV() method with parameters:
185+
1. Add prepared files. Use the addCSV() method with parameters:
177186
* unique key for file. Required;
178187
* path to csv file. Required;
179188
* count ignored first row (default 0);
@@ -186,7 +195,7 @@ Use Converter class for create database
186195
$converter->addCSV('networksCSV','/path/to/cvs/networks.csv',1);
187196
```
188197
189-
6. Define format of registers
198+
1. Define format of registers
190199
```php
191200
$info = array(
192201
'interval' => array(
@@ -222,15 +231,15 @@ Use Converter class for create database
222231
),
223232
);
224233
```
225-
7. Add definite registers. Use the addRegister() method with parameters:
234+
1. Add definite registers. Use the addRegister() method with parameters:
226235
* Register name. Required;
227236
* unique key of CSV file (from method addCSV). Required;
228237
* number of ID column. The account is from 0;
229238
* definite format of register.
230239
```php
231240
$converter->addRegister('info','infoCSV',0, $info);
232241
```
233-
8. Define format of intervals
242+
1. Define format of intervals
234243
```php
235244
$networks = array(
236245
/**
@@ -241,7 +250,7 @@ Use Converter class for create database
241250
);
242251
```
243252
244-
9. Add definite intervals. Use the addNetworks() method with parameters:
253+
1. Add definite intervals. Use the addNetworks() method with parameters:
245254
* unique key of intervals CSV file (from method addCSV). Required;
246255
* format IP address in CSV file. May be:
247256
* ip (for example, 123.123.123.123);
@@ -253,7 +262,7 @@ Use Converter class for create database
253262
```php
254263
$converter->addNetworks('networksCSV', 'ip', 0, 1, $networks);
255264
```
256-
10. Run compile database
265+
1. Run compile database
257266
```php
258267
$errors = $converter->getErrors();
259268
if (!$errors) {

docs/ru.md

+16-9
Original file line numberDiff line numberDiff line change
@@ -152,21 +152,28 @@ Array
152152
192,2,"some info 7","some info 8"
153153
34,"unused row","some info 9","some info 10"
154154
```
155-
2. Инициализируйте конвертер.
155+
1. Инициализируйте конвертер.
156156
```php
157157
$tmpDir = 'path/to/dir/for/temporary/files';
158158
$converter = new \Ddrv\Iptool\Converter($tmpDir);
159159
```
160-
3. Укажите информацию об авторе БД.
160+
1. Укажите информацию об авторе БД.
161161
```php
162162
/**
163163
* $author - строка длиной не более 64 символов.
164164
*/
165165
$author = 'Name Surname';
166166
$converter->setAuthor($author);
167167
```
168+
1. Укажите время создания БД.
169+
```php
170+
/**
171+
* $time - время в формате unixstamp.
172+
*/
173+
$converter->setTime(1507638600); // 2017/10/10 15:30:00
174+
```
168175
169-
4. Укажите лицензию базы данных.
176+
1. Укажите лицензию базы данных.
170177
```php
171178
/**
172179
* $license - может быть название публичной лицензии, ссылка на лицензионное соглашение или же непосредственно текст лицензии. Длина не лимитирована.
@@ -175,7 +182,7 @@ Array
175182
$converter->setLicense($license);
176183
```
177184
178-
5. Добавьте подготовленные файлы. Воспользуйтесь методом addCSV() с параметрами:
185+
1. Добавьте подготовленные файлы. Воспользуйтесь методом addCSV() с параметрами:
179186
* уникальный идентификатор для файла. Обязательный параметр;
180187
* путь к CSV файлу. Обязательный параметр;
181188
* количество игнорируемых строк с начала файла (по умолчанию 0);
@@ -188,7 +195,7 @@ Array
188195
$converter->addCSV('networksCSV','/path/to/cvs/networks.csv',1);
189196
```
190197
191-
6. Опишите формат справочника.
198+
1. Опишите формат справочника.
192199
```php
193200
$info = array(
194201
'interval' => array(
@@ -224,15 +231,15 @@ Array
224231
),
225232
);
226233
```
227-
7. Добавьте определённый справочник. Воспользуйтесь методом addRegister() с параметрами:
234+
1. Добавьте определённый справочник. Воспользуйтесь методом addRegister() с параметрами:
228235
* название регистра. Обязательный параметр;
229236
* уникальная строка, идентифицирующая CSV файл (вы её определили при использовании метода addCSV). Обязательный параметр;
230237
* номер колонки, содержащей идентификатор строки. Счёт колонок начинается с 0;
231238
* описанный формат справочника.
232239
```php
233240
$converter->addRegister('info','infoCSV',0, $info);
234241
```
235-
8. Определите формат интервалов адресов.
242+
1. Определите формат интервалов адресов.
236243
```php
237244
$networks = array(
238245
/**
@@ -243,7 +250,7 @@ Array
243250
);
244251
```
245252
246-
9. Добавьте интервалы адресов. Вызовите метод addNetworks() с параметрами:
253+
1. Добавьте интервалы адресов. Вызовите метод addNetworks() с параметрами:
247254
* уникальная строка, идентифицирующая CSV файл (вы её определили при использовании метода addCSV). Обязательный параметр;
248255
* формат IP адреса в CSV файле. Может быть:
249256
* ip (если IP представлены в обычном формате. Например, 123.123.123.123);
@@ -255,7 +262,7 @@ Array
255262
```php
256263
$converter->addNetworks('networksCSV', 'ip', 0, 1, $networks);
257264
```
258-
10. Запустите компиляцию БД
265+
1. Запустите компиляцию БД
259266
```php
260267
$errors = $converter->getErrors();
261268
if (!$errors) {

src/Converter.php

+22-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
/**
88
* Class Converter
99
*
10+
* @property integer $time
1011
* @property string $author
1112
* @property string $license
1213
* @property string $temporaryDir
@@ -30,6 +31,11 @@ class Converter
3031
*/
3132
const VERSION = '1';
3233

34+
/**
35+
* @var integer
36+
*/
37+
protected $time = 0;
38+
3339
/**
3440
* @var string
3541
*/
@@ -226,6 +232,20 @@ public function setAuthor($author)
226232
$this->author = $author;
227233
}
228234

235+
/**
236+
* Set creation time of database
237+
*
238+
* @param integer $time
239+
*/
240+
public function setTime($time)
241+
{
242+
$time = (int)$time;
243+
if ($time < 0) {
244+
$time = 0;
245+
}
246+
$this->time = $time;
247+
}
248+
229249
/**
230250
* Set license of database
231251
*
@@ -456,8 +476,8 @@ public function create($file)
456476
/* Remove register temporary file */
457477
if (is_writable($register)) unlink($register);
458478
}
459-
460-
fwrite($database,pack('N1A128',time(),$this->author));
479+
$time = empty($this->time)?time():$this->time;
480+
fwrite($database,pack('N1A128',$time,$this->author));
461481
fwrite($database,pack('A*',$this->license));
462482
fclose($database);
463483
return;

0 commit comments

Comments
 (0)