YurtCMS 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +18 -0
- data/bin/yurt +282 -0
- data/lib/yurtcms.rb +175 -0
- data/site/content/index +14 -0
- data/site/htdocs/includes/content/index.html +11 -0
- data/site/htdocs/includes/content/index.metatags.html +1 -0
- data/site/htdocs/includes/template.html +22 -0
- data/site/htdocs/includes/template.metatags.html +4 -0
- data/site/htdocs/index.html +2 -0
- data/site/htdocs/media/css/styles.css +106 -0
- data/site/htdocs/media/images/admin_bg.gif +0 -0
- data/site/htdocs/media/images/admin_head.jpg +0 -0
- data/site/htdocs/media/images/directory.png +0 -0
- data/site/htdocs/media/images/file.png +0 -0
- data/site/htdocs/media/images/pane_bg.gif +0 -0
- data/site/htdocs/media/js/prototype.js +1781 -0
- data/site/log/access.log +0 -0
- data/site/log/error.log +0 -0
- data/site/yurt/index.html +135 -0
- data/site/yurt/media/css/styles.css +155 -0
- data/site/yurt/media/images/admin_bg.gif +0 -0
- data/site/yurt/media/images/admin_head.jpg +0 -0
- data/site/yurt/media/images/directory.png +0 -0
- data/site/yurt/media/images/file.png +0 -0
- data/site/yurt/media/images/pane_bg.gif +0 -0
- data/site/yurt/media/js/prototype.js +1781 -0
- data/site/yurt/yurt.cgi +250 -0
- data/site/yurt.conf +53 -0
- data/test/cms_filesystem.rb +111 -0
- data/test/cms_strings.rb +132 -0
- metadata +106 -0
data/site/log/access.log
ADDED
File without changes
|
data/site/log/error.log
ADDED
File without changes
|
@@ -0,0 +1,135 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<title>yurt management</title>
|
6
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
7
|
+
|
8
|
+
<link rel="stylesheet" type="text/css" href="/yurt/media/css/styles.css" />
|
9
|
+
<script type="text/javascript" language="javascript" src="/yurt/media/js/prototype.js"> </script>
|
10
|
+
<script type="text/javascript" language="javascript">
|
11
|
+
<!--
|
12
|
+
|
13
|
+
function toggleTabs() {
|
14
|
+
if (arguments.length == 0) return;
|
15
|
+
Element.show(arguments[0]);
|
16
|
+
for (var i=1; i < arguments.length; i++) {
|
17
|
+
Element.hide(arguments[i]);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
EventDispenser = Class.create();
|
22
|
+
EventDispenser.prototype = {
|
23
|
+
initialize: function(list) {
|
24
|
+
this.list = list;
|
25
|
+
this.showMenuObserver = this.showMenu.bindAsEventListener(this);
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
list.each(function(i) {
|
30
|
+
Event.observe(i, 'click', this.showMenuObserver);
|
31
|
+
}.bind(this));
|
32
|
+
|
33
|
+
|
34
|
+
},
|
35
|
+
|
36
|
+
showMenu: function (event) {
|
37
|
+
clearTimeout(menu_life);
|
38
|
+
Element.hide('directory_actions');
|
39
|
+
Element.hide('file_actions');
|
40
|
+
resource = Event.element(event).id;
|
41
|
+
$(Event.element(event).parentNode.className + '_actions').style.top= Event.pointerY(event) + "px";
|
42
|
+
$(Event.element(event).parentNode.className + '_actions').style.left= Event.pointerX(event) + 20 + "px";
|
43
|
+
Element.show($(Event.element(event).parentNode.className + '_actions'));
|
44
|
+
menu_life = setTimeout("hideMenus()", 8000);
|
45
|
+
},
|
46
|
+
|
47
|
+
hideMenu: function () {
|
48
|
+
hideMenus();
|
49
|
+
clearTimeout(menu_life);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
function dispatch(url) {
|
54
|
+
url = url + "/" + resource;
|
55
|
+
var pars = '';
|
56
|
+
var target = 'workspace';
|
57
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
|
58
|
+
hideMenus();
|
59
|
+
}
|
60
|
+
|
61
|
+
function dispatch_post(url,formname) {
|
62
|
+
var pars = Form.serialize(formname);
|
63
|
+
var target = 'workspace';
|
64
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars});
|
65
|
+
hideMenus();
|
66
|
+
}
|
67
|
+
|
68
|
+
function openFolder(url) {
|
69
|
+
url = url + "/" + resource;
|
70
|
+
var pars = '';
|
71
|
+
var target;
|
72
|
+
|
73
|
+
if (resource=="/") {
|
74
|
+
target = 'directory_home';
|
75
|
+
} else {
|
76
|
+
target = 'directory_'+ resource;
|
77
|
+
}
|
78
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars, evalScripts: true});
|
79
|
+
hideMenus();
|
80
|
+
}
|
81
|
+
|
82
|
+
function preview(content) {
|
83
|
+
// use an argument looking like this: document.forms["newfile"].content.value
|
84
|
+
|
85
|
+
var url = "/yurt/yurt.cgi/preview/"
|
86
|
+
var pars = 'c=' + escape( content );
|
87
|
+
var target = 'nf_preview';
|
88
|
+
|
89
|
+
var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars});
|
90
|
+
}
|
91
|
+
|
92
|
+
function hideMenus() {
|
93
|
+
Element.hide('directory_actions');
|
94
|
+
Element.hide('file_actions');
|
95
|
+
}
|
96
|
+
|
97
|
+
function clicky(e) {
|
98
|
+
/* this function is disabled; left in for testing purposes */
|
99
|
+
x = Event.pointerX(e);
|
100
|
+
alert(x);
|
101
|
+
alert(Event.pointerX(e));
|
102
|
+
}
|
103
|
+
|
104
|
+
var resource, menu_life;
|
105
|
+
|
106
|
+
window.onload = function () {
|
107
|
+
listing = new Array('/');
|
108
|
+
new EventDispenser(listing);
|
109
|
+
}
|
110
|
+
|
111
|
+
//-->
|
112
|
+
</script>
|
113
|
+
</head>
|
114
|
+
<body>
|
115
|
+
<img src="/yurt/media/images/admin_head.jpg" width="481" height="79" border="0" alt="yurt: a content management system" id="header_img" />
|
116
|
+
|
117
|
+
<ul id="filelist" class="listing">
|
118
|
+
<li class="directory"><a href="#" id="/" onclick="return false;">home</a><div id="directory_home"></div></li>
|
119
|
+
</ul>
|
120
|
+
|
121
|
+
<div id="workspace">
|
122
|
+
</div>
|
123
|
+
<ul id="directory_actions" class="actions" style="display: none;">
|
124
|
+
<li><a href="/yurt/yurt.cgi/open" class="first" onclick="openFolder(this.href); return false;">Open</a></li>
|
125
|
+
<li><a href="/yurt/yurt.cgi/new_folder" onclick="dispatch(this.href); return false;">New folder...</a></li>
|
126
|
+
<li><a href="/yurt/yurt.cgi/new_file" onclick="dispatch(this.href); return false;">New file...</a></li>
|
127
|
+
<li><a href="/yurt/yurt.cgi/delete" onclick="dispatch(this.href); return false;">Delete</a></li>
|
128
|
+
</ul>
|
129
|
+
<ul id="file_actions" class="actions" style="display: none;">
|
130
|
+
<li><a href="/yurt/yurt.cgi/edit" class="first" onclick="dispatch(this.href); return false;">Edit file...</a></li>
|
131
|
+
<li><a href="/yurt/yurt.cgi/delete" onclick="dispatch(this.href); return false;">Delete</a></li>
|
132
|
+
</ul>
|
133
|
+
</body>
|
134
|
+
</html>
|
135
|
+
|
@@ -0,0 +1,155 @@
|
|
1
|
+
body {
|
2
|
+
margin: 0;
|
3
|
+
padding: 0;
|
4
|
+
background-color: #eeeeea;
|
5
|
+
background-image: url("/yurt/media/images/admin_bg.gif");
|
6
|
+
background-position: top left;
|
7
|
+
background-repeat: repeat-x;
|
8
|
+
font-size: 100%;
|
9
|
+
}
|
10
|
+
|
11
|
+
#header_img {
|
12
|
+
position: absolute;
|
13
|
+
margin: 0;
|
14
|
+
padding: 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
#filelist {
|
18
|
+
padding: 0;
|
19
|
+
position: absolute;
|
20
|
+
margin-left: 90px;
|
21
|
+
margin-top: 100px;
|
22
|
+
width: 220px;
|
23
|
+
font-size: 0.8em;
|
24
|
+
}
|
25
|
+
|
26
|
+
.listing {
|
27
|
+
list-style: none;
|
28
|
+
font-family: Geneva;
|
29
|
+
}
|
30
|
+
|
31
|
+
#filelist li, #filelist ul {
|
32
|
+
margin: 0;
|
33
|
+
padding: 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
#filelist ul {
|
37
|
+
margin-left: 30px;
|
38
|
+
}
|
39
|
+
|
40
|
+
#filelist a {
|
41
|
+
color: #000;
|
42
|
+
padding: 0.4em;
|
43
|
+
padding-left: 30px;
|
44
|
+
text-decoration: none;
|
45
|
+
display: block;
|
46
|
+
background-position: left center;
|
47
|
+
background-repeat: no-repeat;
|
48
|
+
border-top: 1px solid transparent;
|
49
|
+
}
|
50
|
+
|
51
|
+
#filelist a:hover {
|
52
|
+
text-decoration: underline;
|
53
|
+
}
|
54
|
+
|
55
|
+
li.directory a {
|
56
|
+
background-image: url("/yurt/media/images/directory.png");
|
57
|
+
}
|
58
|
+
|
59
|
+
li.file a {
|
60
|
+
background-image: url("/yurt/media/images/file.png");
|
61
|
+
}
|
62
|
+
|
63
|
+
.dialog_box {
|
64
|
+
margin: 0;
|
65
|
+
padding: 0;
|
66
|
+
width: 560px;
|
67
|
+
padding-left: 10px;
|
68
|
+
padding-right: 10px;
|
69
|
+
}
|
70
|
+
|
71
|
+
.contentarea {
|
72
|
+
display: block;
|
73
|
+
width: 510px;
|
74
|
+
height: 18em;
|
75
|
+
background-color: #eeeeec;
|
76
|
+
}
|
77
|
+
|
78
|
+
.dialog_box label {
|
79
|
+
font-style: italic;
|
80
|
+
color: #666043;
|
81
|
+
display: block;
|
82
|
+
}
|
83
|
+
|
84
|
+
.dialog_box label input.checkbox {
|
85
|
+
width: auto;
|
86
|
+
}
|
87
|
+
|
88
|
+
.dialog_box label input {
|
89
|
+
width: 420px;
|
90
|
+
background-color: #eeeeec;
|
91
|
+
}
|
92
|
+
|
93
|
+
.dialog_box fieldset {
|
94
|
+
background-image: url("/yurt/media/images/pane_bg.gif");
|
95
|
+
background-position: bottom;
|
96
|
+
background-repeat: repeat-x;
|
97
|
+
background-color: #ddddd8;
|
98
|
+
padding: 20px;
|
99
|
+
}
|
100
|
+
|
101
|
+
.dialog_box legend {
|
102
|
+
background-color: #ddddd8;
|
103
|
+
border-top: 1px solid #000;
|
104
|
+
padding: 0.3em;
|
105
|
+
}
|
106
|
+
|
107
|
+
.actions {
|
108
|
+
margin: 0;
|
109
|
+
padding: 0;
|
110
|
+
list-style: none;
|
111
|
+
font-family: chicago;
|
112
|
+
font-size: 0.9em;
|
113
|
+
width: 140px;
|
114
|
+
background-color: #eeeeec;
|
115
|
+
border: 1px solid #000 !important;
|
116
|
+
}
|
117
|
+
|
118
|
+
.actions li {
|
119
|
+
margin: 0;
|
120
|
+
padding: 0;
|
121
|
+
}
|
122
|
+
|
123
|
+
.actions a {
|
124
|
+
padding: 0.5em;
|
125
|
+
color: #000;
|
126
|
+
text-decoration: none;
|
127
|
+
display: block;
|
128
|
+
border: 1px solid transparent;
|
129
|
+
background-image: none;
|
130
|
+
}
|
131
|
+
|
132
|
+
.actions a:hover {
|
133
|
+
text-decoration: underline;
|
134
|
+
background-color: #cdc6b7;
|
135
|
+
}
|
136
|
+
|
137
|
+
.first {
|
138
|
+
}
|
139
|
+
|
140
|
+
#workspace {
|
141
|
+
padding: 0;
|
142
|
+
position: absolute;
|
143
|
+
margin-left: 330px;
|
144
|
+
margin-top: 100px;
|
145
|
+
width: 600px;
|
146
|
+
font-size: 0.8em;
|
147
|
+
}
|
148
|
+
|
149
|
+
#dispatch_pool {
|
150
|
+
margin: 0; padding: 0;
|
151
|
+
}
|
152
|
+
|
153
|
+
#directory_actions, #file_actions {
|
154
|
+
position: absolute;
|
155
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|