Version Description
Be sure to deactivate Dynamic Widgets Plugin before installing the new version following steps 1 and 2 in the installation procedure. After the install you can reactivate the plugin.
Download this release
Release Info
Developer | qurl |
Plugin | Dynamic Widgets |
Version | 1.3 |
Comparing to | |
See all releases |
Code changes from version 1.2.3 to 1.3
- dynamic-widgets.php +37 -5
- dynwid_admin_edit.php +88 -2
- dynwid_admin_save.php +47 -1
- dynwid_class.php +20 -4
- dynwid_class_php4.php +20 -4
- dynwid_worker.php +47 -6
- images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- images/ui-bg_glass_75_dadada_1x400.png +0 -0
- images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- images/ui-icons_222222_256x240.png +0 -0
- images/ui-icons_2e83ff_256x240.png +0 -0
- images/ui-icons_454545_256x240.png +0 -0
- images/ui-icons_888888_256x240.png +0 -0
- images/ui-icons_cd0a0a_256x240.png +0 -0
- img/calendar.gif +0 -0
- jquery-ui-smoothness.css +344 -0
- jquery_datepicker.js +12 -0
- readme.txt +25 -3
dynamic-widgets.php
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Dynamic Widgets
|
4 |
* Plugin URI: http://www.qurl.nl/dynamic-widgets/
|
5 |
-
* Description: Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on pages by excluding or including rules by roles, for the homepage, single posts, pages, authors, categories, archives and the
|
6 |
* Author: Jacco
|
7 |
-
* Version: 1.
|
8 |
* Author URI: http://www.qurl.nl/
|
9 |
* Tags: widget, widgets, dynamic, sidebar, custom, rules, admin, conditional tags
|
10 |
*
|
@@ -15,7 +15,7 @@
|
|
15 |
*
|
16 |
* Released under the GPL v.2, http://www.gnu.org/copyleft/gpl.html
|
17 |
*
|
18 |
-
* @version $Id: dynamic-widgets.php
|
19 |
*/
|
20 |
|
21 |
// Constants
|
@@ -23,7 +23,7 @@
|
|
23 |
define('DW_DB_TABLE', 'dynamic_widgets');
|
24 |
define('DW_LIST_LIMIT', 20);
|
25 |
define('DW_LIST_STYLE', 'style="overflow:auto;height:240px;"');
|
26 |
-
define('DW_VERSION', '1.
|
27 |
|
28 |
// Class version to use
|
29 |
if ( version_compare(PHP_VERSION, '5.0.0', '<') ) {
|
@@ -38,6 +38,7 @@
|
|
38 |
$DW = &$GLOBALS['DW'];
|
39 |
|
40 |
$screen = add_submenu_page('themes.php', 'Dynamic Widgets', 'Dynamic Widgets', 'switch_themes', 'dynwid-config', 'dynwid_admin_page');
|
|
|
41 |
add_action('admin_print_scripts-' . $screen, 'dynwid_add_admin_scripts');
|
42 |
|
43 |
// Contextual help
|
@@ -61,7 +62,15 @@
|
|
61 |
}
|
62 |
|
63 |
function dynwid_add_admin_scripts() {
|
|
|
64 |
wp_enqueue_script('jquery');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
function dynwid_add_plugin_actions($all) {
|
@@ -144,8 +153,22 @@
|
|
144 |
$DW->registered_widget_controls[$widget_id]['wp_callback'] = $DW->registered_widget_controls[$widget_id]['callback'];
|
145 |
$DW->registered_widget_controls[$widget_id]['callback'] = 'dynwid_widget_callback';
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
if ( count($DW->registered_widget_controls[$widget_id]['params']) == 0 ) {
|
148 |
$DW->registered_widget_controls[$widget_id]['params'][ ] = array('widget_id' => $widget_id);
|
|
|
|
|
|
|
149 |
} else {
|
150 |
$DW->registered_widget_controls[$widget_id]['params'][0]['widget_id'] = $widget_id;
|
151 |
}
|
@@ -215,7 +238,7 @@
|
|
215 |
widget_id varchar(40) NOT NULL,
|
216 |
maintype varchar(20) NOT NULL,
|
217 |
`name` varchar(40) NOT NULL,
|
218 |
-
`value`
|
219 |
PRIMARY KEY (id),
|
220 |
KEY widget_id (widget_id,maintype)
|
221 |
);";
|
@@ -234,6 +257,14 @@
|
|
234 |
$wpdb->query($query);
|
235 |
}
|
236 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
update_option('dynwid_version', DW_VERSION);
|
239 |
}
|
@@ -348,6 +379,7 @@
|
|
348 |
$s = array();
|
349 |
$buffer = array(
|
350 |
'role' => 'Role',
|
|
|
351 |
'front-page' => 'Front Page',
|
352 |
'single' => 'Single Posts',
|
353 |
'page' => 'Pages',
|
2 |
/**
|
3 |
* Plugin Name: Dynamic Widgets
|
4 |
* Plugin URI: http://www.qurl.nl/dynamic-widgets/
|
5 |
+
* Description: Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on pages by excluding or including rules by roles, dates, for the homepage, single posts, pages, authors, categories, archives, error and the search page.
|
6 |
* Author: Jacco
|
7 |
+
* Version: 1.3
|
8 |
* Author URI: http://www.qurl.nl/
|
9 |
* Tags: widget, widgets, dynamic, sidebar, custom, rules, admin, conditional tags
|
10 |
*
|
15 |
*
|
16 |
* Released under the GPL v.2, http://www.gnu.org/copyleft/gpl.html
|
17 |
*
|
18 |
+
* @version $Id: dynamic-widgets.php 242448 2010-05-17 19:00:16Z qurl $
|
19 |
*/
|
20 |
|
21 |
// Constants
|
23 |
define('DW_DB_TABLE', 'dynamic_widgets');
|
24 |
define('DW_LIST_LIMIT', 20);
|
25 |
define('DW_LIST_STYLE', 'style="overflow:auto;height:240px;"');
|
26 |
+
define('DW_VERSION', '1.3');
|
27 |
|
28 |
// Class version to use
|
29 |
if ( version_compare(PHP_VERSION, '5.0.0', '<') ) {
|
38 |
$DW = &$GLOBALS['DW'];
|
39 |
|
40 |
$screen = add_submenu_page('themes.php', 'Dynamic Widgets', 'Dynamic Widgets', 'switch_themes', 'dynwid-config', 'dynwid_admin_page');
|
41 |
+
add_action('admin_print_styles-' . $screen, 'dynwid_add_admin_styles');
|
42 |
add_action('admin_print_scripts-' . $screen, 'dynwid_add_admin_scripts');
|
43 |
|
44 |
// Contextual help
|
62 |
}
|
63 |
|
64 |
function dynwid_add_admin_scripts() {
|
65 |
+
$DW = &$GLOBALS['DW'];
|
66 |
wp_enqueue_script('jquery');
|
67 |
+
wp_enqueue_script('jquery-ui-core');
|
68 |
+
wp_enqueue_script('jquery-ui-datepicker', $DW->plugin_url . 'jquery_datepicker.js', array('jquery-ui-core'));
|
69 |
+
}
|
70 |
+
|
71 |
+
function dynwid_add_admin_styles() {
|
72 |
+
$DW = &$GLOBALS['DW'];
|
73 |
+
wp_enqueue_style('jquery-ui-smoothness', $DW->plugin_url . 'jquery-ui-smoothness.css');
|
74 |
}
|
75 |
|
76 |
function dynwid_add_plugin_actions($all) {
|
153 |
$DW->registered_widget_controls[$widget_id]['wp_callback'] = $DW->registered_widget_controls[$widget_id]['callback'];
|
154 |
$DW->registered_widget_controls[$widget_id]['callback'] = 'dynwid_widget_callback';
|
155 |
|
156 |
+
/*
|
157 |
+
In odd cases params and/or params[0] seems not to be an array. Bugfix for:
|
158 |
+
Warning: Cannot use a scalar value as an array in ./wp-content/plugins/dynamic-widgets/dynamic-widgets.php on line 150
|
159 |
+
If the bug is not fixed, warning should now be on line 173
|
160 |
+
*/
|
161 |
+
|
162 |
+
/* Fixing params */
|
163 |
+
if (! is_array($DW->registered_widget_controls[$widget_id]['params']) ) {
|
164 |
+
$DW->registered_widget_controls[$widget_id]['params'] = array();
|
165 |
+
}
|
166 |
+
|
167 |
if ( count($DW->registered_widget_controls[$widget_id]['params']) == 0 ) {
|
168 |
$DW->registered_widget_controls[$widget_id]['params'][ ] = array('widget_id' => $widget_id);
|
169 |
+
/* Fixing params[0] */
|
170 |
+
} else if (! is_array($DW->registered_widget_controls[$widget_id]['params'][0]) ) {
|
171 |
+
$DW->registered_widget_controls[$widget_id]['params'][0] = array('widget_id' => $widget_id);
|
172 |
} else {
|
173 |
$DW->registered_widget_controls[$widget_id]['params'][0]['widget_id'] = $widget_id;
|
174 |
}
|
238 |
widget_id varchar(40) NOT NULL,
|
239 |
maintype varchar(20) NOT NULL,
|
240 |
`name` varchar(40) NOT NULL,
|
241 |
+
`value` longtext NOT NULL,
|
242 |
PRIMARY KEY (id),
|
243 |
KEY widget_id (widget_id,maintype)
|
244 |
);";
|
257 |
$wpdb->query($query);
|
258 |
}
|
259 |
}
|
260 |
+
|
261 |
+
/* 1.3 > Added Date (range) support.
|
262 |
+
Need to change DB `value` to a LONGTEXT type
|
263 |
+
(not for the date of course, but for supporting next features which might need a lot of space) */
|
264 |
+
if ( version_compare($version, '1.3', '<') ) {
|
265 |
+
$query = "ALTER TABLE " . $dbtable . " CHANGE `value` `value` LONGTEXT NOT NULL";
|
266 |
+
$wpdb->query($query);
|
267 |
+
}
|
268 |
}
|
269 |
update_option('dynwid_version', DW_VERSION);
|
270 |
}
|
379 |
$s = array();
|
380 |
$buffer = array(
|
381 |
'role' => 'Role',
|
382 |
+
'date' => 'Date',
|
383 |
'front-page' => 'Front Page',
|
384 |
'single' => 'Single Posts',
|
385 |
'page' => 'Pages',
|
dynwid_admin_edit.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* dynwid_admin_edit.php - Options settings
|
4 |
*
|
5 |
-
* @version $Id: dynwid_admin_edit.php
|
6 |
*/
|
7 |
|
8 |
// Roles
|
@@ -35,6 +35,26 @@
|
|
35 |
}
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
// Front Page
|
39 |
if ( get_option('show_on_front') == 'page' ) {
|
40 |
$frontpage_yes_selected = 'disabled="true"';
|
@@ -277,9 +297,15 @@ label {
|
|
277 |
<div class="error" id="message">
|
278 |
<p>Dynamic does not mean static hiding of a widget. Hint: <a href="widgets.php">Remove</a> the widget from the sidebar.</p>
|
279 |
</div>
|
|
|
|
|
|
|
|
|
|
|
280 |
<?php } ?>
|
281 |
|
282 |
<h3>Edit options for <em><?php echo $DW->getName($_GET['id']); ?></em> Widget</h3>
|
|
|
283 |
|
284 |
<form action="<?php echo attribute_escape($_SERVER['REQUEST_URI']); ?>" method="post">
|
285 |
<?php wp_nonce_field('plugin-name-action_edit_' . $_GET['id']); ?>
|
@@ -304,7 +330,36 @@ Show widget to everybody?
|
|
304 |
<?php } ?>
|
305 |
</div>
|
306 |
|
307 |
-
<br
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
308 |
|
309 |
<b>Front Page</b> <img src="<?php echo $DW->plugin_url; ?>img/info.gif" alt="info" onclick="divToggle('frontpage');" /><br />
|
310 |
Show widget on the front page?<br />
|
@@ -492,6 +547,24 @@ Show widget on the search page?<br />
|
|
492 |
jQuery(div).slideToggle(400);
|
493 |
}
|
494 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
function swChb(c, s) {
|
496 |
for ( i = 0; i < c.length; i++ ) {
|
497 |
if ( s == true ) {
|
@@ -501,14 +574,27 @@ Show widget on the search page?<br />
|
|
501 |
}
|
502 |
}
|
503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
var cAuthors = new Array(<?php echo implode(', ', $js_author_array); ?>);
|
505 |
var cCat = new Array(<?php echo implode(', ', $js_category_array); ?>);
|
506 |
var cRole = new Array(<?php echo implode(', ' , $jsroles); ?>);
|
|
|
507 |
var icount = <?php echo $js_count; ?>;
|
508 |
|
509 |
if ( document.getElementById('role-yes').checked ) {
|
510 |
swChb(cRole, true);
|
511 |
}
|
|
|
|
|
|
|
512 |
if ( document.getElementById('individual').checked ) {
|
513 |
swChb(cAuthors, true);
|
514 |
swChb(cCat, true);
|
2 |
/**
|
3 |
* dynwid_admin_edit.php - Options settings
|
4 |
*
|
5 |
+
* @version $Id: dynwid_admin_edit.php 242448 2010-05-17 19:00:16Z qurl $
|
6 |
*/
|
7 |
|
8 |
// Roles
|
35 |
}
|
36 |
}
|
37 |
|
38 |
+
// Date
|
39 |
+
$date_yes_selected = 'checked="checked"';
|
40 |
+
$opt_date = $DW->getOptions($_GET['id'], 'date');
|
41 |
+
if ( count($opt_date) > 0 ) {
|
42 |
+
foreach ( $opt_date as $value ) {
|
43 |
+
switch ( $value['name'] ) {
|
44 |
+
case 'date_start':
|
45 |
+
$date_start = $value['value'];
|
46 |
+
break;
|
47 |
+
|
48 |
+
case 'date_end':
|
49 |
+
$date_end = $value['value'];
|
50 |
+
break;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
$date_no_selected = $date_yes_selected;
|
55 |
+
unset($date_yes_selected);
|
56 |
+
}
|
57 |
+
|
58 |
// Front Page
|
59 |
if ( get_option('show_on_front') == 'page' ) {
|
60 |
$frontpage_yes_selected = 'disabled="true"';
|
297 |
<div class="error" id="message">
|
298 |
<p>Dynamic does not mean static hiding of a widget. Hint: <a href="widgets.php">Remove</a> the widget from the sidebar.</p>
|
299 |
</div>
|
300 |
+
<?php } else if ( $_GET['work'] == 'nonedate' ) { ?>
|
301 |
+
<div class="error" id="message">
|
302 |
+
<p>The From date can't be later than the To date.</p>
|
303 |
+
</div>
|
304 |
+
|
305 |
<?php } ?>
|
306 |
|
307 |
<h3>Edit options for <em><?php echo $DW->getName($_GET['id']); ?></em> Widget</h3>
|
308 |
+
<?php echo ( DW_DEBUG ) ? '<pre>ID = ' . $_GET['id'] . '</pre><br />' : ''; ?>
|
309 |
|
310 |
<form action="<?php echo attribute_escape($_SERVER['REQUEST_URI']); ?>" method="post">
|
311 |
<?php wp_nonce_field('plugin-name-action_edit_' . $_GET['id']); ?>
|
330 |
<?php } ?>
|
331 |
</div>
|
332 |
|
333 |
+
<br />
|
334 |
+
|
335 |
+
<b>Date</b> <img src="<?php echo $DW->plugin_url; ?>img/info.gif" alt="info" onclick="divToggle('date');" /><br />
|
336 |
+
Show widget always?<br />
|
337 |
+
<?php $DW->dumpOpt($opt_date); ?>
|
338 |
+
<div>
|
339 |
+
<div id="date" class="infotext">
|
340 |
+
Next to the above role option, the date option is also very powerfull. You've been warned!<br />
|
341 |
+
Enter dates in the YYYY-MM-DD format. You can also use the calender by clicking on the <img src="<?php echo $DW->plugin_url; ?>img/calendar.gif" alt="Calendar" /><br />
|
342 |
+
Date ranges can be made by entering a From AND a To date<br />
|
343 |
+
When you want the widget to be displayed from a specific date, only fill in the From date<br />
|
344 |
+
When you want the widget to stop displaying on a specific date, only fill in the To date.
|
345 |
+
</div>
|
346 |
+
</div>
|
347 |
+
<input type="radio" name="date" value="yes" id="date-yes" <?php echo $date_yes_selected; ?> onclick="swTxt(cDate, true);" /> <label for="date-yes">Yes</label>
|
348 |
+
<input type="radio" name="date" value="no" id="date-no" <?php echo $date_no_selected; ?> onclick="swTxt(cDate, false)" /> <label for="date-no">No, only:</label><br />
|
349 |
+
<div id="date-select" class="condition-select">
|
350 |
+
<table border="0" cellspacing="0" cellpadding="0">
|
351 |
+
<tr>
|
352 |
+
<td style="width:45px;">From</td>
|
353 |
+
<td><input id="date_start" type="text" name="date_start" value="<?php echo $date_start; ?>" size="10" maxlength="10" /> <img src="<?php echo $DW->plugin_url; ?>img/calendar.gif" alt="Calendar" onclick="showCalendar('date_start')" /></td>
|
354 |
+
</tr>
|
355 |
+
<tr>
|
356 |
+
<td style="width:45px;">To</td>
|
357 |
+
<td><input id="date_end" type="text" name="date_end" value="<?php echo $date_end; ?>" size="10" maxlength="10" /> <img src="<?php echo $DW->plugin_url; ?>img/calendar.gif" alt="Calendar" onclick="showCalendar('date_end')" /></td>
|
358 |
+
</tr>
|
359 |
+
</table>
|
360 |
+
</div>
|
361 |
+
|
362 |
+
<br />
|
363 |
|
364 |
<b>Front Page</b> <img src="<?php echo $DW->plugin_url; ?>img/info.gif" alt="info" onclick="divToggle('frontpage');" /><br />
|
365 |
Show widget on the front page?<br />
|
547 |
jQuery(div).slideToggle(400);
|
548 |
}
|
549 |
|
550 |
+
function showCalendar(id) {
|
551 |
+
if ( document.getElementById('date-no').checked ) {
|
552 |
+
var id = '#'+id;
|
553 |
+
jQuery(function() {
|
554 |
+
jQuery(id).datepicker({
|
555 |
+
dateFormat: 'yy-mm-dd',
|
556 |
+
minDate: new Date(<?php echo date('Y, n - 1, j'); ?>),
|
557 |
+
onClose: function() { jQuery(id).datepicker('destroy') }
|
558 |
+
});
|
559 |
+
jQuery(id).datepicker('show');
|
560 |
+
});
|
561 |
+
} else {
|
562 |
+
document.getElementById('date-no').checked = true;
|
563 |
+
swTxt(cDate, false);
|
564 |
+
showCalendar(id);
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
function swChb(c, s) {
|
569 |
for ( i = 0; i < c.length; i++ ) {
|
570 |
if ( s == true ) {
|
574 |
}
|
575 |
}
|
576 |
|
577 |
+
function swTxt(c, s) {
|
578 |
+
for ( i = 0; i < c.length; i++ ) {
|
579 |
+
if ( s == true ) {
|
580 |
+
document.getElementById(c[i]).value = '';
|
581 |
+
}
|
582 |
+
document.getElementById(c[i]).disabled = s;
|
583 |
+
}
|
584 |
+
}
|
585 |
+
|
586 |
var cAuthors = new Array(<?php echo implode(', ', $js_author_array); ?>);
|
587 |
var cCat = new Array(<?php echo implode(', ', $js_category_array); ?>);
|
588 |
var cRole = new Array(<?php echo implode(', ' , $jsroles); ?>);
|
589 |
+
var cDate = new Array('date_start', 'date_end');
|
590 |
var icount = <?php echo $js_count; ?>;
|
591 |
|
592 |
if ( document.getElementById('role-yes').checked ) {
|
593 |
swChb(cRole, true);
|
594 |
}
|
595 |
+
if ( document.getElementById('date-yes').checked ) {
|
596 |
+
swTxt(cDate, true);
|
597 |
+
}
|
598 |
if ( document.getElementById('individual').checked ) {
|
599 |
swChb(cAuthors, true);
|
600 |
swChb(cCat, true);
|
dynwid_admin_save.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* dynwid_admin_save.php - Saving options to the database
|
4 |
*
|
5 |
-
* @version $Id: dynwid_admin_save.php
|
6 |
*/
|
7 |
|
8 |
// Security - nonce
|
@@ -14,6 +14,37 @@
|
|
14 |
die();
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
$fields = array('front-page', 'single', 'page', 'author', 'category', 'archive', 'e404', 'search');
|
18 |
$work = FALSE;
|
19 |
foreach ( $fields as $field ) {
|
@@ -56,6 +87,21 @@
|
|
56 |
$DW->addMultiOption($_POST['widget_id'], 'role', 'no', $_POST['role_act']);
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
// Front Page
|
60 |
if ( $_POST['front-page'] == 'no' ) {
|
61 |
$DW->addSingleOption($_POST['widget_id'], 'front-page');
|
2 |
/**
|
3 |
* dynwid_admin_save.php - Saving options to the database
|
4 |
*
|
5 |
+
* @version $Id: dynwid_admin_save.php 242448 2010-05-17 19:00:16Z qurl $
|
6 |
*/
|
7 |
|
8 |
// Security - nonce
|
14 |
die();
|
15 |
}
|
16 |
|
17 |
+
// Date check
|
18 |
+
if ( $_POST['date'] == 'no' ) {
|
19 |
+
$date_start = trim($_POST['date_start']);
|
20 |
+
$date_end = trim($_POST['date_end']);
|
21 |
+
|
22 |
+
if (! ereg('^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$', $date_start) && ! ereg('^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$', $date_end) ) {
|
23 |
+
wp_redirect( get_option('siteurl') . $_SERVER['REQUEST_URI'] . '&work=none' );
|
24 |
+
die();
|
25 |
+
}
|
26 |
+
|
27 |
+
if (! empty($date_start) ) {
|
28 |
+
@list($date_start_year, $date_start_month, $date_start_day ) = explode('-', $date_start);
|
29 |
+
if (! checkdate($date_start_month, $date_start_day, $date_start_year) ) {
|
30 |
+
unset($date_start);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
if (! empty($date_end) ) {
|
34 |
+
@list($date_end_year, $date_end_month, $date_end_day ) = explode('-', $date_end);
|
35 |
+
if (! checkdate($date_end_month, $date_end_day, $date_end_year) ) {
|
36 |
+
unset($date_end);
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
if (! empty($date_start) && ! empty($date_end) ) {
|
41 |
+
if ( mktime(0,0,0,$date_start_month,$date_start_day,$date_start_year) > mktime(0,0,0,$date_end_month,$date_end_day, $date_end_year) ) {
|
42 |
+
wp_redirect( get_option('siteurl') . $_SERVER['REQUEST_URI'] . '&work=nonedate' );
|
43 |
+
die();
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
$fields = array('front-page', 'single', 'page', 'author', 'category', 'archive', 'e404', 'search');
|
49 |
$work = FALSE;
|
50 |
foreach ( $fields as $field ) {
|
87 |
$DW->addMultiOption($_POST['widget_id'], 'role', 'no', $_POST['role_act']);
|
88 |
}
|
89 |
|
90 |
+
// Date
|
91 |
+
if ( $_POST['date'] == 'no' ) {
|
92 |
+
$dates = array();
|
93 |
+
if ( ereg('^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$', $date_start) ) {
|
94 |
+
$dates['date_start'] = $date_start;
|
95 |
+
}
|
96 |
+
if ( ereg('^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$', $date_end) ) {
|
97 |
+
$dates['date_end'] = $date_end;
|
98 |
+
}
|
99 |
+
|
100 |
+
if ( count($dates) > 0 ) {
|
101 |
+
$DW->addDate($_POST['widget_id'], $dates);
|
102 |
+
}
|
103 |
+
}
|
104 |
+
|
105 |
// Front Page
|
106 |
if ( $_POST['front-page'] == 'no' ) {
|
107 |
$DW->addSingleOption($_POST['widget_id'], 'front-page');
|
dynwid_class.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* dynwid_class.php - Dynamic Widgets Class (PHP5)
|
4 |
*
|
5 |
-
* @version $Id: dynwid_class.php
|
6 |
*/
|
7 |
|
8 |
class dynWid {
|
@@ -19,9 +19,9 @@
|
|
19 |
|
20 |
public function __construct() {
|
21 |
if ( is_user_logged_in() ) {
|
22 |
-
|
23 |
} else {
|
24 |
-
$this->userrole = 'anonymous';
|
25 |
}
|
26 |
|
27 |
$this->firstmessage = TRUE;
|
@@ -37,6 +37,22 @@
|
|
37 |
$this->createList();
|
38 |
}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
public function addMultiOption($widget_id, $maintype, $default, $act) {
|
41 |
if ( $default == 'no' ) {
|
42 |
$opt_default = '0';
|
@@ -192,7 +208,7 @@
|
|
192 |
}
|
193 |
$query = "SELECT widget_id, maintype, name, value FROM " . $this->dbtable . "
|
194 |
WHERE widget_id LIKE '" . $widget_id . "'
|
195 |
-
AND (maintype LIKE '" . $maintype . "%' OR maintype = 'role')
|
196 |
ORDER BY maintype, name";
|
197 |
}
|
198 |
$results = $this->wpdb->get_results($query);
|
2 |
/**
|
3 |
* dynwid_class.php - Dynamic Widgets Class (PHP5)
|
4 |
*
|
5 |
+
* @version $Id: dynwid_class.php 242448 2010-05-17 19:00:16Z qurl $
|
6 |
*/
|
7 |
|
8 |
class dynWid {
|
19 |
|
20 |
public function __construct() {
|
21 |
if ( is_user_logged_in() ) {
|
22 |
+
$this->userrole = $GLOBALS['current_user']->roles;
|
23 |
} else {
|
24 |
+
$this->userrole = array('anonymous');
|
25 |
}
|
26 |
|
27 |
$this->firstmessage = TRUE;
|
37 |
$this->createList();
|
38 |
}
|
39 |
|
40 |
+
public function addDate($widget_id, $dates) {
|
41 |
+
$query = "INSERT INTO " . $this->dbtable . "
|
42 |
+
(widget_id, maintype, name, value)
|
43 |
+
VALUES
|
44 |
+
('" . $widget_id . "', 'date', 'default', '0')";
|
45 |
+
$this->wpdb->query($query);
|
46 |
+
|
47 |
+
foreach ( $dates as $name => $date ) {
|
48 |
+
$query = "INSERT INTO " . $this->dbtable . "
|
49 |
+
(widget_id, maintype, name, value)
|
50 |
+
VALUES
|
51 |
+
('" . $widget_id . "', 'date', '" . $name . "', '" . $date . "')";
|
52 |
+
$this->wpdb->query($query);
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
public function addMultiOption($widget_id, $maintype, $default, $act) {
|
57 |
if ( $default == 'no' ) {
|
58 |
$opt_default = '0';
|
208 |
}
|
209 |
$query = "SELECT widget_id, maintype, name, value FROM " . $this->dbtable . "
|
210 |
WHERE widget_id LIKE '" . $widget_id . "'
|
211 |
+
AND (maintype LIKE '" . $maintype . "%' OR maintype = 'role' OR maintype = 'date')
|
212 |
ORDER BY maintype, name";
|
213 |
}
|
214 |
$results = $this->wpdb->get_results($query);
|
dynwid_class_php4.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* dynwid_class_php4.php - Dynamic Widgets Class for PHP4
|
4 |
* Needs at least PHP 4.1.0
|
5 |
*
|
6 |
-
* @version $Id: dynwid_class_php4.php
|
7 |
*/
|
8 |
|
9 |
class dynWid {
|
@@ -25,9 +25,9 @@
|
|
25 |
|
26 |
function __construct() {
|
27 |
if ( is_user_logged_in() ) {
|
28 |
-
$this->userrole = $GLOBALS['current_user']->roles
|
29 |
} else {
|
30 |
-
$this->userrole = 'anonymous';
|
31 |
}
|
32 |
|
33 |
$this->firstmessage = TRUE;
|
@@ -43,6 +43,22 @@
|
|
43 |
$this->createList();
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
function addMultiOption($widget_id, $maintype, $default, $act) {
|
47 |
if ( $default == 'no' ) {
|
48 |
$opt_default = '0';
|
@@ -199,7 +215,7 @@
|
|
199 |
}
|
200 |
$query = "SELECT widget_id, maintype, name, value FROM " . $this->dbtable . "
|
201 |
WHERE widget_id LIKE '" . $widget_id . "'
|
202 |
-
AND (maintype LIKE '" . $maintype . "%' OR maintype = 'role')
|
203 |
ORDER BY maintype, name";
|
204 |
}
|
205 |
$results = $this->wpdb->get_results($query);
|
3 |
* dynwid_class_php4.php - Dynamic Widgets Class for PHP4
|
4 |
* Needs at least PHP 4.1.0
|
5 |
*
|
6 |
+
* @version $Id: dynwid_class_php4.php 242448 2010-05-17 19:00:16Z qurl $
|
7 |
*/
|
8 |
|
9 |
class dynWid {
|
25 |
|
26 |
function __construct() {
|
27 |
if ( is_user_logged_in() ) {
|
28 |
+
$this->userrole = $GLOBALS['current_user']->roles;
|
29 |
} else {
|
30 |
+
$this->userrole = array('anonymous');
|
31 |
}
|
32 |
|
33 |
$this->firstmessage = TRUE;
|
43 |
$this->createList();
|
44 |
}
|
45 |
|
46 |
+
function addDate($widget_id, $dates) {
|
47 |
+
$query = "INSERT INTO " . $this->dbtable . "
|
48 |
+
(widget_id, maintype, name, value)
|
49 |
+
VALUES
|
50 |
+
('" . $widget_id . "', 'date', 'default', '0')";
|
51 |
+
$this->wpdb->query($query);
|
52 |
+
|
53 |
+
foreach ( $dates as $name => $date ) {
|
54 |
+
$query = "INSERT INTO " . $this->dbtable . "
|
55 |
+
(widget_id, maintype, name, value)
|
56 |
+
VALUES
|
57 |
+
('" . $widget_id . "', 'date', '" . $name . "', '" . $date . "')";
|
58 |
+
$this->wpdb->query($query);
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
function addMultiOption($widget_id, $maintype, $default, $act) {
|
63 |
if ( $default == 'no' ) {
|
64 |
$opt_default = '0';
|
215 |
}
|
216 |
$query = "SELECT widget_id, maintype, name, value FROM " . $this->dbtable . "
|
217 |
WHERE widget_id LIKE '" . $widget_id . "'
|
218 |
+
AND (maintype LIKE '" . $maintype . "%' OR maintype = 'role' OR maintype = 'date')
|
219 |
ORDER BY maintype, name";
|
220 |
}
|
221 |
$results = $this->wpdb->get_results($query);
|
dynwid_worker.php
CHANGED
@@ -2,11 +2,11 @@
|
|
2 |
/**
|
3 |
* dynwid_worker.php - The worker does the actual work.
|
4 |
*
|
5 |
-
* @version $Id: dynwid_worker.php
|
6 |
*/
|
7 |
|
8 |
$DW->message('Dynamic Widgets INIT');
|
9 |
-
$DW->message('User has role ' . $DW->userrole);
|
10 |
|
11 |
$whereami = $DW->detectPage();
|
12 |
$DW->message('Page is ' . $whereami);
|
@@ -26,6 +26,7 @@
|
|
26 |
$DW->message('Number of rules to check for widget ' .$widget_id . ': ' . count($opt));
|
27 |
$display = TRUE;
|
28 |
$role = TRUE;
|
|
|
29 |
|
30 |
foreach ( $opt as $condition ) {
|
31 |
if ( empty($condition['name']) && $condition['value'] == '0' ) {
|
@@ -33,7 +34,7 @@
|
|
33 |
$display = FALSE;
|
34 |
$other = TRUE;
|
35 |
break;
|
36 |
-
} else if ( $condition['maintype'] != 'role' ) {
|
37 |
// Get default value
|
38 |
if ( $condition['name'] == 'default' ) {
|
39 |
$default = $condition['value'];
|
@@ -52,6 +53,9 @@
|
|
52 |
} else if ( $condition['maintype'] == 'role' && $condition['name'] == 'default' ) {
|
53 |
$DW->message('Default for ' . $widget_id . ' set to FALSE (rule R1)');
|
54 |
$role = FALSE;
|
|
|
|
|
|
|
55 |
}
|
56 |
}
|
57 |
|
@@ -59,12 +63,49 @@
|
|
59 |
if ( count($opt) > 0 ) {
|
60 |
// Role exceptions
|
61 |
foreach ( $opt as $condition ) {
|
62 |
-
|
63 |
$DW->message('Role set to TRUE (rule ER1)');
|
64 |
$role = TRUE;
|
65 |
}
|
66 |
}
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
// For debug messages
|
69 |
$e = ( $other ) ? 'TRUE' : 'FALSE';
|
70 |
|
@@ -154,7 +195,7 @@
|
|
154 |
}
|
155 |
}
|
156 |
break;
|
157 |
-
|
158 |
case 'home':
|
159 |
if ( count($act) > 0 ) {
|
160 |
$home_id = get_option('page_for_posts');
|
@@ -188,7 +229,7 @@
|
|
188 |
} // END switch ( $whereami )
|
189 |
} /* END if ( count($opt) > 0 ) */
|
190 |
|
191 |
-
if (! $display || ! $role ) {
|
192 |
$DW->message('Removed ' . $widget_id . ' from display');
|
193 |
unset($DW->registered_widgets[$widget_id]);
|
194 |
}
|
2 |
/**
|
3 |
* dynwid_worker.php - The worker does the actual work.
|
4 |
*
|
5 |
+
* @version $Id: dynwid_worker.php 242448 2010-05-17 19:00:16Z qurl $
|
6 |
*/
|
7 |
|
8 |
$DW->message('Dynamic Widgets INIT');
|
9 |
+
$DW->message('User has role(s): ' . implode(', ', $DW->userrole));
|
10 |
|
11 |
$whereami = $DW->detectPage();
|
12 |
$DW->message('Page is ' . $whereami);
|
26 |
$DW->message('Number of rules to check for widget ' .$widget_id . ': ' . count($opt));
|
27 |
$display = TRUE;
|
28 |
$role = TRUE;
|
29 |
+
$date = TRUE;
|
30 |
|
31 |
foreach ( $opt as $condition ) {
|
32 |
if ( empty($condition['name']) && $condition['value'] == '0' ) {
|
34 |
$display = FALSE;
|
35 |
$other = TRUE;
|
36 |
break;
|
37 |
+
} else if ( $condition['maintype'] != 'role' && $condition['maintype'] != 'date' ) {
|
38 |
// Get default value
|
39 |
if ( $condition['name'] == 'default' ) {
|
40 |
$default = $condition['value'];
|
53 |
} else if ( $condition['maintype'] == 'role' && $condition['name'] == 'default' ) {
|
54 |
$DW->message('Default for ' . $widget_id . ' set to FALSE (rule R1)');
|
55 |
$role = FALSE;
|
56 |
+
} else if ( $condition['maintype'] == 'date' && $condition['name'] == 'default' ) {
|
57 |
+
$DW->message('Default for ' . $widget_id . ' set to FALSE (rule DT1)');
|
58 |
+
$date = FALSE;
|
59 |
}
|
60 |
}
|
61 |
|
63 |
if ( count($opt) > 0 ) {
|
64 |
// Role exceptions
|
65 |
foreach ( $opt as $condition ) {
|
66 |
+
if ( $condition['maintype'] == 'role' && in_array($condition['name'], $DW->userrole) ) {
|
67 |
$DW->message('Role set to TRUE (rule ER1)');
|
68 |
$role = TRUE;
|
69 |
}
|
70 |
}
|
71 |
|
72 |
+
// Date exceptions
|
73 |
+
$dates = array();
|
74 |
+
foreach ( $opt as $condition ) {
|
75 |
+
if ( $condition['maintype'] == 'date' ) {
|
76 |
+
switch ( $condition['name'] ) {
|
77 |
+
case 'date_start':
|
78 |
+
$date_start = $condition['value'];
|
79 |
+
break;
|
80 |
+
|
81 |
+
case 'date_end':
|
82 |
+
$date_end = $condition['value'];
|
83 |
+
break;
|
84 |
+
}
|
85 |
+
}
|
86 |
+
}
|
87 |
+
$now = time();
|
88 |
+
if (! empty($date_end) ) {
|
89 |
+
@list($date_end_year, $date_end_month, $date_end_day) = explode('-', $date_end);
|
90 |
+
if ( mktime(23, 59, 59, $date_end_month, $date_end_day, $date_end_year) > $now ) {
|
91 |
+
$date = TRUE;
|
92 |
+
$DW->message('End date is in the future, sets Date to TRUE (rule EDT1)');
|
93 |
+
if (! empty($date_start) ) {
|
94 |
+
@list($date_start_year, $date_start_month, $date_start_day) = explode('-', $date_start);
|
95 |
+
if ( mktime(0, 0, 0, $date_start_month, $date_start_day, $date_start_year) > $now ) {
|
96 |
+
$date = FALSE;
|
97 |
+
$DW->message('From date is in the future, sets Date to FALSE (rule EDT2)');
|
98 |
+
}
|
99 |
+
}
|
100 |
+
}
|
101 |
+
} else if (! empty($date_start) ) {
|
102 |
+
@list($date_start_year, $date_start_month, $date_start_day) = explode('-', $date_start);
|
103 |
+
if ( mktime(0, 0, 0, $date_start_month, $date_start_day, $date_start_year) < $now ) {
|
104 |
+
$date = TRUE;
|
105 |
+
$DW->message('From date is in the past, sets Date to TRUE (rule EDT3)');
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
// For debug messages
|
110 |
$e = ( $other ) ? 'TRUE' : 'FALSE';
|
111 |
|
195 |
}
|
196 |
}
|
197 |
break;
|
198 |
+
|
199 |
case 'home':
|
200 |
if ( count($act) > 0 ) {
|
201 |
$home_id = get_option('page_for_posts');
|
229 |
} // END switch ( $whereami )
|
230 |
} /* END if ( count($opt) > 0 ) */
|
231 |
|
232 |
+
if (! $display || ! $role || ! $date ) {
|
233 |
$DW->message('Removed ' . $widget_id . ' from display');
|
234 |
unset($DW->registered_widgets[$widget_id]);
|
235 |
}
|
images/ui-bg_flat_0_aaaaaa_40x100.png
ADDED
Binary file
|
images/ui-bg_flat_75_ffffff_40x100.png
ADDED
Binary file
|
images/ui-bg_glass_55_fbf9ee_1x400.png
ADDED
Binary file
|
images/ui-bg_glass_65_ffffff_1x400.png
ADDED
Binary file
|
images/ui-bg_glass_75_dadada_1x400.png
ADDED
Binary file
|
images/ui-bg_glass_75_e6e6e6_1x400.png
ADDED
Binary file
|
images/ui-bg_glass_95_fef1ec_1x400.png
ADDED
Binary file
|
images/ui-bg_highlight-soft_75_cccccc_1x100.png
ADDED
Binary file
|
images/ui-icons_222222_256x240.png
ADDED
Binary file
|
images/ui-icons_2e83ff_256x240.png
ADDED
Binary file
|
images/ui-icons_454545_256x240.png
ADDED
Binary file
|
images/ui-icons_888888_256x240.png
ADDED
Binary file
|
images/ui-icons_cd0a0a_256x240.png
ADDED
Binary file
|
img/calendar.gif
ADDED
Binary file
|
jquery-ui-smoothness.css
ADDED
@@ -0,0 +1,344 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery UI CSS Framework
|
3 |
+
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
4 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
5 |
+
*/
|
6 |
+
|
7 |
+
/* Layout helpers
|
8 |
+
----------------------------------*/
|
9 |
+
.ui-helper-hidden { display: none; }
|
10 |
+
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
11 |
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
12 |
+
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
13 |
+
.ui-helper-clearfix { display: inline-block; }
|
14 |
+
/* required comment for clearfix to work in Opera \*/
|
15 |
+
* html .ui-helper-clearfix { height:1%; }
|
16 |
+
.ui-helper-clearfix { display:block; }
|
17 |
+
/* end clearfix */
|
18 |
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
19 |
+
|
20 |
+
|
21 |
+
/* Interaction Cues
|
22 |
+
----------------------------------*/
|
23 |
+
.ui-state-disabled { cursor: default !important; }
|
24 |
+
|
25 |
+
|
26 |
+
/* Icons
|
27 |
+
----------------------------------*/
|
28 |
+
|
29 |
+
/* states and images */
|
30 |
+
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
31 |
+
|
32 |
+
|
33 |
+
/* Misc visuals
|
34 |
+
----------------------------------*/
|
35 |
+
|
36 |
+
/* Overlays */
|
37 |
+
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
38 |
+
|
39 |
+
|
40 |
+
|
41 |
+
/*
|
42 |
+
* jQuery UI CSS Framework
|
43 |
+
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
44 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
45 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
46 |
+
*/
|
47 |
+
|
48 |
+
|
49 |
+
/* Component containers
|
50 |
+
----------------------------------*/
|
51 |
+
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
52 |
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
53 |
+
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
|
54 |
+
.ui-widget-content a { color: #222222; }
|
55 |
+
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
56 |
+
.ui-widget-header a { color: #222222; }
|
57 |
+
|
58 |
+
/* Interaction states
|
59 |
+
----------------------------------*/
|
60 |
+
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; }
|
61 |
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; }
|
62 |
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
|
63 |
+
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; }
|
64 |
+
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
|
65 |
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; }
|
66 |
+
|
67 |
+
/* Interaction Cues
|
68 |
+
----------------------------------*/
|
69 |
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
70 |
+
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
|
71 |
+
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
|
72 |
+
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
|
73 |
+
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
|
74 |
+
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
75 |
+
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
|
76 |
+
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
77 |
+
|
78 |
+
/* Icons
|
79 |
+
----------------------------------*/
|
80 |
+
|
81 |
+
/* states and images */
|
82 |
+
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
83 |
+
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
84 |
+
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
85 |
+
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
86 |
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
87 |
+
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
88 |
+
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
89 |
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
90 |
+
|
91 |
+
/* positioning */
|
92 |
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
93 |
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
94 |
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
95 |
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
96 |
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
97 |
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
98 |
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
99 |
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
100 |
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
101 |
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
102 |
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
103 |
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
104 |
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
105 |
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
106 |
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
107 |
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
108 |
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
109 |
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
110 |
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
111 |
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
112 |
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
113 |
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
114 |
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
115 |
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
116 |
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
117 |
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
118 |
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
119 |
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
120 |
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
121 |
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
122 |
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
123 |
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
124 |
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
125 |
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
126 |
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
127 |
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
128 |
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
129 |
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
130 |
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
131 |
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
132 |
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
133 |
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
134 |
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
135 |
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
136 |
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
137 |
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
138 |
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
139 |
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
140 |
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
141 |
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
142 |
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
143 |
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
144 |
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
145 |
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
146 |
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
147 |
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
148 |
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
149 |
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
150 |
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
151 |
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
152 |
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
153 |
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
154 |
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
155 |
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
156 |
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
157 |
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
158 |
+
.ui-icon-extlink { background-position: -32px -80px; }
|
159 |
+
.ui-icon-newwin { background-position: -48px -80px; }
|
160 |
+
.ui-icon-refresh { background-position: -64px -80px; }
|
161 |
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
162 |
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
163 |
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
164 |
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
165 |
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
166 |
+
.ui-icon-document { background-position: -32px -96px; }
|
167 |
+
.ui-icon-document-b { background-position: -48px -96px; }
|
168 |
+
.ui-icon-note { background-position: -64px -96px; }
|
169 |
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
170 |
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
171 |
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
172 |
+
.ui-icon-comment { background-position: -128px -96px; }
|
173 |
+
.ui-icon-person { background-position: -144px -96px; }
|
174 |
+
.ui-icon-print { background-position: -160px -96px; }
|
175 |
+
.ui-icon-trash { background-position: -176px -96px; }
|
176 |
+
.ui-icon-locked { background-position: -192px -96px; }
|
177 |
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
178 |
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
179 |
+
.ui-icon-tag { background-position: -240px -96px; }
|
180 |
+
.ui-icon-home { background-position: 0 -112px; }
|
181 |
+
.ui-icon-flag { background-position: -16px -112px; }
|
182 |
+
.ui-icon-calendar { background-position: -32px -112px; }
|
183 |
+
.ui-icon-cart { background-position: -48px -112px; }
|
184 |
+
.ui-icon-pencil { background-position: -64px -112px; }
|
185 |
+
.ui-icon-clock { background-position: -80px -112px; }
|
186 |
+
.ui-icon-disk { background-position: -96px -112px; }
|
187 |
+
.ui-icon-calculator { background-position: -112px -112px; }
|
188 |
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
189 |
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
190 |
+
.ui-icon-search { background-position: -160px -112px; }
|
191 |
+
.ui-icon-wrench { background-position: -176px -112px; }
|
192 |
+
.ui-icon-gear { background-position: -192px -112px; }
|
193 |
+
.ui-icon-heart { background-position: -208px -112px; }
|
194 |
+
.ui-icon-star { background-position: -224px -112px; }
|
195 |
+
.ui-icon-link { background-position: -240px -112px; }
|
196 |
+
.ui-icon-cancel { background-position: 0 -128px; }
|
197 |
+
.ui-icon-plus { background-position: -16px -128px; }
|
198 |
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
199 |
+
.ui-icon-minus { background-position: -48px -128px; }
|
200 |
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
201 |
+
.ui-icon-close { background-position: -80px -128px; }
|
202 |
+
.ui-icon-closethick { background-position: -96px -128px; }
|
203 |
+
.ui-icon-key { background-position: -112px -128px; }
|
204 |
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
205 |
+
.ui-icon-scissors { background-position: -144px -128px; }
|
206 |
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
207 |
+
.ui-icon-copy { background-position: -176px -128px; }
|
208 |
+
.ui-icon-contact { background-position: -192px -128px; }
|
209 |
+
.ui-icon-image { background-position: -208px -128px; }
|
210 |
+
.ui-icon-video { background-position: -224px -128px; }
|
211 |
+
.ui-icon-script { background-position: -240px -128px; }
|
212 |
+
.ui-icon-alert { background-position: 0 -144px; }
|
213 |
+
.ui-icon-info { background-position: -16px -144px; }
|
214 |
+
.ui-icon-notice { background-position: -32px -144px; }
|
215 |
+
.ui-icon-help { background-position: -48px -144px; }
|
216 |
+
.ui-icon-check { background-position: -64px -144px; }
|
217 |
+
.ui-icon-bullet { background-position: -80px -144px; }
|
218 |
+
.ui-icon-radio-off { background-position: -96px -144px; }
|
219 |
+
.ui-icon-radio-on { background-position: -112px -144px; }
|
220 |
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
221 |
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
222 |
+
.ui-icon-play { background-position: 0 -160px; }
|
223 |
+
.ui-icon-pause { background-position: -16px -160px; }
|
224 |
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
225 |
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
226 |
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
227 |
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
228 |
+
.ui-icon-stop { background-position: -96px -160px; }
|
229 |
+
.ui-icon-eject { background-position: -112px -160px; }
|
230 |
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
231 |
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
232 |
+
.ui-icon-power { background-position: 0 -176px; }
|
233 |
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
234 |
+
.ui-icon-signal { background-position: -32px -176px; }
|
235 |
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
236 |
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
237 |
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
238 |
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
239 |
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
240 |
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
241 |
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
242 |
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
243 |
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
244 |
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
245 |
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
246 |
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
247 |
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
248 |
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
249 |
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
250 |
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
251 |
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
252 |
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
253 |
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
254 |
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
255 |
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
256 |
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
257 |
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
258 |
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
259 |
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
260 |
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
261 |
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
262 |
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
263 |
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
264 |
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
265 |
+
|
266 |
+
|
267 |
+
/* Misc visuals
|
268 |
+
----------------------------------*/
|
269 |
+
|
270 |
+
/* Corner radius */
|
271 |
+
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
|
272 |
+
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
|
273 |
+
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
|
274 |
+
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
|
275 |
+
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
|
276 |
+
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
|
277 |
+
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
|
278 |
+
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
|
279 |
+
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
|
280 |
+
|
281 |
+
/* Overlays */
|
282 |
+
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
283 |
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Datepicker
|
284 |
+
----------------------------------*/
|
285 |
+
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
|
286 |
+
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
287 |
+
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
288 |
+
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
289 |
+
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
290 |
+
.ui-datepicker .ui-datepicker-next { right:2px; }
|
291 |
+
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
292 |
+
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
293 |
+
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
294 |
+
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
295 |
+
.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
|
296 |
+
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
297 |
+
.ui-datepicker select.ui-datepicker-month,
|
298 |
+
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
299 |
+
.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
|
300 |
+
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
301 |
+
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
302 |
+
.ui-datepicker td { border: 0; padding: 1px; }
|
303 |
+
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
304 |
+
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
305 |
+
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
306 |
+
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
307 |
+
|
308 |
+
/* with multiple calendars */
|
309 |
+
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
310 |
+
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
311 |
+
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
312 |
+
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
313 |
+
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
314 |
+
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
315 |
+
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
316 |
+
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
317 |
+
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
318 |
+
.ui-datepicker-row-break { clear:both; width:100%; }
|
319 |
+
|
320 |
+
/* RTL support */
|
321 |
+
.ui-datepicker-rtl { direction: rtl; }
|
322 |
+
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
323 |
+
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
324 |
+
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
325 |
+
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
326 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
327 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
328 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
329 |
+
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
330 |
+
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
331 |
+
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
332 |
+
|
333 |
+
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
334 |
+
.ui-datepicker-cover {
|
335 |
+
display: none; /*sorry for IE5*/
|
336 |
+
display/**/: block; /*sorry for IE5*/
|
337 |
+
position: absolute; /*must have*/
|
338 |
+
z-index: -1; /*must have*/
|
339 |
+
filter: mask(); /*must have*/
|
340 |
+
top: -4px; /*must have*/
|
341 |
+
left: -4px; /*must have*/
|
342 |
+
width: 200px; /*must have*/
|
343 |
+
height: 200px; /*must have*/
|
344 |
+
}
|
jquery_datepicker.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* jQuery UI Datepicker 1.7.2
|
2 |
+
*
|
3 |
+
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
|
4 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
5 |
+
* and GPL (GPL-LICENSE.txt) licenses.
|
6 |
+
*
|
7 |
+
* http://docs.jquery.com/UI/Datepicker
|
8 |
+
*
|
9 |
+
* Depends:
|
10 |
+
* ui.core.js
|
11 |
+
*/
|
12 |
+
(function($){$.extend($.ui,{datepicker:{version:"1.7.2"}});var PROP_NAME="datepicker";function Datepicker(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],dateFormat:"mm/dd/yy",firstDay:0,isRTL:false};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,showMonthAfterYear:false,yearRange:"-10:+10",showOtherMonths:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"normal",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false};$.extend(this._defaults,this.regional[""]);this.dpDiv=$('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$('<span class="'+this._appendClass+'">'+appendText+"</span>");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("<img/>").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('<input type="text" id="'+id+'" size="1" style="position: absolute; top: -100px;"/>');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i<this._disabledInputs.length;i++){if(this._disabledInputs[i]==target){return true}}return false},_getInst:function(target){try{return $.data(target,PROP_NAME)}catch(err){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(target,name,value){var inst=this._getInst(target);if(arguments.length==2&&typeof name=="string"){return(name=="defaults"?$.extend({},$.datepicker._defaults):(inst?(name=="all"?$.extend({},inst.settings):this._get(inst,name)):null))}var settings=name||{};if(typeof name=="string"){settings={};settings[name]=value}if(inst){if(this._curInst==inst){this._hideDatepicker(null)}var date=this._getDateDatepicker(target);extendRemove(inst.settings,settings);this._setDateDatepicker(target,date);this._updateDatepicker(inst)}},_changeDatepicker:function(target,name,value){this._optionDatepicker(target,name,value)},_refreshDatepicker:function(target){var inst=this._getInst(target);if(inst){this._updateDatepicker(inst)}},_setDateDatepicker:function(target,date,endDate){var inst=this._getInst(target);if(inst){this._setDate(inst,date,endDate);this._updateDatepicker(inst);this._updateAlternate(inst)}},_getDateDatepicker:function(target){var inst=this._getInst(target);if(inst&&!inst.inline){this._setDateFromField(inst)}return(inst?this._getDate(inst):null)},_doKeyDown:function(event){var inst=$.datepicker._getInst(event.target);var handled=true;var isRTL=inst.dpDiv.is(".ui-datepicker-rtl");inst._keyEvent=true;if($.datepicker._datepickerShowing){switch(event.keyCode){case 9:$.datepicker._hideDatepicker(null,"");break;case 13:var sel=$("td."+$.datepicker._dayOverClass+", td."+$.datepicker._currentClass,inst.dpDiv);if(sel[0]){$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0])}else{$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"))}return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,"duration"));break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M");break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M");break;case 35:if(event.ctrlKey||event.metaKey){$.datepicker._clearDate(event.target)}handled=event.ctrlKey||event.metaKey;break;case 36:if(event.ctrlKey||event.metaKey){$.datepicker._gotoToday(event.target)}handled=event.ctrlKey||event.metaKey;break;case 37:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?+1:-1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?-$.datepicker._get(inst,"stepBigMonths"):-$.datepicker._get(inst,"stepMonths")),"M")}break;case 38:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,-7,"D")}handled=event.ctrlKey||event.metaKey;break;case 39:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,(isRTL?-1:+1),"D")}handled=event.ctrlKey||event.metaKey;if(event.originalEvent.altKey){$.datepicker._adjustDate(event.target,(event.ctrlKey?+$.datepicker._get(inst,"stepBigMonths"):+$.datepicker._get(inst,"stepMonths")),"M")}break;case 40:if(event.ctrlKey||event.metaKey){$.datepicker._adjustDate(event.target,+7,"D")}handled=event.ctrlKey||event.metaKey;break;default:handled=false}}else{if(event.keyCode==36&&event.ctrlKey){$.datepicker._showDatepicker(this)}else{handled=false}}if(handled){event.preventDefault();event.stopPropagation()}},_doKeyPress:function(event){var inst=$.datepicker._getInst(event.target);if($.datepicker._get(inst,"constrainInput")){var chars=$.datepicker._possibleChars($.datepicker._get(inst,"dateFormat"));var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);return event.ctrlKey||(chr<" "||!chars||chars.indexOf(chr)>-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else{if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}}}return Math.floor(((checkDate-firstMon)/86400000)/7)+1},parseDate:function(format,value,settings){if(format==null||value==null){throw"Invalid arguments"}value=(typeof value=="object"?value.toString():value+"");if(value==""){return null}var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var year=-1;var month=-1;var day=-1;var doy=-1;var literal=false;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var getNumber=function(match){lookAhead(match);var origSize=(match=="@"?14:(match=="y"?4:(match=="o"?3:2)));var size=origSize;var num=0;while(size>0&&iValue<value.length&&value.charAt(iValue)>="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j<names.length;j++){size=Math.max(size,names[j].length)}var name="";var iInit=iValue;while(size>0&&iValue<value.length){name+=value.charAt(iValue++);for(var i=0;i<names.length;i++){if(name==names[i]){return i+1}}size--}throw"Unknown name at position "+iInit};var checkLiteral=function(){if(value.charAt(iValue)!=format.charAt(iFormat)){throw"Unexpected literal at position "+iValue}iValue++};var iValue=0;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{checkLiteral()}}else{switch(format.charAt(iFormat)){case"d":day=getNumber("d");break;case"D":getName("D",dayNamesShort,dayNames);break;case"o":doy=getNumber("o");break;case"m":month=getNumber("m");break;case"M":month=getName("M",monthNamesShort,monthNames);break;case"y":year=getNumber("y");break;case"@":var date=new Date(getNumber("@"));year=date.getFullYear();month=date.getMonth()+1;day=date.getDate();break;case"'":if(lookAhead("'")){checkLiteral()}else{literal=true}break;default:checkLiteral()}}}if(year==-1){year=new Date().getFullYear()}else{if(year<100){year+=new Date().getFullYear()-new Date().getFullYear()%100+(year<=shortYearCutoff?0:-100)}}if(doy>-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);if(matches){iFormat++}return matches};var formatNumber=function(match,value,len){var num=""+value;if(lookAhead(match)){while(num.length<len){num="0"+num}}return num};var formatName=function(match,value,shortNames,longNames){return(lookAhead(match)?longNames[value]:shortNames[value])};var output="";var literal=false;if(date){for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{output+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":output+=formatNumber("d",date.getDate(),2);break;case"D":output+=formatName("D",date.getDay(),dayNamesShort,dayNames);break;case"o":var doy=date.getDate();for(var m=date.getMonth()-1;m>=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormat<format.length;iFormat++){if(literal){if(format.charAt(iFormat)=="'"&&!lookAhead("'")){literal=false}else{chars+=format.charAt(iFormat)}}else{switch(format.charAt(iFormat)){case"d":case"m":case"y":case"@":chars+="0123456789";break;case"D":case"M":return null;case"'":if(lookAhead("'")){chars+="'"}else{literal=true}break;default:chars+=format.charAt(iFormat)}}}return chars},_get:function(inst,name){return inst.settings[name]!==undefined?inst.settings[name]:this._defaults[name]},_setDateFromField:function(inst){var dateFormat=this._get(inst,"dateFormat");var dates=inst.input?inst.input.val():null;inst.endDay=inst.endMonth=inst.endYear=null;var date=defaultDate=this._getDefaultDate(inst);var settings=this._getFormatConfig(inst);try{date=this.parseDate(dateFormat,dates,settings)||defaultDate}catch(event){this.log(event);date=defaultDate}inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();inst.currentDay=(dates?date.getDate():0);inst.currentMonth=(dates?date.getMonth():0);inst.currentYear=(dates?date.getFullYear():0);this._adjustInstDate(inst)},_getDefaultDate:function(inst){var date=this._determineDate(this._get(inst,"defaultDate"),new Date());var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', -"+stepMonths+", 'M');\" title=\""+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+prevText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"e":"w")+'">'+prevText+"</span></a>"));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#'+inst.id+"', +"+stepMonths+", 'M');\" title=\""+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>":(hideIfNoPrevNext?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+nextText+'"><span class="ui-icon ui-icon-circle-triangle-'+(isRTL?"w":"e")+'">'+nextText+"</span></a>"));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">'+this._get(inst,"closeText")+"</button>":"");var buttonPanel=(showButtonPanel)?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#'+inst.id+"');\">"+currentText+"</button>":"")+(isRTL?"":controls)+"</div>":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row<numMonths[0];row++){var group="";for(var col=0;col<numMonths[1];col++){var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));var cornerClass=" ui-corner-all";var calender="";if(isMultiMonth){calender+='<div class="ui-datepicker-group ui-datepicker-group-';switch(col){case 0:calender+="first";cornerClass=" ui-corner-"+(isRTL?"right":"left");break;case numMonths[1]-1:calender+="last";cornerClass=" ui-corner-"+(isRTL?"left":"right");break;default:calender+="middle";cornerClass="";break}calender+='">'}calender+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+cornerClass+'">'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="<th"+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+dayNames[day]+'">'+dayNamesMin[day]+"</span></th>"}calender+=thead+"</tr></thead><tbody>";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow<numRows;dRow++){calender+="<tr>";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);tbody+='<td class="'+((dow+firstDay+6)%7>=5?" ui-datepicker-week-end":"")+(otherMonth?" ui-datepicker-other-month":"")+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?" "+this._dayOverClass:"")+(unselectable?" "+this._unselectableClass+" ui-state-disabled":"")+(otherMonth&&!showOtherMonths?"":" "+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():" "):(unselectable?'<span class="ui-state-default">'+printDate.getDate()+"</span>":'<a class="ui-state-default'+(printDate.getTime()==today.getTime()?" ui-state-highlight":"")+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+"</a>"))+"</td>";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+"</tr>"}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="</tbody></table>"+(isMultiMonth?"</div>"+((numMonths[0]>0&&col==numMonths[1]-1)?'<div class="ui-datepicker-row-break"></div>':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);var changeMonth=this._get(inst,"changeMonth");var changeYear=this._get(inst,"changeYear");var showMonthAfterYear=this._get(inst,"showMonthAfterYear");var html='<div class="ui-datepicker-title">';var monthHtml="";if(secondary||!changeMonth){monthHtml+='<span class="ui-datepicker-month">'+monthNames[drawMonth]+"</span> "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(var month=0;month<12;month++){if((!inMinYear||month>=minDate.getMonth())&&(!inMaxYear||month<=maxDate.getMonth())){monthHtml+='<option value="'+month+'"'+(month==drawMonth?' selected="selected"':"")+">"+monthNamesShort[month]+"</option>"}}monthHtml+="</select>"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?" ":"")}if(secondary||!changeYear){html+='<span class="ui-datepicker-year">'+drawYear+"</span>"}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#'+inst.id+"', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#"+inst.id+"');\">";for(;year<=endYear;year++){html+='<option value="'+year+'"'+(year==drawYear?' selected="selected"':"")+">"+year+"</option>"}html+="</select>"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?" ":"")+monthHtml}html+="</div>";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&date<minDate?minDate:date);date=(maxDate&&date>maxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);var minDate=newMinDate||this._getMinMaxDate(inst,"min");var maxDate=this._getMinMaxDate(inst,"max");return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;
|
readme.txt
CHANGED
@@ -4,16 +4,17 @@ Donate link:
|
|
4 |
Tags: widget, widgets, dynamic, sidebar, custom, rules, admin, conditional tags
|
5 |
Requires at least: 2.9.1
|
6 |
Tested up to: 2.9.2
|
7 |
-
Stable tag: 1.
|
8 |
|
9 |
Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on WordPress pages.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
-
Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on WordPress pages by excluding or including rules by role, for the homepage, single posts, pages, authors, categories, archives and the
|
14 |
|
15 |
* Default widget display setting is supported for:
|
16 |
- User roles
|
|
|
17 |
- Front page
|
18 |
- Single post pages
|
19 |
- Pages
|
@@ -24,6 +25,7 @@ Dynamic Widgets gives you more control over your widgets. It lets you dynamicly
|
|
24 |
- Search Page
|
25 |
* Exceptions can be created for:
|
26 |
- User roles on role, including not logged in (anonymous) users
|
|
|
27 |
- Single post pages on Author, Categories, Tags and/or Individual posts
|
28 |
- Pages on Page Title
|
29 |
- Author pages on Author
|
@@ -80,6 +82,22 @@ Please file a [bugreport](http://www.qurl.nl/bugreport/). Please note the proced
|
|
80 |
|
81 |
== Changelog ==
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
= Version 1.2.3 =
|
84 |
|
85 |
* Added default widget display setting option for Search Page.
|
@@ -119,9 +137,13 @@ Please file a [bugreport](http://www.qurl.nl/bugreport/). Please note the proced
|
|
119 |
|
120 |
* Added default widget display setting option for 'Not Found' Error (404) Page.
|
121 |
|
|
|
|
|
|
|
|
|
122 |
== Upgrade Notice ==
|
123 |
|
124 |
-
|
125 |
|
126 |
== Screenshots ==
|
127 |
|
4 |
Tags: widget, widgets, dynamic, sidebar, custom, rules, admin, conditional tags
|
5 |
Requires at least: 2.9.1
|
6 |
Tested up to: 2.9.2
|
7 |
+
Stable tag: 1.3
|
8 |
|
9 |
Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on WordPress pages.
|
10 |
|
11 |
== Description ==
|
12 |
|
13 |
+
Dynamic Widgets gives you more control over your widgets. It lets you dynamicly place widgets on WordPress pages by excluding or including rules by role, dates, for the homepage, single posts, pages, authors, categories, archives, error and the search page.
|
14 |
|
15 |
* Default widget display setting is supported for:
|
16 |
- User roles
|
17 |
+
- Dates
|
18 |
- Front page
|
19 |
- Single post pages
|
20 |
- Pages
|
25 |
- Search Page
|
26 |
* Exceptions can be created for:
|
27 |
- User roles on role, including not logged in (anonymous) users
|
28 |
+
- Dates on from, to or range
|
29 |
- Single post pages on Author, Categories, Tags and/or Individual posts
|
30 |
- Pages on Page Title
|
31 |
- Author pages on Author
|
82 |
|
83 |
== Changelog ==
|
84 |
|
85 |
+
= Version 1.3 =
|
86 |
+
|
87 |
+
* Added support for dates functionality.
|
88 |
+
|
89 |
+
= Version 1.2.6 =
|
90 |
+
|
91 |
+
* Another bugfix try for nasty PHP warning "Cannot use a scalar value as an array"
|
92 |
+
|
93 |
+
= Version 1.2.5 =
|
94 |
+
|
95 |
+
* Bugfix for user role detection when using SPF.
|
96 |
+
|
97 |
+
= Version 1.2.4 =
|
98 |
+
|
99 |
+
* Bugfix(?) for PHP warning "Cannot use a scalar value as an array"
|
100 |
+
|
101 |
= Version 1.2.3 =
|
102 |
|
103 |
* Added default widget display setting option for Search Page.
|
137 |
|
138 |
* Added default widget display setting option for 'Not Found' Error (404) Page.
|
139 |
|
140 |
+
== Release Notes ==
|
141 |
+
|
142 |
+
Because of the addition of the dates functionality the database needs to be upgraded. You're advised to make a backup of your WordPress database first. When upgrading, be sure -like always- you do a proper deactiavtion and reactivation of the plugin. Otherwise the upgrade process will not be triggered.
|
143 |
+
|
144 |
== Upgrade Notice ==
|
145 |
|
146 |
+
Be sure to deactivate Dynamic Widgets Plugin before installing the new version following steps 1 and 2 in the installation procedure. After the install you can reactivate the plugin.
|
147 |
|
148 |
== Screenshots ==
|
149 |
|