Line #
Revision
Author
1
3
ahitrov@rambler.ru
package SQL::DocumentTable;
2
3
use strict;
4
use base 'SQL::ProtoTable';
5
6
sub db_table
7
{
8
return 'documents';
9
}
10
11
sub available_filters {
12
my @available_filters = qw(
13
_class_filter
14
_status_filter
15
_in_id_filter
16
_id_filter
17
_name_filter
18
_class_excludes_filter
19
_sfilter_filter
20
_datetime_filter
21
_date_equal_filter
22
_date_filter
23
_previous_days_filter
24
_prev_to_filter
25
_next_to_filter
26
_s_filter
27
28
_excludes_filter
29
_link_filter
30
);
31
return \@available_filters;
32
}
33
34
# ----------------------------------------------------------------------------
35
# �������� ������ � ��������, ������ ��� ������� �����!
36
# ��� ����� �������� - ���������� ��� ���� ����������.
37
#
38
# attr - ������������ ��������, �������� ��������;
39
# type - ��� ���������, ��������� ��� ������������;
40
# rusname - ������� ��������, ����� �� ��������� ��� �����������;
41
# hidden - ����� 1, �����
42
# readonly - ������������� ��� ������ ������ ��� ��������� � ����������
43
# db_field - ���� � �������
44
# default - �������� �� ��������� (���� ������ ����� ��� ��������)
45
# ----------------------------------------------------------------------------
46
sub required_properties
47
{
48
487
ahitrov
my $self = shift;
49
my $id_sequence = $self->db_id_sequence();
50
3
ahitrov@rambler.ru
return (
51
{ # ������������� ���������, �������� �� ���� �����...
52
'attr' => 'id',
53
'type' => 'integer',
54
'rusname' => '������������� ���������',
55
'hidden' => 1,
56
'readonly' => 1,
57
'auto' => 1,
58
'db_field' => 'id',
59
'db_type' => 'integer',
60
487
ahitrov
'db_opts' => "not null default nextval('public.$id_sequence'::text)",
61
3
ahitrov@rambler.ru
},
62
{ # ����� ���������...
63
'attr' => 'class',
64
'type' => 'string',
65
'rusname' => '����� ���������',
66
'column' => 3,
67
'hidden' => 1,
68
'readonly' => 1,
69
'db_field' => 'class',
70
'db_type' => 'varchar(48)',
71
'db_opts' => 'not null',
72
},
73
{ # ��� ���������...
74
'attr' => 'name',
75
'type' => 'string',
76
'rusname' => '��������',
77
'column' => 2,
78
'db_field' => 'name',
79
'db_type' => 'varchar(255)',
80
},
81
{ # ����� �������� ���������, ��������� ����...
82
'attr' => 'ctime',
83
'type' => 'datetime',
84
'rusname' => '����� ��������',
85
'readonly' => 1,
86
'auto' => 1,
87
'hidden' => 1,
88
'db_field' => 'ctime',
89
'db_type' => 'timestamp',
90
'db_opts' => 'not null default now()',
91
'default' => 'CURRENT_TIMESTAMP',
92
},
93
{ # ����� ����������� ���������, ��������� ����...
94
'attr' => 'mtime',
95
'type' => 'datetime',
96
'rusname' => '����� �����������',
97
'hidden' => 1,
98
'auto' => 1,
99
'db_field' => 'mtime',
100
'db_type' => 'timestamp',
101
'db_opts' => 'not null default now()',
102
'default' => 'CURRENT_TIMESTAMP',
103
},
104
{ # ���� � ����� ���������...
105
'attr' => 'dtime',
106
'type' => 'datetime',
107
'rusname' => '���� � ����� ���������<sup style="color:#888;"> 1)</sup>',
108
'column' => 1,
109
'db_field' => 'dtime',
110
'db_type' => 'timestamp',
111
'db_opts' => 'not null default now()',
112
'default' => 'CURRENT_TIMESTAMP',
113
},
114
{ # ������ ������, �������������� ����������� �������...
115
'attr' => 'sections',
116
'type' => 'sections_list',
117
'rusname' => '������',
118
'hidden' => 1,
119
'db_field' => 'sections',
120
'db_type' => 'integer[]',
121
},
122
{ # ���� ���� ������� �������� ����������...
123
'attr' => 'status',
124
'type' => 'status',
125
'rusname' => '������',
126
'db_field' => 'status',
127
'db_type' => 'integer',
128
},
129
);
130
}
131
132
1;
133
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.