Line # Revision Author
1 8 ahitrov@rambler.ru <html>
2 <head>
3 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <style>
5 body {
6 background-color: #FFFFFF;
7 margin: 0px;
8 117 ahitrov font-family: Tahoma, Arial, sans-serif;
9 8 ahitrov@rambler.ru }
10 form {
11 margin: 0px;
12 padding: 0px;
13 }
14 input, select, textarea {
15 font-family: Tahoma, Arial, sans-serif;
16 font-size:9pt;
17 }
18 a {
19 color:#0000ee;
20 }
21 a:visited.v {
22 color:#0000ee;
23 }
24
25 fieldset {padding:6px;margin-bottom:10px;border:2px solid #8093B0;}
26 fieldset legend {font-size:8pt;font-weight:bold;font-family:Tahoma;padding:3px 6px 3px 6px;margin-bottom:6px;color:#ffffff;background-color:#8093B0;}
27 117 ahitrov
28 table { font-size:13px; }
29 input { font-size:12px; }
30 8 ahitrov@rambler.ru
31 117 ahitrov .tatop {font-size:11px;font-family:Tahoma;color:#ffffff;}
32 8 ahitrov@rambler.ru .tatop a {color:#ffffff;}
33 117 ahitrov .npath {font-size:11px;font-family:Tahoma;padding:8px;}
34 8 ahitrov@rambler.ru
35 117 ahitrov .textnorm { font-size:12px; font-family:Tahoma; }
36 8 ahitrov@rambler.ru .input_btn {background-color:#930300;color:#FFFFFF;height:2.4em;}
37
38 table.tlistdocs { margin-top:10px; margin-bottom:10px; border-right:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9; }
39 table.tlistdocs td, table.tlistdocs th { border:1px solid #d9d9d9; border-right:0px; border-bottom:0px; }
40 117 ahitrov table.tlistdocs td {font-size:12px;font-family:Arial;}
41 8 ahitrov@rambler.ru table.tlistdocs table td {border:0px;}
42
43 table.tform th, table.tform td {
44 117 ahitrov font-size: 11px;
45 8 ahitrov@rambler.ru font-family: Tahoma;
46 text-align: left;
47 }
48
49 117 ahitrov th {font-size:11px;font-family:Tahoma;text-align:left;}
50 8 ahitrov@rambler.ru
51 117 ahitrov h5, .hdr5 {font-size:11px;font-family:Tahoma;font-weight:bold;padding-top:10px;padding-bottom:5px;}
52 8 ahitrov@rambler.ru
53 607 ahitrov .rem { color:gray; font-size:90%; padding:4px }
54 .err { color:red; font-size:90%; padding:4px }
55 8 ahitrov@rambler.ru .hiddensect { color:#909090; }
56 .hiddensect a { color:#909090; }
57
58 .btn {font-size:9pt;}
59
60 .bb {
61 border: solid 1px #000000;
62 }
63 .gb {
64 background-color: #D8D8D8;
65 }
66 .undo {
67 font-family: Tahoma;
68 font-size: 9pt;
69 background-color: #FFD8D8;
70 }
71 .link_string { font: 12px Tahoma; padding:5px 10px; border-bottom:1px solid gray; }
72 .link_string p { margin:0; padding:0; }
73 117 ahitrov
74 .mm_act { background:#d0d0d0; border-top:1px solid gray; border-right:1px solid gray; text-decoration:none; }
75 8 ahitrov@rambler.ru
76 </style>
77 <title>Редакторский интерфейс<% (length($title) > 0) ? " | $title" : "" %></title>
78 481 ahitrov <link rel="stylesheet" type="text/css" href="/contenido/i/js/jquery-ui-1.10.3.custom/css/flick/jquery-ui-1.10.3.custom.css" media="all" />
79 <script language="javascript" type="text/javascript" src="/contenido/i/js/jquery-1.9.1.min.js"></script>
80 8 ahitrov@rambler.ru <% $m->comp_exists('/contenido/components/custom_head.msn') ? $m->comp('/contenido/components/custom_head.msn') : '' %>
81 <script language="javascript" type="text/javascript" src="/contenido/i/js/links.js"></script>
82 481 ahitrov <script language="javascript" type="text/javascript" src="/contenido/i/js/tinymce-3.5.11/jquery.tinymce.js"></script>
83 <script language="javascript" type="text/javascript" src="/contenido/i/js/jquery-ui-1.10.3.custom/jquery-ui-1.10.3.custom.min.js"></script>
84 % if ( @plugins ) {
85 % foreach my $plugin ( @plugins ) {
86 % my ($include_dir, $include_comp);
87 % if ( $plugin eq $state->project ) {
88 % $include_dir = $state->{mason_comp}.'/contenido/'.$plugin.'/components/';
89 % } else {
90 % $include_dir = $state->{plug_src}.'/'.$plugin.'/comps/contenido/'.$plugin.'/components/';
91 % }
92 % $include_comp = '/contenido/'.$plugin.'/components/title_inc.msn';
93 % if ( -e $include_dir && $m->comp_exists($include_comp) ) {
94 <& $include_comp &>
95 % }
96 % }
97 % }
98 8 ahitrov@rambler.ru <script language="javascript" type="text/javascript">
99 481 ahitrov <!--
100 8 ahitrov@rambler.ru var WYSIWYGControls = new Array();
101 var sDocumentClass;
102 var nDocumentID;
103 481 ahitrov $(document).ready(function() {
104 22 ahitrov@rambler.ru $('textarea.tinymce').tinymce({
105 // Location of TinyMCE script
106 481 ahitrov script_url : '/contenido/i/js/tinymce-3.5.11/tiny_mce.js',
107 22 ahitrov@rambler.ru
108 // General options
109 theme : "advanced",
110 plugins : "style,layer,table,advhr,advimage,advlink,inlinepopups,preview,media,contextmenu,paste,noneditable,visualchars,nonbreaking,template,advlist",
111 481 ahitrov // TinyMCE 4.x
112 //theme : "modern",
113 //plugins : "style,layer,table,hr,image,link,code,textcolor,preview,media,contextmenu,paste,noneditable,visualchars,nonbreaking,template,advlist",
114 22 ahitrov@rambler.ru
115 // Theme options
116 theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor,|,undo,redo,|,preview,help,code",
117 theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,anchor,image,|,tablecontrols",
118 theme_advanced_buttons3 : "cleanup,removeformat,visualaid,|,sub,sup,|,charmap,media,hr,advhr,|,insertlayer,moveforward,movebackward,absolute,|,styleprops,|,visualchars,nonbreaking",
119 theme_advanced_toolbar_location : "top",
120 theme_advanced_toolbar_align : "left",
121 theme_advanced_statusbar_location : "bottom",
122 theme_advanced_resizing : true,
123
124 convert_urls : false,
125
126 269 ahitrov extended_valid_elements : "iframe[src|width|height|name|align|noresize|scrolling|frameBorder|marginWidth|marginHeight],form[action|method|target|enctype|name|id|onSubmit]",
127 23 ahitrov@rambler.ru
128 22 ahitrov@rambler.ru paste_create_paragraphs : false,
129 paste_create_linebreaks : false,
130 paste_auto_cleanup_on_paste : true,
131 paste_convert_middot_lists : false,
132
133 // Example content CSS (should be your site CSS)
134 //content_css : "css/content.css",
135
136 // Drop lists for link/image/media/template dialogs
137 //template_external_list_url : "lists/template_list.js",
138 //external_link_list_url : "lists/link_list.js",
139 //external_image_list_url : "lists/image_list.js",
140 //media_external_list_url : "lists/media_list.js"
141 external_image_list_url : "/contenido/image_list.js?class=" + sDocumentClass + "&id=" + nDocumentID
142
143 });
144 });
145 607 ahitrov function getCookie(name) {
146 var matches = document.cookie.match(new RegExp(
147 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
148 ));
149 return matches ? decodeURIComponent(matches[1]) : undefined;
150 }
151 function setCookie(name, value, options) {
152 options = options || {};
153 8 ahitrov@rambler.ru
154 607 ahitrov var expires = options.expires;
155
156 if (typeof expires == "number" && expires) {
157 var d = new Date();
158 d.setTime(d.getTime() + expires * 1000);
159 expires = options.expires = d;
160 }
161 if (expires && expires.toUTCString) {
162 options.expires = expires.toUTCString();
163 }
164
165 value = encodeURIComponent(value);
166
167 var updatedCookie = name + "=" + value;
168
169 for (var propName in options) {
170 updatedCookie += "; " + propName;
171 var propValue = options[propName];
172 if (propValue !== true) {
173 updatedCookie += "=" + propValue;
174 8 ahitrov@rambler.ru }
175 607 ahitrov }
176 8 ahitrov@rambler.ru
177 607 ahitrov document.cookie = updatedCookie;
178 8 ahitrov@rambler.ru }
179 481 ahitrov //-->
180 8 ahitrov@rambler.ru </script>
181 </head>
182 <body>
183
184 <%args>
185
186 $style => undef
187 $title => undef
188
189 </%args>
190 <%init>
191 481 ahitrov
192 8 ahitrov@rambler.ru my $pn = $state->project_name();
193 my ($pn_name, $pn_domen) = split(/\./, $pn);
194 481 ahitrov
195 my @plugins = ($state->project, split(/\s+/, $state->plugins));
196
197 8 ahitrov@rambler.ru </%init>

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

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

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

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

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