jfdelrio 16 лет назад
Родитель
Сommit
6a9e4893d3

+ 6 - 1
admin/css/style.css Просмотреть файл

@@ -159,4 +159,9 @@ div.conversation ul { list-style-type: none; margin: 0px; padding: 0px 0px 0px 1
159 159
 	#admin-table tbody tr:hover {background: #EAECEE; color: #111; }
160 160
 	#admin-table thead tr .headerSortUp {background-image: url(images/asc.gif);}
161 161
 	#admin-table thead tr .headerSortDown {background-image: url(images/desc.gif);}
162
-	#admin-table thead tr .headerSortDown, #admin-table thead tr .headerSortUp {background-color:#8dbdd8;}
162
+	#admin-table thead tr .headerSortDown, #admin-table thead tr .headerSortUp {background-color:#8dbdd8;}
163
+
164
+/* validation */
165
+form.newpost input.validate_span {border:1px solid #ca3402; float:none;}
166
+	form.newpost span.validate_span {color:#ca3402; padding-left:10px; border:0; float:right;}
167
+

+ 18 - 2
admin/feeds.php Просмотреть файл

@@ -46,12 +46,28 @@ if ($user->isAdmin()) {
46 46
 		<link rel="shortcut icon" href="<?php echo $conf->urlGelato;?>/images/favicon.ico" />
47 47
 		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.js"></script>
48 48
 		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/tools.js"></script>
49
+		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.validate.min.js"></script>
49 50
 		<script type="text/javascript">
50 51
 		$(document).ready(function(){
51 52
 			$("#divMessages").fadeOut(5000,function(){
52 53
 				$("#divMessages").css({display:"none"});
53 54
 			});
54 55
 			$("#source").change(function (){selectFeedType('<?php echo __("Feed Url:")?>','<?php echo __(" username:")?>')})
56
+
57
+			$("#feedform").validate({
58
+				rules: {
59
+					url: {
60
+						required: true,
61
+						url: true
62
+					}
63
+				},
64
+				errorElement: "span",
65
+				errorClass: "validate_span", 
66
+				errorPlacement: function(label, element) { 
67
+					label.prependTo(element.prev())
68
+				} 
69
+			});
70
+
55 71
 		});
56 72
 		</script>
57 73
 		<style type="text/css" media="screen">	
@@ -80,7 +96,7 @@ if ($user->isAdmin()) {
80 96
 
81 97
 					<div class="tabla">
82 98
 
83
-						<form action="feeds.php" method="post" class="newpost">
99
+						<form action="feeds.php" method="post" class="newpost" id="feedform">
84 100
 						<fieldset>
85 101
 						<ul>
86 102
 							<li>
@@ -104,7 +120,7 @@ if ($user->isAdmin()) {
104 120
 							</li>
105 121
 							<li>
106 122
 								<label for="url" id="url_label"><?php echo __("Feed Url (double check):")?></label>
107
-									<input type="text" name="url" id="url" class="txt" />
123
+								<input type="text" name="url" id="url" class="txt" />
108 124
 							</li>
109 125
                             <li><label for="credits"><?php echo __('Show credits on each post?')?></label><input type="checkbox" name="credits" checked="checked" class="check" /></li>
110 126
 							<li>

+ 1 - 0
admin/index.php Просмотреть файл

@@ -99,6 +99,7 @@ if ($user->isAdmin()) {
99 99
 		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.js"></script>
100 100
 		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/tools.js"></script>
101 101
 		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/lightbox.js"></script>
102
+		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.validate.min.js"></script>
102 103
 		<script language="javascript" type="text/javascript">
103 104
 		$(document).ready(function(){
104 105
 			$("#divMessages").fadeOut(5000,function(){

+ 35 - 20
admin/themes/admin/template_add_conversation.htm Просмотреть файл

@@ -1,20 +1,35 @@
1
-									<p>
2
-										<label for="title">Title <span class="option">(optional)</span></label>
3
-											<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
4
-									</p>
5
-									<input type="hidden" name="url" id="url" value="" />
6
-									<p>
7
-										<label for="description">Conversation</label><br />
8
-										<div style="color: rgb(136, 136, 136); margin-bottom: 10px; font-size: 10px;">
9
-											<span style="font-weight: bold;">Example</span><br>
10
-											<span style="font-style: italic;">
11
-												Geek: Wow an open source tumblelog CMS!!.<br>
12
-												Normal: Tumble... what??<br>
13
-												Geek: Read the wikipedia!!
14
-											</span>
15
-										</div>
16
-											<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>
17
-									</p>
18
-									<input type="hidden" name="type" id="type" value="{type}" />
19
-									<input type="hidden" name="date" id="date" value="{date}" />
20
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+		<div>
2
+			<label for="title">Title <span class="option">(optional)</span></label>
3
+				<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
4
+		</div>
5
+		
6
+		<div>
7
+			<label for="description">Conversation</label>
8
+			<div style="color: rgb(136, 136, 136); margin-bottom: 10px; font-size: 10px;">
9
+				<span style="font-weight: bold;">Example</span><br>
10
+				<span style="font-style: italic;">
11
+					Geek: Wow an open source tumblelog CMS!!.<br>
12
+					Normal: Tumble... what??<br>
13
+					Geek: Read the wikipedia!!
14
+				</span>
15
+			</div>
16
+			<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>
17
+		</div>
18
+
19
+		<input type="hidden" name="url" id="url" value="" />
20
+		<input type="hidden" name="type" id="type" value="{type}" />
21
+		<input type="hidden" name="date" id="date" value="{date}" />
22
+		<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
23
+
24
+	<script>
25
+		$("#autosave").validate({
26
+			rules: {
27
+				description: "required"
28
+			},
29
+			errorElement: "span",
30
+			errorClass: "validate_span", 
31
+			errorPlacement: function(label, element) { 
32
+				label.prependTo(element.parent().children("label"))
33
+			} 
34
+		});
35
+	</script>

+ 38 - 20
admin/themes/admin/template_add_link.htm Просмотреть файл

@@ -1,20 +1,38 @@
1
-									<p>
2
-										<label for="title">Name <span class="option">(optional)</span></label>			
3
-											<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
4
-									</p>
5
-									<p>
6
-										<label for="url">URL</label>			
7
-											<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
8
-									</p>
9
-									<p>
10
-									<div id="add_link_description" style="margin-top:5px;">
11
-										<a class="linkFrm" href="#" onclick="document.getElementById('link_description').style.display = ''; document.getElementById('add_link_description').style.display = 'none'; return false;" style="font-size:11px;">Add a description</a><br /><br />
12
-									</div>								
13
-									<div id="link_description" style="display:none;">
14
-										<label for="description">Description</label><br />								
15
-											<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
16
-									</div>
17
-									</p>
18
-									<input type="hidden" name="type" id="type" value="{type}" />
19
-									<input type="hidden" name="date" id="date" value="{date}" />
20
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+			
2
+			<div>
3
+				<label for="title">Name <span class="option">(optional)</span></label>			
4
+				<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
5
+			</div>
6
+			<div>
7
+				<label for="url">URL</label>			
8
+				<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
9
+			</div>
10
+			<div>
11
+				<div id="add_link_description" style="margin-top:5px;">
12
+					<a class="linkFrm" href="#" onclick="document.getElementById('link_description').style.display = ''; document.getElementById('add_link_description').style.display = 'none'; return false;" style="font-size:11px;">Add a description</a><br /><br />
13
+				</div>								
14
+				<div id="link_description" style="display:none;">
15
+					<label for="description">Description</label><br />								
16
+					<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
17
+				</div>
18
+			</div>
19
+			<input type="hidden" name="type" id="type" value="{type}" />
20
+			<input type="hidden" name="date" id="date" value="{date}" />
21
+			<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
22
+
23
+
24
+	<script>
25
+		$("#autosave").validate({
26
+			rules: {
27
+				url: {
28
+					required: true,
29
+					url: true
30
+				}
31
+			},
32
+			errorElement: "span",
33
+			errorClass: "validate_span", 
34
+			errorPlacement: function(label, element) { 
35
+				label.prependTo(element.prev())
36
+			} 
37
+		});
38
+	</script>

+ 35 - 16
admin/themes/admin/template_add_mp3.htm Просмотреть файл

@@ -1,16 +1,35 @@
1
-									<input type="hidden" name="title" id="title" value="" />
2
-									<p>
3
-										<label for="url">MP3 URL</label>			
4
-											<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
5
-										<div style="color: rgb(136, 136, 136); margin-bottom: 5px; font-size: 11px; font-weight: bold;">
6
-											This is the MP3 file URL or a GoEar URL.<br>
7
-											<span style="font-size: 10px; font-weight: normal;">(ie. http://www.goear.com/listen.php?v=c0a2c85)</span>
8
-										</div>
9
-									</p>									
10
-									<p>
11
-										<label for="description">Caption <span class="option">(optional)</span></label><br />
12
-											<textarea rows="12" cols="84" name="description" id="description" tabindex="2">{editBody}</textarea>											
13
-									</p>
14
-									<input type="hidden" name="type" id="type" value="{type}" />
15
-									<input type="hidden" name="date" id="date" value="{date}" />
16
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+									
2
+		<div>
3
+			<label for="url">MP3 URL</label>			
4
+			<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
5
+			<div style="color: rgb(136, 136, 136); margin-bottom: 5px; font-size: 11px; font-weight: bold;">
6
+				This is the MP3 file URL or a GoEar URL.<br>
7
+				<span style="font-size: 10px; font-weight: normal;">(ie. http://www.goear.com/listen.php?v=c0a2c85)</span>
8
+			</div>
9
+		</div>								
10
+		<div>
11
+			<label for="description">Caption <span class="option">(optional)</span></label><br />
12
+			<textarea rows="12" cols="84" name="description" id="description" tabindex="2">{editBody}</textarea>											
13
+		</div>
14
+
15
+		<input type="hidden" name="title" id="title" value="" />
16
+		<input type="hidden" name="type" id="type" value="{type}" />
17
+		<input type="hidden" name="date" id="date" value="{date}" />
18
+		<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
19
+
20
+
21
+	<script>
22
+		$("#autosave").validate({
23
+			rules: {
24
+				url: {
25
+					required: true,
26
+					url: true
27
+				}
28
+			},
29
+			errorElement: "span",
30
+			errorClass: "validate_span", 
31
+			errorPlacement: function(label, element) { 
32
+				label.prependTo(element.prev())
33
+			} 
34
+		});
35
+	</script>

+ 76 - 31
admin/themes/admin/template_add_photo.htm Просмотреть файл

@@ -1,31 +1,76 @@
1
-									<input class="txt" type="hidden" name="title" id="title" value="" />
2
-									<p>
3
-										<div id="photo_upload">
4
-											<label for="description">Photo</label>												
5
-												<input type="file" name="photo" accept="image/gif,image/jpeg,image/jpg,image/png"/>
6
-											<div style="font-size:11px; color:#666; margin-top:5px;">
7
-												Supports JPEG, GIF and PNG.&nbsp; <strong>Max size is 10 MB.</strong>
8
-											</div>
9
-											<div style="font-size:11px; color:#666; margin-top:5px;">
10
-												<a class="linkFrm" href="#" onclick="document.getElementById('photo_upload').style.display = 'none';
11
-												document.getElementById('photo_url').style.display = 'block';
12
-												return false;">Use a URL instead</a>								
13
-											</div>
14
-										</div>
15
-									
16
-										<div id="photo_url" style="display:none;">
17
-											<label for="description">Photo URL</label>
18
-												<input class="input-text" type="text" name="url" id="url" size="80" value="{editUrl}" />
19
-											<div style="font-size:11px; color:#666; margin-top:5px;">
20
-												The photo URL.</b>
21
-											</div>
22
-										</div>
23
-									</p>
24
-									<p>
25
-										<label for="description">Caption <span class="option">(optional)</span></label><br />
26
-											<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
27
-									</p>
28
-									<input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
29
-									<input type="hidden" name="type" id="type" value="{type}" />
30
-									<input type="hidden" name="date" id="date" value="{date}" />
31
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+
2
+
3
+	<div id="photo_upload">
4
+		<label for="description">Photo</label>												
5
+		<input type="file" name="photo" id="photo" accept="image/gif,image/jpeg,image/jpg,image/png"/>
6
+		<div style="font-size:11px; color:#666; margin-top:5px;">
7
+			Supports JPEG, GIF and PNG.&nbsp; <strong>Max size is 10 MB.</strong>
8
+		</div>
9
+		<div style="font-size:11px; color:#666; margin-top:5px;">
10
+			<a href="#" class="linkFrm">Use a URL instead</a>								
11
+		</div>
12
+	</div>
13
+
14
+	<div id="photo_url">
15
+		<label for="description">Photo URL</label>
16
+		<input class="input-text" type="text" name="url" id="url" size="80" value="{editUrl}" />
17
+		<div style="font-size:11px; color:#666; margin-top:5px;">
18
+			<a href="#" class="linkFrm">Use a upload form instead</a>
19
+		</div>
20
+	</div>
21
+
22
+	<div>
23
+		<label for="description" style="display:block;">Caption <span class="option">(optional)</span></label>
24
+		<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
25
+	</div>
26
+
27
+	<input type="hidden" name="title" id="title" value="" />
28
+	<input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
29
+	<input type="hidden" name="type" id="type" value="{type}" />
30
+	<input type="hidden" name="date" id="date" value="{date}" />
31
+	<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
32
+
33
+
34
+
35
+
36
+	<script>
37
+		$('#photo_url').css('display','none');
38
+		$("#autosave").validate({
39
+			rules: {				
40
+				photo: { 
41
+					required:  function() {
42
+ 						return ($('#photo_upload').css('display')!= 'none') ? true : false;
43
+  					},
44
+					accept: "(jpe?g|gif|png)" 
45
+				},
46
+ 				url: { 
47
+					required:  function() {
48
+ 						return ($('#photo_url').css('display')!= 'none') ? true : false;
49
+  					},
50
+					url: true
51
+				}
52
+			},
53
+			errorElement: "span",
54
+			errorClass: "validate_span", 
55
+			errorPlacement: function(label, element) { 
56
+				label.prependTo(element.prev())
57
+			}			 
58
+		});
59
+
60
+		$("#photo_upload a.linkFrm").click( function() {
61
+				$('#photo_upload').css('display','none');				
62
+				$('#photo_url').css('display','block'); 
63
+				$('#photo').val(''); 
64
+				return false;
65
+			} 
66
+		);
67
+		
68
+		$("#photo_url a.linkFrm").click( function() {
69
+				$('#photo_url').css('display','none');				
70
+				$('#photo_upload').css('display','block'); 
71
+				$('#url').val(''); 
72
+				return false;
73
+			} 
74
+		);
75
+
76
+	</script>

+ 27 - 12
admin/themes/admin/template_add_post.htm Просмотреть файл

@@ -1,12 +1,27 @@
1
-									<p>
2
-										<label for="title">Title <span class="option">(optional)</span></label>
3
-											<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
4
-									</p>
5
-									<input class="txt" type="hidden" name="url" id="url" value="" />
6
-									<p>
7
-										<label for="description">Body</label><br />
8
-											<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
9
-									</p>
10
-									<input type="hidden" name="type" id="type" value="{type}" />
11
-									<input type="hidden" name="date" id="date" value="{date}" />
12
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+	
2
+	<div>
3
+		<label for="title" style="display:block;">Title <span class="option">(optional)</span></label>
4
+		<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
5
+	</div>	
6
+	<div>
7
+		<label for="description" style="display:block;">Body</label>
8
+		<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
9
+	</div>
10
+
11
+	<input type="hidden" name="url" id="url" value="" />
12
+	<input type="hidden" name="type" id="type" value="{type}" />
13
+	<input type="hidden" name="date" id="date" value="{date}" />
14
+	<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
15
+
16
+	<script>
17
+		$("#autosave").validate({
18
+			rules: {
19
+				description: "required"
20
+			},
21
+			errorElement: "span",
22
+			errorClass: "validate_span", 
23
+			errorPlacement: function(label, element) { 
24
+				label.prependTo(element.prev())
25
+			} 
26
+		});
27
+	</script>

+ 29 - 12
admin/themes/admin/template_add_quote.htm Просмотреть файл

@@ -1,12 +1,29 @@
1
-									<input type="hidden" name="url" id="url" value="" />
2
-									<p>
3
-										<label for="description">Quote</label><br />
4
-											<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
5
-									</p>
6
-									<p>
7
-										<label for="title">Source <span class="option">(optional)</span></label>
8
-											<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
9
-									</p>
10
-									<input type="hidden" name="type" id="type" value="{type}" />
11
-									<input type="hidden" name="date" id="date" value="{date}" />
12
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+		
2
+		
3
+		<div>
4
+			<label for="description">Quote</label>
5
+			<textarea rows="12" cols="84" name="description" id="description">{editBody}</textarea>											
6
+		</div>
7
+		<div>
8
+			<label for="title">Source <span class="option">(optional)</span></label>
9
+			<input class="txt" type="text" name="title" id="title" value="{editTitle}" size="80" />
10
+		</div>
11
+
12
+		<input type="hidden" name="url" id="url" value="" />
13
+		<input type="hidden" name="type" id="type" value="{type}" />
14
+		<input type="hidden" name="date" id="date" value="{date}" />
15
+		<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
16
+
17
+
18
+	<script>
19
+		$("#autosave").validate({
20
+			rules: {
21
+				description: "required"
22
+			},
23
+			errorElement: "span",
24
+			errorClass: "validate_span", 
25
+			errorPlacement: function(label, element) { 
26
+				label.prependTo(element.prev())
27
+			} 
28
+		});
29
+	</script>

+ 35 - 16
admin/themes/admin/template_add_video.htm Просмотреть файл

@@ -1,16 +1,35 @@
1
-									<input type="hidden" name="title" id="title" value="" />
2
-									<p>
3
-										<label for="url">Video URL</label>			
4
-											<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
5
-										<div style="color: rgb(136, 136, 136); margin-bottom: 5px; font-size: 11px; font-weight: bold;">
6
-											This is the URL from the video sites YouTube or Vimeo.<br>
7
-											<span style="font-size: 10px; font-weight: normal;">(ie. http://youtube.com/watch?v=HcBFLN9cli0)</span>
8
-										</div>
9
-									</p>									
10
-									<p>
11
-										<label for="description">Caption <span class="option">(optional)</span></label><br />
12
-											<textarea rows="12" cols="84" name="description" id="description" tabindex="2">{editBody}</textarea>											
13
-									</p>
14
-									<input type="hidden" name="type" id="type" value="{type}" />
15
-									<input type="hidden" name="date" id="date" value="{date}" />
16
-									<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
1
+				
2
+		<div>
3
+			<label for="url">Video URL</label>			
4
+			<input class="txt" type="text" name="url" id="url" value="{editUrl}" size="80" />
5
+			<div style="color: rgb(136, 136, 136); margin-bottom: 5px; font-size: 11px; font-weight: bold;">
6
+				This is the URL from the video sites YouTube or Vimeo.<br>
7
+				<span style="font-size: 10px; font-weight: normal;">(ie. http://youtube.com/watch?v=HcBFLN9cli0)</span>
8
+			</div>
9
+		</div>									
10
+		<div>
11
+			<label for="description">Caption <span class="option">(optional)</span></label><br />
12
+			<textarea rows="12" cols="84" name="description" id="description" tabindex="2">{editBody}</textarea>											
13
+		</div>
14
+
15
+		<input type="hidden" name="title" id="title" value="" />
16
+		<input type="hidden" name="type" id="type" value="{type}" />
17
+		<input type="hidden" name="date" id="date" value="{date}" />
18
+		<input type="hidden" name="id_user" id="id_user" value="{id_user}" />
19
+
20
+
21
+	<script>
22
+		$("#autosave").validate({
23
+			rules: {
24
+				url: {
25
+					required: true,
26
+					url: true
27
+				}
28
+			},
29
+			errorElement: "span",
30
+			errorClass: "validate_span", 
31
+			errorPlacement: function(label, element) { 
32
+				label.prependTo(element.prev())
33
+			} 
34
+		});
35
+	</script>

+ 20 - 0
login.php Просмотреть файл

@@ -36,6 +36,26 @@ if ($user->isAuthenticated()) {
36 36
 		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
37 37
 		<meta name="generator" content="gelato cms <?php echo version();?>" />
38 38
 		<link rel="shortcut icon" href="<?php echo $conf->urlGelato;?>/images/favicon.ico" />
39
+		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.js"></script>
40
+		<script language="javascript" type="text/javascript" src="<?php echo $conf->urlGelato;?>/admin/scripts/jquery.validate.min.js"></script>
41
+
42
+		<script type="text/javascript">
43
+		$(document).ready(function(){
44
+	
45
+			$("#valida").validate({
46
+				rules: {
47
+					login: "required",
48
+					pass: "required"
49
+				},
50
+				errorElement: "span",
51
+				errorClass: "validate_span", 
52
+				errorPlacement: function(label, element) { 
53
+					label.prependTo(element.prev())
54
+				} 
55
+			});
56
+
57
+		});
58
+		</script>
39 59
 		<style type="text/css" media="screen">	
40 60
 			@import "<?php echo $conf->urlGelato;?>/admin/css/style.css";
41 61
 		</style>