Revision 296 (by ahitrov, 2013/03/26 17:59:01) |
Promosite (anthill) project source
|
% if ( $m->comp_exists ("/comps/$prj/header.msn") ) {
<& "/comps/$prj/header.msn", alias => 'main' &>
% } else {
<& "/comps/header_rambler.msn", alias => 'main' &>
% }
<table class="r--main">
<tr>
<td class="dev--left-10"><div class="dev--left-10"><!-- --></div></td>
<td class="dev--left-menu r--vtop">
<div class="dev--left-menu"><!-- --></div>
<& "/comps/$prj/menus.msn", s => $s, id => $id &>
</td>
<td class="dev--left-25"><div class="dev--left-25"><!-- --></div></td>
<td class="r--vtop r--normal">
<div id="mailform" onmouseover="javascript:showObject(mailform)">
<h2 class="mb10 mt10">Обратная связь</h2>
% unless ( $ok ) {
<script type="text/javascript">
<!--
function check_fields ( oForm ) {
return true;
if (!oForm.name.value) {
alert ('Необходимо указать имя');
return false;
}
if (!oForm.lastname.value) {
alert ('Необходимо указать фамилию');
return false;
}
var email = oForm.email.value;
if ( !email ) {
alert ('Необходимо указать электронный адрес');
return false;
}
if ( email.indexOf('@') == -1 || email.indexOf('.') == -1 ) {
alert ('Указан неверный электронный адрес');
return false;
}
if (!oForm.question.value) {
alert ('Необходимо заполнить поле вопроса');
return false;
}
return false;
}
//-->
</script>
<div class="error">
% if ( $errstr ) {
<% $errstr %>
% }
</div>
<u class=uTop><i class=uLft><!-- --></i><i class=uRgt><!-- --></i></u>
<div id="feedbackcontainer" class="grayBg">
<& "/comps/$prj/feedback_form.msn", id => $id, %ARGS &>
</div>
<u class="uBtm"><i class="uLft"><!-- --></i><i class="uRgt"><!-- --></i></u>
<div class="mt30"></div>
</div>
% } else {
<a href="./">Принято!</a>
% }
<div class="dev--content"><!-- --></div>
</td>
</tr>
</table>
% ### Футер
% ##############################################
% if ( $m->comp_exists ("/comps/$prj/footer.msn") ) {
<& "/comps/$prj/footer.msn" &>
% } else {
<& "/comps/footer_rambler.msn" &>
% }
% ### /Футер
<%args>
$filled => undef
$s => undef
$id => undef
$ok => undef
</%args>
<%init>
my $prj = $request->{project};
my $profile = $request->{project_profile};
my $root = $request->{project_section};
my $errstr;
my ($document, $section);
my $CP = 'UTF8';
if ( $filled ) {
$CP = 'ISO' if Convert::Cyrillic::cstocs('ISO', 'UTF8', $filled) eq 'Отправить';
$CP = 'KOI8' if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $filled) eq 'Отправить';
$CP = 'WIN' if Convert::Cyrillic::cstocs('WIN', 'UTF8', $filled) eq 'Отправить';
$errstr = $m->comp ( '/subs/'.$prj.'/feedback_send.msn', CP => $CP, %ARGS );
$m->redirect ('./feedback.html?ok=1') unless $errstr;
}
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.