Revision 469 (by ahitrov, 2014/12/24 13:57:26) Moving Contenido to Apache 2

% if ($save == 1) {
<script>
	self.opener.location.reload();
	window.close();
</script>
% } else {

<& "/contenido/components/header.msn" &>
%#<& "/contenido/components/naviline.msn", sect_id => $owner->id &>

% if ( (length($class) <= 0) && (! ref($link)) ) {

%	if ($id) {
<div align="center" style="font-size:110%; color:red;">
����� � ��������������� <% $id %> �� �������
</div>
<br><br>
%	} else {
<!-- ���� � ������� ����� ����� ��� �������� -->
<table width="50%" border="0"><tr><td>
<fieldset>
<legend>�������� ��� ����� ��� ��������</legend>
<& "/contenido/components/new_objects_form.msn", proto => 'links' &>
</fieldset>
</td></tr></table>
%	}

% } else {
<& "/contenido/components/obj_list_js.msn", object => $link, links_code => 0 &>
<& "/contenido/components/object_form.msn", object => $link, proto => 'links' &>
% }

</body>
</html>

% } ## else save == 1

<%ARGS>
	$class => undef
	$source_id => undef
	$source_class => undef
	$id => undef
	$delete => undef
	$save => undef
</%ARGS>

<%INIT>
	# �������� ���������� ������ - �� ������ ���� ����� ����...
	if ($class)
	{
		my @correct_classes = @{ $state->{available_links} };
		if (! (grep { $_ eq $class } @correct_classes))
		{
			# ����� �����, �� �� �� ����������
			$class = undef;
		}
	}

	my $link;
	if ($id && ($id !~ /\D/) && ($id > 0)) {
		$link = $keeper->get_link_by_id($id, class => $class);
	} else {
		$link = new $class ($keeper);
	}

	

#	# ��������...
#	if ( defined($id) && ($id > 0) && ($delete == 1) )
#	{
#		$link = $keeper->get_link_by_id($id);
#		$link->delete();
#
#		$r->header_out("Location", "sections.html?id=".$owner->id);
#		$r->status(302);
#		$r->send_http_header();
#		$m->abort();
#	}

	# ���������� ������������� ��������� ��� �������� ������...
	# ������, ���� ����� �� �������������� �����...
	#
	if ( $save == 1 ) {
		if ($m->comp('/contenido/components/set_properties.msn', object => $link, SETS => \%ARGS) != 1) {
			# ������, ���� �� ����������...
		}
		$link->store();
	}
	if ($ARGS{_save_auto}) {
		$m->redirect("./document_links.html?id=".$source_id);
	}

</%INIT>

Небольшая справка по веткам

cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.

koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.

utf8 – актуальная ветка, заточенная под UTF-8.

Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.