Dynamic Widgets - Version 1.5.1

Version Description

This version has 2 features added and 7 bugs fixed.

=

Download this release

Release Info

Developer qurl
Plugin Icon wp plugin Dynamic Widgets
Version 1.5.1
Comparing to
See all releases

Code changes from version 1.5.0 to 1.5.1

classes/dwmodule_class.php CHANGED
@@ -137,6 +137,7 @@
137
 
138
  // $classname = self::getClassName();
139
  $vars = self::getVars(self::$classname);
 
140
  if ( $vars['wpml'] !== FALSE ) {
141
  $wpml = TRUE;
142
  }
@@ -296,5 +297,4 @@
296
  self::$name = str_replace('_', '-', self::$name);
297
  }
298
  }
299
-
300
  ?>
137
 
138
  // $classname = self::getClassName();
139
  $vars = self::getVars(self::$classname);
140
+ $wpml = FALSE;
141
  if ( $vars['wpml'] !== FALSE ) {
142
  $wpml = TRUE;
143
  }
297
  self::$name = str_replace('_', '-', self::$name);
298
  }
299
  }
 
300
  ?>
classes/dynwid_class.php CHANGED
@@ -426,7 +426,8 @@
426
  DWModule::registerOption(DW_BP::$option);
427
  DWModule::registerOption(DW_Browser::$option);
428
  DWModule::registerOption(DW_Category::$option);
429
- DWModule::registerOption(DW_CustomPost::$option);
 
430
  DWModule::registerOption(DW_Date::$option);
431
  DWModule::registerOption(DW_E404::$option);
432
  DWModule::registerOption(DW_Front_page::$option);
@@ -631,12 +632,21 @@
631
  }
632
  }
633
  }
 
 
 
 
 
 
 
 
 
 
634
 
635
  /**
636
  * dynWid::message() Debug message
637
  *
638
- * @param string $text Message
639
- * @return Message
640
  */
641
  public function message($text) {
642
  if ( DW_DEBUG ) {
426
  DWModule::registerOption(DW_BP::$option);
427
  DWModule::registerOption(DW_Browser::$option);
428
  DWModule::registerOption(DW_Category::$option);
429
+ // DWModule::registerOption(DW_CustomPost::$option);
430
+ DW_CustomPost::registerOption();
431
  DWModule::registerOption(DW_Date::$option);
432
  DWModule::registerOption(DW_E404::$option);
433
  DWModule::registerOption(DW_Front_page::$option);
632
  }
633
  }
634
  }
635
+
636
+ /**
637
+ * dynWid::log() Write text to debug log
638
+ *
639
+ */
640
+ public function log($text) {
641
+ if ( WP_DEBUG && DW_DEBUG ) {
642
+ error_log($text);
643
+ }
644
+ }
645
 
646
  /**
647
  * dynWid::message() Debug message
648
  *
649
+ * @param string $text
 
650
  */
651
  public function message($text) {
652
  if ( DW_DEBUG ) {
dynamic-widgets.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://www.qurl.nl/dynamic-widgets/
5
  * Description: Dynamic Widgets gives you full control on which pages your widgets will appear. It lets you dynamicly show or hide widgets on WordPress pages.
6
  * Author: Qurl
7
- * Version: 1.5.0
8
  * Author URI: http://www.qurl.nl/
9
  * Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods
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 488903 2012-01-12 18:17:27Z qurl $
19
  * @copyright 2011 Jacco Drabbe
20
  *
21
  * Thanks to Alexis Nomine for the contribution of the French (fr_FR) language files, several L10N fixes and change of the edit options UI.
@@ -23,6 +23,7 @@
23
  * Thanks to Eduardo Larequi for the contribution of the Spanish (es_ES) language files and several L10N fixes.
24
  * Thanks to Hanolex for the contribution of the Chinese (Simplified) (zh_CN) language files.
25
  * Thanks to Liudas Ali�auskas for the contribution of the Lithuanian (lt_LT) language files.
 
26
  *
27
  * WPML Plugin support via API
28
  * Using constants ICL_PLUGIN_PATH > mods/wpml_module.php
@@ -66,7 +67,7 @@
66
  define('DW_PLUGIN', dirname(__FILE__) . '/' . 'plugin/');
67
  define('DW_TIME_LIMIT', 86400); // 1 day
68
  define('DW_URL', 'http://www.qurl.nl');
69
- define('DW_VERSION', '1.5.0');
70
  define('DW_VERSION_URL_CHECK', DW_URL . '/wp-content/uploads/php/dw_version.php?v=' . DW_VERSION . '&n=');
71
  define('DW_WPML_API', '/inc/wpml-api.php'); // WPML Plugin support - API file relative to ICL_PLUGIN_PATH
72
  define('DW_WPML_ICON', 'img/wpml_icon.png'); // WPML Plugin support - WPML icon
@@ -145,49 +146,64 @@
145
  $wpdb->query($query);
146
  }
147
  }
148
-
149
- /* 1.5b10 > Added exclusion rule for first posts page by moving the static posts page out of pages
150
- Need to apply the setting of the static posts page to posts page (type 'front-page') to keep same behavior. */
151
- /* if ( version_compare($version, '1.5b10', '<') ) {
152
- if ( get_option('show_on_front') == 'page' ) {
153
- $id = get_option('page_for_posts');
154
- $query = "SELECT widget_id"; // get the widget_id(s) which have option set for posts page
155
- // get the widget_id(s) which have default option set for pages
156
- // do an array_intersect for combination
157
- // apply default option to posts page
158
- // apply exception to posts page and check default
159
- }
160
- } */
161
- }
162
  update_option('dynwid_version', DW_VERSION);
163
  }
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  /**
166
  * dynwid_add_admin_menu() Add plugin link to admin menu
167
  * @since 1.0
168
  */
169
  function dynwid_add_admin_menu() {
 
 
170
  $DW = &$GLOBALS['DW'];
171
 
172
- $screen = add_submenu_page('themes.php', __('Dynamic Widgets', DW_L10N_DOMAIN), __('Dynamic Widgets', DW_L10N_DOMAIN), 'edit_theme_options', 'dynwid-config', 'dynwid_admin_page');
173
 
174
  if ( $DW->enabled ) {
175
- add_action('admin_print_styles-' . $screen, 'dynwid_add_admin_styles');
176
- add_action('admin_print_scripts-' . $screen, 'dynwid_add_admin_scripts');
177
 
178
  // Contextual help
179
  if ( isset($_GET['action']) && $_GET['action'] == 'edit' ) {
180
- $help = __('Widgets are always displayed by default', DW_L10N_DOMAIN) . ' (' . __('The \'<em>Yes</em>\' selection', DW_L10N_DOMAIN) . ')' . '<br />';
181
- $help .= __('Click on the', DW_L10N_DOMAIN) . ' <img src="' . $DW->plugin_url . 'img/info.gif" alt="info" /> ' . __('next to the options for more info', DW_L10N_DOMAIN) . '.<br />';
182
- $help .= __('The') . ' <img src="' . $DW->plugin_url . 'img/checkmark.gif" alt="Checkmark" /> ' . __('next to a section means it has options set.', DW_L10N_DOMAIN);
183
  } else {
184
- $help = '<p><strong>' . __('Static', DW_L10N_DOMAIN) . ' / ' . __('Dynamic', DW_L10N_DOMAIN) . '</strong><br />';
185
- $help .= __('When a widget is', DW_L10N_DOMAIN) . ' <em>' . __('Static', DW_L10N_DOMAIN) . '</em>, ' . __('the widget uses the WordPress default. In other words, it\'s shown everywhere', DW_L10N_DOMAIN) . '.<br />';
186
- $help .= __('A widget is', DW_L10N_DOMAIN) . ' <em>' . __('Dynamic', DW_L10N_DOMAIN) . '</em> ' . __('when there are options set, i.e. not showing on the front page.', DW_L10N_DOMAIN) . '</p>';
187
- $help .= '<p><strong>' . __('Reset', DW_L10N_DOMAIN) . '</strong><br />';
188
- $help .= __('Reset makes the widget return to', DW_L10N_DOMAIN) . ' <em>' . __('Static', DW_L10N_DOMAIN) . '</em>.</p>';
 
 
 
189
  }
190
- add_contextual_help($screen, $help);
191
 
192
  // Only show meta box in posts panel when there are widgets enabled.
193
  $opt = $DW->getOpt('%','individual');
@@ -331,10 +347,6 @@
331
  function dynwid_add_widget_control() {
332
  $DW = &$GLOBALS['DW'];
333
 
334
- // Loading the options strings from the modules
335
- $DW->loadModules();
336
- $DW->getModuleName();
337
-
338
  /*
339
  Hooking into the callback of the widgets by moving the existing callback to wp_callback
340
  and setting callback with own callback function.
@@ -357,7 +369,7 @@
357
 
358
  if ( count($DW->registered_widget_controls[$widget_id]['params']) == 0 ) {
359
  $DW->registered_widget_controls[$widget_id]['params'][ ] = array('widget_id' => $widget_id);
360
- /* Fixing params[0] */
361
  } else if (! is_array($DW->registered_widget_controls[$widget_id]['params'][0]) ) {
362
  $DW->registered_widget_controls[$widget_id]['params'][0] = array('widget_id' => $widget_id);
363
  } else {
@@ -500,6 +512,32 @@
500
  }
501
  }
502
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  /**
504
  * dynwid_disabled_page() Error boxes to show in admin when DW can not be initialised due to not meeting sysreq.
505
  * @since 1.5b1
@@ -746,6 +784,9 @@
746
  function dynwid_widget_callback() {
747
  $DW = &$GLOBALS['DW'];
748
 
 
 
 
749
  $args = func_get_args();
750
  $widget_id = $args[0]['widget_id'];
751
  $wp_callback = $DW->registered_widget_controls[$widget_id]['wp_callback'];
@@ -792,7 +833,9 @@
792
  $string .= ( ($last - 1) == $i ) ? ' ' . __('and', DW_L10N_DOMAIN) . ' ' : ', ';
793
  }
794
  $type = $s[$last];
795
- $string .= $DW->dwoptions[$type];
 
 
796
 
797
  $output = '<br /><small>';
798
  $output .= ( count($opt) > 1 ) ? __('Options set for', DW_L10N_DOMAIN) : __('Option set for', DW_L10N_DOMAIN);
4
  * Plugin URI: http://www.qurl.nl/dynamic-widgets/
5
  * Description: Dynamic Widgets gives you full control on which pages your widgets will appear. It lets you dynamicly show or hide widgets on WordPress pages.
6
  * Author: Qurl
7
+ * Version: 1.5.1
8
  * Author URI: http://www.qurl.nl/
9
  * Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods
10
  *
15
  *
16
  * Released under the GPL v.2, http://www.gnu.org/copyleft/gpl.html
17
  *
18
+ * @version $Id: dynamic-widgets.php 523481 2012-03-25 19:49:08Z qurl $
19
  * @copyright 2011 Jacco Drabbe
20
  *
21
  * Thanks to Alexis Nomine for the contribution of the French (fr_FR) language files, several L10N fixes and change of the edit options UI.
23
  * Thanks to Eduardo Larequi for the contribution of the Spanish (es_ES) language files and several L10N fixes.
24
  * Thanks to Hanolex for the contribution of the Chinese (Simplified) (zh_CN) language files.
25
  * Thanks to Liudas Ali�auskas for the contribution of the Lithuanian (lt_LT) language files.
26
+ * Thanks to Pedro Nave for the contribution of the Portuguese (pt_PT) language files.
27
  *
28
  * WPML Plugin support via API
29
  * Using constants ICL_PLUGIN_PATH > mods/wpml_module.php
67
  define('DW_PLUGIN', dirname(__FILE__) . '/' . 'plugin/');
68
  define('DW_TIME_LIMIT', 86400); // 1 day
69
  define('DW_URL', 'http://www.qurl.nl');
70
+ define('DW_VERSION', '1.5.1');
71
  define('DW_VERSION_URL_CHECK', DW_URL . '/wp-content/uploads/php/dw_version.php?v=' . DW_VERSION . '&n=');
72
  define('DW_WPML_API', '/inc/wpml-api.php'); // WPML Plugin support - API file relative to ICL_PLUGIN_PATH
73
  define('DW_WPML_ICON', 'img/wpml_icon.png'); // WPML Plugin support - WPML icon
146
  $wpdb->query($query);
147
  }
148
  }
149
+
150
+ }
 
 
 
 
 
 
 
 
 
 
 
 
151
  update_option('dynwid_version', DW_VERSION);
152
  }
153
 
154
+
155
+ /**
156
+ * dynwid_add_admin_help_tab() Add help tab for WP >= 3.3
157
+ * @since 1.5.0
158
+ */
159
+ function dynwid_add_admin_help_tab() {
160
+ $dw_admin_screen = $GLOBALS['dw_admin_screen'];
161
+ $screen = get_current_screen();
162
+
163
+ if ( $screen->id == $dw_admin_screen ) {
164
+ // Contextual help
165
+ if ( isset($_GET['action']) && $_GET['action'] == 'edit' ) {
166
+ $dw_help = dynwid_contextual_help_text('edit');
167
+ } else {
168
+ $dw_help = dynwid_contextual_help_text('overview');
169
+ }
170
+
171
+ $args = array( 'id' => 'dw_help_tab',
172
+ 'title' => 'Dynamic Widgets',
173
+ 'content' => $dw_help
174
+ );
175
+ $screen->add_help_tab($args);
176
+ }
177
+ }
178
+
179
  /**
180
  * dynwid_add_admin_menu() Add plugin link to admin menu
181
  * @since 1.0
182
  */
183
  function dynwid_add_admin_menu() {
184
+ global $dw_admin_screen;
185
+
186
  $DW = &$GLOBALS['DW'];
187
 
188
+ $dw_admin_screen = add_submenu_page('themes.php', __('Dynamic Widgets', DW_L10N_DOMAIN), __('Dynamic Widgets', DW_L10N_DOMAIN), 'edit_theme_options', 'dynwid-config', 'dynwid_admin_page');
189
 
190
  if ( $DW->enabled ) {
191
+ add_action('admin_print_styles-' . $dw_admin_screen, 'dynwid_add_admin_styles');
192
+ add_action('admin_print_scripts-' . $dw_admin_screen, 'dynwid_add_admin_scripts');
193
 
194
  // Contextual help
195
  if ( isset($_GET['action']) && $_GET['action'] == 'edit' ) {
196
+ $dw_help = dynwid_contextual_help_text('edit');
 
 
197
  } else {
198
+ $dw_help = dynwid_contextual_help_text('overview');
199
+ }
200
+
201
+ // Since WP 3.3 contextual help is handled different
202
+ if ( version_compare($GLOBALS['wp_version'], '3.3', '>=') ) {
203
+ add_action('load-' . $dw_admin_screen, 'dynwid_add_admin_help_tab');
204
+ } else {
205
+ add_contextual_help($dw_admin_screen, $dw_help);
206
  }
 
207
 
208
  // Only show meta box in posts panel when there are widgets enabled.
209
  $opt = $DW->getOpt('%','individual');
347
  function dynwid_add_widget_control() {
348
  $DW = &$GLOBALS['DW'];
349
 
 
 
 
 
350
  /*
351
  Hooking into the callback of the widgets by moving the existing callback to wp_callback
352
  and setting callback with own callback function.
369
 
370
  if ( count($DW->registered_widget_controls[$widget_id]['params']) == 0 ) {
371
  $DW->registered_widget_controls[$widget_id]['params'][ ] = array('widget_id' => $widget_id);
372
+ // Fixing params[0]
373
  } else if (! is_array($DW->registered_widget_controls[$widget_id]['params'][0]) ) {
374
  $DW->registered_widget_controls[$widget_id]['params'][0] = array('widget_id' => $widget_id);
375
  } else {
512
  }
513
  }
514
 
515
+ /**
516
+ * dynwid_contextual_help_text() Actual text to place into the contextual help screen
517
+ * @param string $screen
518
+ * @return string
519
+ * @since 1.5.0
520
+ *
521
+ */
522
+ function dynwid_contextual_help_text($screen) {
523
+ $DW = &$GLOBALS['DW'];
524
+
525
+ // Contextual help
526
+ if ( $screen == 'edit' ) {
527
+ $dw_help = __('Widgets are always displayed by default', DW_L10N_DOMAIN) . ' (' . __('The \'<em>Yes</em>\' selection', DW_L10N_DOMAIN) . ')' . '<br />';
528
+ $dw_help .= __('Click on the', DW_L10N_DOMAIN) . ' <img src="' . $DW->plugin_url . 'img/info.gif" alt="info" /> ' . __('next to the options for more info', DW_L10N_DOMAIN) . '.<br />';
529
+ $dw_help .= __('The') . ' <img src="' . $DW->plugin_url . 'img/checkmark.gif" alt="Checkmark" /> ' . __('next to a section means it has options set.', DW_L10N_DOMAIN);
530
+ } else {
531
+ $dw_help = '<p><strong>' . __('Static', DW_L10N_DOMAIN) . ' / ' . __('Dynamic', DW_L10N_DOMAIN) . '</strong><br />';
532
+ $dw_help .= __('When a widget is', DW_L10N_DOMAIN) . ' <em>' . __('Static', DW_L10N_DOMAIN) . '</em>, ' . __('the widget uses the WordPress default. In other words, it\'s shown everywhere', DW_L10N_DOMAIN) . '.<br />';
533
+ $dw_help .= __('A widget is', DW_L10N_DOMAIN) . ' <em>' . __('Dynamic', DW_L10N_DOMAIN) . '</em> ' . __('when there are options set, i.e. not showing on the front page.', DW_L10N_DOMAIN) . '</p>';
534
+ $dw_help .= '<p><strong>' . __('Reset', DW_L10N_DOMAIN) . '</strong><br />';
535
+ $dw_help .= __('Reset makes the widget return to', DW_L10N_DOMAIN) . ' <em>' . __('Static', DW_L10N_DOMAIN) . '</em>.</p>';
536
+ }
537
+
538
+ return $dw_help;
539
+ }
540
+
541
  /**
542
  * dynwid_disabled_page() Error boxes to show in admin when DW can not be initialised due to not meeting sysreq.
543
  * @since 1.5b1
784
  function dynwid_widget_callback() {
785
  $DW = &$GLOBALS['DW'];
786
 
787
+ $DW->loadModules();
788
+ $DW->getModuleName();
789
+
790
  $args = func_get_args();
791
  $widget_id = $args[0]['widget_id'];
792
  $wp_callback = $DW->registered_widget_controls[$widget_id]['wp_callback'];
833
  $string .= ( ($last - 1) == $i ) ? ' ' . __('and', DW_L10N_DOMAIN) . ' ' : ', ';
834
  }
835
  $type = $s[$last];
836
+ if ( isset($DW->dwoptions[$type]) ) {
837
+ $string .= $DW->dwoptions[$type];
838
+ }
839
 
840
  $output = '<br /><small>';
841
  $output .= ( count($opt) > 1 ) ? __('Options set for', DW_L10N_DOMAIN) : __('Option set for', DW_L10N_DOMAIN);
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 479403 2011-12-22 19:01:25Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -17,10 +17,12 @@
17
  foreach ( $DW->overrule_maintype as $o ) {
18
  if ( $o != 'date' ) {
19
  $act_field = $o . '_act';
20
- if ( $_POST[$o] == 'no' && count($_POST[$act_field]) == 0 ) {
21
- wp_redirect( $_SERVER['REQUEST_URI'] . '&work=none' );
22
- die();
23
- }
 
 
24
  }
25
  }
26
 
@@ -124,8 +126,51 @@
124
  DWModule::save('attachment');
125
 
126
  // Pages
127
- DWModule::save('page', 'complex');
128
- DWModule::childSave('page'); // -- Childs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
  // Author
131
  DWModule::save('author', 'complex');
@@ -155,11 +200,13 @@
155
  // Go through the tax_list - Workaround as for some reason get_object_taxonomies() is not always filled
156
  $tax_list = array();
157
  $len = strlen($type);
158
- foreach ( $_POST['tax_list'] as $tl ) {
159
- if ( substr($tl, 0, $len) == $type ) {
160
- $tax_list [] = $tl;
161
- }
162
- }
 
 
163
 
164
  foreach ( $tax_list as $tax ) {
165
  $act_tax_field = $tax . '_act';
@@ -171,7 +218,7 @@
171
 
172
  $act_field = $type . '_act';
173
  if ( (isset($_POST[$act_field]) && count($_POST[$act_field]) > 0) || $taxonomy ) {
174
- if (! is_array($_POST[$act_field]) ) {
175
  $_POST[$act_field] = array();
176
  }
177
 
@@ -190,7 +237,7 @@
190
  $DW->addMultiOption($_POST['widget_id'], $tax, $_POST[$type], $_POST[$act_tax_field]);
191
  }
192
 
193
- // ---- Childs >> Can't use DWModule:;childSave() cause of $name != $tax, but $name == $type
194
  $act_tax_childs_field = $tax . '_childs_act';
195
  if ( isset($_POST[$act_tax_field]) && count($_POST[$act_tax_field]) > 0 && isset($_POST[$act_tax_childs_field]) && count($_POST[$act_tax_childs_field]) > 0 ) {
196
  $DW->addChilds($_POST['widget_id'], $tax . '-childs', $_POST[$type], $_POST[$act_tax_field], $_POST[$act_tax_childs_field]);
@@ -202,8 +249,8 @@
202
  }
203
 
204
  // Custom Taxonomies
205
- if ( isset($_POST['taxonomy']) ) {
206
- foreach ( $_POST['taxonomy'] as $tax ) {
207
  $type = 'tax_' . $tax;
208
  $act_field = $type . '_act';
209
  if ( isset($_POST[$act_field]) && count($_POST[$act_field]) > 0 ) {
@@ -228,7 +275,7 @@
228
 
229
  // WPSC/WPEC Plugin support
230
  DWModule::save('wpsc', 'complex');
231
-
232
  // bbPress Plugin support
233
  DWModule::save('bbp_profile', 'simple');
234
 
2
  /**
3
  * dynwid_admin_save.php - Saving options to the database
4
  *
5
+ * @version $Id: dynwid_admin_save.php 513944 2012-03-03 15:19:22Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
17
  foreach ( $DW->overrule_maintype as $o ) {
18
  if ( $o != 'date' ) {
19
  $act_field = $o . '_act';
20
+ if ( isset($_POST[$act_field]) ) {
21
+ if ( $_POST[$o] == 'no' && count($_POST[$act_field]) == 0 ) {
22
+ wp_redirect( $_SERVER['REQUEST_URI'] . '&work=none' );
23
+ die();
24
+ }
25
+ }
26
  }
27
  }
28
 
126
  DWModule::save('attachment');
127
 
128
  // Pages
129
+ // DWModule::save('page', 'complex');
130
+ // DWModule::childSave('page'); // -- Childs
131
+
132
+ // Go through the page_tax_list - Workaround as for some reason get_object_taxonomies() is not always filled
133
+ $page_taxonomy = FALSE;
134
+ $page_tax_list = array();
135
+ if ( isset($_POST['page_tax_list']) && count($_POST['page_tax_list']) > 0 ) {
136
+ foreach ( $_POST['page_tax_list'] as $tax ) {
137
+ $act_tax_field = $tax . '_act';
138
+ if ( isset($_POST[$act_tax_field]) && count($_POST[$act_tax_field]) > 0 ) {
139
+ $page_taxonomy = TRUE;
140
+ break;
141
+ }
142
+ }
143
+ }
144
+
145
+
146
+ if ( (isset($_POST['page_act']) && count($_POST['page_act']) > 0) || $page_taxonomy ) {
147
+ if (! isset($_POST['page_act']) ) {
148
+ $_POST['page_act'] = array();
149
+ }
150
+
151
+ $DW->addMultiOption($_POST['widget_id'], 'page', $_POST['page'], $_POST['page_act']);
152
+ } else if ( $_POST['page'] == 'no' ) {
153
+ $DW->addSingleOption($_POST['widget_id'], 'page');
154
+ }
155
+
156
+ // -- Childs
157
+ DWModule::childSave('page');
158
+
159
+ // -- Page Taxonomies
160
+ if ( isset($_POST['page_tax_list']) && count($_POST['page_tax_list']) > 0 ) {
161
+ foreach ( $_POST['page_tax_list'] as $tax ) {
162
+ $act_tax_field = $tax . '_act';
163
+ if ( isset($_POST[$act_tax_field]) && count($_POST[$act_tax_field]) > 0 ) {
164
+ $DW->addMultiOption($_POST['widget_id'], $tax, $_POST['page'], $_POST[$act_tax_field]);
165
+ }
166
+
167
+ // ---- Childs >> Can't use DWModule::childSave() cause of $name != $tax, but $name == 'page'
168
+ $act_tax_childs_field = $tax . '_childs_act';
169
+ if ( isset($_POST[$act_tax_field]) && count($_POST[$act_tax_field]) > 0 && isset($_POST[$act_tax_childs_field]) && count($_POST[$act_tax_childs_field]) > 0 ) {
170
+ $DW->addChilds($_POST['widget_id'], $tax . '-childs', $_POST['page'], $_POST[$act_tax_field], $_POST[$act_tax_childs_field]);
171
+ }
172
+ }
173
+ }
174
 
175
  // Author
176
  DWModule::save('author', 'complex');
200
  // Go through the tax_list - Workaround as for some reason get_object_taxonomies() is not always filled
201
  $tax_list = array();
202
  $len = strlen($type);
203
+ if ( isset($_POST['tax_list']) && count($_POST['tax_list']) > 0 ) {
204
+ foreach ( $_POST['tax_list'] as $tl ) {
205
+ if ( substr($tl, 0, $len) == $type ) {
206
+ $tax_list[] = $tl;
207
+ }
208
+ }
209
+ }
210
 
211
  foreach ( $tax_list as $tax ) {
212
  $act_tax_field = $tax . '_act';
218
 
219
  $act_field = $type . '_act';
220
  if ( (isset($_POST[$act_field]) && count($_POST[$act_field]) > 0) || $taxonomy ) {
221
+ if (! isset($_POST[$act_field]) ) {
222
  $_POST[$act_field] = array();
223
  }
224
 
237
  $DW->addMultiOption($_POST['widget_id'], $tax, $_POST[$type], $_POST[$act_tax_field]);
238
  }
239
 
240
+ // ---- Childs >> Can't use DWModule::childSave() cause of $name != $tax, but $name == $type
241
  $act_tax_childs_field = $tax . '_childs_act';
242
  if ( isset($_POST[$act_tax_field]) && count($_POST[$act_tax_field]) > 0 && isset($_POST[$act_tax_childs_field]) && count($_POST[$act_tax_childs_field]) > 0 ) {
243
  $DW->addChilds($_POST['widget_id'], $tax . '-childs', $_POST[$type], $_POST[$act_tax_field], $_POST[$act_tax_childs_field]);
249
  }
250
 
251
  // Custom Taxonomies
252
+ if ( isset($_POST['dw_taxonomy']) ) {
253
+ foreach ( $_POST['dw_taxonomy'] as $tax ) {
254
  $type = 'tax_' . $tax;
255
  $act_field = $type . '_act';
256
  if ( isset($_POST[$act_field]) && count($_POST[$act_field]) > 0 ) {
275
 
276
  // WPSC/WPEC Plugin support
277
  DWModule::save('wpsc', 'complex');
278
+
279
  // bbPress Plugin support
280
  DWModule::save('bbp_profile', 'simple');
281
 
dynwid_class.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * dynwid_class.php - Dynamic Widgets Classes loader (PHP5)
4
  *
5
- * @version $Id: dynwid_class.php 439650 2011-09-18 12:01:48Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -12,4 +12,4 @@
12
  include_once(DW_CLASSES . $file);
13
  }
14
  }
15
- ?>
2
  /**
3
  * dynwid_class.php - Dynamic Widgets Classes loader (PHP5)
4
  *
5
+ * @version $Id: dynwid_class.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
12
  include_once(DW_CLASSES . $file);
13
  }
14
  }
15
+ ?>
dynwid_worker.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * dynwid_worker.php - The worker does the actual work.
4
  *
5
- * @version $Id: dynwid_worker.php 452610 2011-10-18 19:44:46Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -194,7 +194,7 @@
194
  // Display exceptions (custom post type)
195
  if ( $DW->custom_post_type ) {
196
  // Custom Post Type behaves the same as a single post
197
- $post = $GLOBALS['post'];
198
  if ( count($act) > 0 ) {
199
  $id = $post->ID;
200
  $DW->message('PostID: ' . $id);
@@ -205,7 +205,7 @@
205
 
206
  $act_custom = array();
207
  $act_childs = array();
208
- foreach ( $opt as $condition ) {
209
  if ( $condition->name != 'default' ) {
210
  switch ( $condition->maintype ) {
211
  case $DW->whereami:
@@ -217,7 +217,7 @@
217
  break;
218
  }
219
  }
220
- }
221
 
222
  // Taxonomies within CPT
223
  $act_tax = array();
@@ -259,13 +259,13 @@
259
  } else if ( count($act_tax) > 0 ) {
260
  // bcause $id has already been moved to default language, term doesn't need to be converted. WPML takes care of default language term
261
  foreach ( $term as $t ) {
262
- if ( is_array($act_tax[$t->taxonomy]) && in_array($t->term_id, $act_tax[$t->taxonomy]) ) {
263
  $display = $other;
264
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule ECP3)');
265
  break;
266
  }
267
  $parents = $DW->getTaxParents($t->taxonomy, array(), $t->term_id);
268
- if ( is_array($act_tax_childs[$t->taxonomy]) && (bool) array_intersect($act_tax_childs[$t->taxonomy], $parents) ) {
269
  $display = $other;
270
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule ECP4)');
271
  }
@@ -420,7 +420,7 @@
420
  }
421
  }
422
  break;
423
-
424
  case 'front-page':
425
  if ( count($act) > 0 ) {
426
  $pagenr = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
@@ -428,7 +428,7 @@
428
  $display = $other;
429
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EFP1)');
430
  }
431
- }
432
  break;
433
 
434
  case 'home':
@@ -455,6 +455,10 @@
455
  $post = $GLOBALS['post'];
456
  $id = $post->ID;
457
  $DW->message('ID = ' . $id);
 
 
 
 
458
  if ( $DW->wpml ) {
459
  $id = DW_WPML::getID($id);
460
  $DW->message('WPML ObjectID: ' . $id);
@@ -483,7 +487,51 @@
483
  $display = $other;
484
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EP2)');
485
  }
486
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
487
  }
488
  break;
489
 
2
  /**
3
  * dynwid_worker.php - The worker does the actual work.
4
  *
5
+ * @version $Id: dynwid_worker.php 518600 2012-03-13 17:58:23Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
194
  // Display exceptions (custom post type)
195
  if ( $DW->custom_post_type ) {
196
  // Custom Post Type behaves the same as a single post
197
+ $post = $GLOBALS['post'];
198
  if ( count($act) > 0 ) {
199
  $id = $post->ID;
200
  $DW->message('PostID: ' . $id);
205
 
206
  $act_custom = array();
207
  $act_childs = array();
208
+ /* foreach ( $opt as $condition ) {
209
  if ( $condition->name != 'default' ) {
210
  switch ( $condition->maintype ) {
211
  case $DW->whereami:
217
  break;
218
  }
219
  }
220
+ } */
221
 
222
  // Taxonomies within CPT
223
  $act_tax = array();
259
  } else if ( count($act_tax) > 0 ) {
260
  // bcause $id has already been moved to default language, term doesn't need to be converted. WPML takes care of default language term
261
  foreach ( $term as $t ) {
262
+ if ( isset($act_tax[$t->taxonomy]) && is_array($act_tax[$t->taxonomy]) && in_array($t->term_id, $act_tax[$t->taxonomy]) ) {
263
  $display = $other;
264
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule ECP3)');
265
  break;
266
  }
267
  $parents = $DW->getTaxParents($t->taxonomy, array(), $t->term_id);
268
+ if ( isset($act_tax_childs[$t->taxonomy]) && is_array($act_tax_childs[$t->taxonomy]) && (bool) array_intersect($act_tax_childs[$t->taxonomy], $parents) ) {
269
  $display = $other;
270
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule ECP4)');
271
  }
420
  }
421
  }
422
  break;
423
+
424
  case 'front-page':
425
  if ( count($act) > 0 ) {
426
  $pagenr = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
428
  $display = $other;
429
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EFP1)');
430
  }
431
+ }
432
  break;
433
 
434
  case 'home':
455
  $post = $GLOBALS['post'];
456
  $id = $post->ID;
457
  $DW->message('ID = ' . $id);
458
+
459
+ $page_act_tax = array();
460
+ $page_act_tax_childs = array();
461
+
462
  if ( $DW->wpml ) {
463
  $id = DW_WPML::getID($id);
464
  $DW->message('WPML ObjectID: ' . $id);
487
  $display = $other;
488
  $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EP2)');
489
  }
490
+ } else {
491
+ $term = wp_get_object_terms($id, get_object_taxonomies($DW->whereami), array('fields' => 'all'));
492
+ if ( count($term) > 0 ) {
493
+ foreach ( get_object_taxonomies($DW->whereami) as $t ) {
494
+ $m = $DW->whereami . '-tax_' . $t;
495
+ foreach ( $opt as $condition ) {
496
+ if ( $condition->maintype == $m ) {
497
+ if (! key_exists($t, $page_act_tax) ) {
498
+ $page_act_tax[$t] = array();
499
+ $page_act_tax_childs[$t] = array();
500
+ }
501
+ }
502
+
503
+ if ( $condition->name != 'default' ) {
504
+ switch ( $condition->maintype ) {
505
+ case $m:
506
+ $page_act_tax[$t][ ] = $condition->name;
507
+ break;
508
+ case $m . '-childs':
509
+ $page_act_tax_childs[$t][ ] = $condition->name;
510
+ break;
511
+ } // END switch
512
+ }
513
+
514
+ } // END $opt
515
+ }
516
+
517
+ } // END count($term)
518
+ }
519
+
520
+ if (! is_wp_error($term) && ! empty($term) ) {
521
+ foreach ( $term as $t ) {
522
+ if ( isset($page_act_tax[$t->taxonomy]) && is_array($page_act_tax[$t->taxonomy]) && in_array($t->term_id, $page_act_tax[$t->taxonomy]) ) {
523
+ $display = $other;
524
+ $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EP3)');
525
+ break;
526
+ }
527
+ $page_parents = $DW->getTaxParents($t->taxonomy, array(), $t->term_id);
528
+ if ( isset($page_act_tax_childs[$t->taxonomy]) && is_array($page_act_tax_childs[$t->taxonomy]) && (bool) array_intersect($page_act_tax_childs[$t->taxonomy], $page_parents) ) {
529
+ $display = $other;
530
+ $DW->message('Exception triggered for ' . $widget_id . ' sets display to ' . $e . ' (rule EP4)');
531
+ }
532
+ }
533
+ }
534
+
535
  }
536
  break;
537
 
locale/dynamic-widgets-pt_PT.mo ADDED
Binary file
locale/dynamic-widgets-pt_PT.po ADDED
@@ -0,0 +1,781 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Dynamic Widgets\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-08-13 18:05+0100\n"
6
+ "PO-Revision-Date: 2012-01-30 21:57-0000\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: Pedro Nave <pedronave@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: __;_e\n"
13
+ "X-Poedit-Basepath: .\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+ "X-Poedit-Language: Portuguese\n"
16
+ "X-Poedit-Country: Portugal\n"
17
+ "X-Poedit-SearchPath-0: ..\n"
18
+
19
+ # WordPress MO
20
+ #: ../dynwid_class_php4.php:164
21
+ #: ../dynwid_class.php:149
22
+ msgid "Role"
23
+ msgstr "Função"
24
+
25
+ # WordPress MO
26
+ #: ../dynwid_class_php4.php:165
27
+ #: ../dynwid_class.php:150
28
+ msgid "Date"
29
+ msgstr "Data"
30
+
31
+ #: ../dynwid_class_php4.php:166
32
+ #: ../dynwid_class.php:151
33
+ msgid "Browser"
34
+ msgstr "Explorador"
35
+
36
+ #: ../dynwid_class_php4.php:167
37
+ #: ../dynwid_class.php:152
38
+ msgid "Templates"
39
+ msgstr "Temas"
40
+
41
+ #: ../dynwid_class_php4.php:168
42
+ #: ../dynwid_class_php4.php:169
43
+ #: ../dynwid_class.php:153
44
+ #: ../dynwid_class.php:154
45
+ msgid "Language"
46
+ msgstr "Língua"
47
+
48
+ #: ../dynwid_class_php4.php:170
49
+ #: ../dynwid_class.php:155
50
+ #: ../mods/frontpage_module.php:13
51
+ msgid "Front Page"
52
+ msgstr "Página Principal"
53
+
54
+ #: ../dynwid_class_php4.php:171
55
+ #: ../dynwid_class.php:156
56
+ #: ../mods/single_module.php:58
57
+ msgid "Single Posts"
58
+ msgstr "Artigos individuais"
59
+
60
+ #: ../dynwid_class_php4.php:172
61
+ #: ../dynwid_class.php:157
62
+ #: ../mods/attachment_module.php:12
63
+ msgid "Attachments"
64
+ msgstr "Anexos"
65
+
66
+ # WordPress MO
67
+ #: ../dynwid_class_php4.php:173
68
+ #: ../dynwid_class.php:158
69
+ msgid "Pages"
70
+ msgstr "Páginas"
71
+
72
+ #: ../dynwid_class_php4.php:174
73
+ #: ../dynwid_class.php:159
74
+ msgid "Author Pages"
75
+ msgstr "Páginas Autor"
76
+
77
+ #: ../dynwid_class_php4.php:175
78
+ #: ../dynwid_class.php:160
79
+ #: ../mods/category_module.php:17
80
+ msgid "Category Pages"
81
+ msgstr "Páginas Categoria"
82
+
83
+ #: ../dynwid_class_php4.php:176
84
+ #: ../dynwid_class.php:161
85
+ msgid "Archive Pages"
86
+ msgstr "Páginas Arquivo"
87
+
88
+ #: ../dynwid_class_php4.php:177
89
+ #: ../dynwid_class.php:162
90
+ #: ../mods/error_module.php:12
91
+ msgid "Error Page"
92
+ msgstr "Página Erro"
93
+
94
+ #: ../dynwid_class_php4.php:178
95
+ #: ../dynwid_class.php:163
96
+ msgid "Search page"
97
+ msgstr "Página Procura"
98
+
99
+ #: ../dynwid_class_php4.php:179
100
+ #: ../dynwid_class.php:164
101
+ msgid "WPSC Category"
102
+ msgstr "Categoria WPSC"
103
+
104
+ #: ../dynwid_class_php4.php:180
105
+ #: ../dynwid_class.php:165
106
+ msgid "Custom Post Type Archives"
107
+ msgstr "Arquivos Custom Post Type"
108
+
109
+ #: ../dynwid_class_php4.php:181
110
+ #: ../dynwid_class.php:166
111
+ msgid "BuddyPress"
112
+ msgstr "BuddyPress"
113
+
114
+ #: ../dynwid_class_php4.php:182
115
+ #: ../dynwid_class.php:167
116
+ msgid "BuddyPress Groups"
117
+ msgstr "Grupos BuddyPress"
118
+
119
+ #: ../dynwid_admin.php:19
120
+ #: ../dynamic-widgets.php:152
121
+ #: ../dynamic-widgets.php:175
122
+ #: ../dynamic-widgets.php:281
123
+ #: ../dynamic-widgets.php:680
124
+ msgid "Dynamic Widgets"
125
+ msgstr "Dynamic Widgets"
126
+
127
+ #: ../dynwid_admin.php:26
128
+ msgid "<b>WARNING</b> STRICT sql mode in effect. Dynamic Widgets might not work correctly. Please disable STRICT sql mode."
129
+ msgstr "<b>AVISO</b>. Modo sql STRICT em efeito. Dynamic Widgets pode não funcionar corretamente. Desative modo sql STRICT."
130
+
131
+ #: ../dynwid_admin.php:46
132
+ msgid "Oops! Something went terrible wrong. Please reinstall Dynamic Widgets."
133
+ msgstr "Oops, algo correu terrivelmente mal. Por favor, reinstale Dynamic Widgets."
134
+
135
+ #: ../dynwid_admin.php:54
136
+ #: ../dynwid_admin_overview.php:20
137
+ msgid "OLD"
138
+ msgstr "ANTIGO"
139
+
140
+ #: ../dynwid_admin.php:54
141
+ #: ../dynwid_admin_overview.php:20
142
+ msgid "FILTER"
143
+ msgstr "FILTRO"
144
+
145
+ #: ../dynamic-widgets.php:160
146
+ msgid "Widgets are always displayed by default"
147
+ msgstr "Widgets são sempre exibidos por padrão"
148
+
149
+ #: ../dynamic-widgets.php:160
150
+ msgid "The '<em>Yes</em>' selection"
151
+ msgstr "A seleção 'Sim'"
152
+
153
+ #: ../dynamic-widgets.php:161
154
+ msgid "Click on the"
155
+ msgstr "Clique no"
156
+
157
+ #: ../dynamic-widgets.php:161
158
+ msgid "next to the options for more info"
159
+ msgstr "ao lado das opções para mais info"
160
+
161
+ #: ../dynamic-widgets.php:162
162
+ msgid "The"
163
+ msgstr "O"
164
+
165
+ #: ../dynamic-widgets.php:162
166
+ msgid "next to a section means it has options set."
167
+ msgstr "ao lado de uma secção significa que tem opções definidas."
168
+
169
+ #: ../dynamic-widgets.php:164
170
+ #: ../dynamic-widgets.php:165
171
+ #: ../dynamic-widgets.php:168
172
+ #: ../dynamic-widgets.php:682
173
+ #: ../dynwid_admin_overview.php:85
174
+ msgid "Static"
175
+ msgstr "Estático"
176
+
177
+ #: ../dynamic-widgets.php:164
178
+ #: ../dynamic-widgets.php:166
179
+ #: ../dynamic-widgets.php:682
180
+ #: ../dynwid_admin_overview.php:85
181
+ msgid "Dynamic"
182
+ msgstr "Dinâmico"
183
+
184
+ #: ../dynamic-widgets.php:165
185
+ msgid "When a widget is"
186
+ msgstr "Quando um widget é"
187
+
188
+ #: ../dynamic-widgets.php:165
189
+ msgid "the widget uses the WordPress default. In other words, it's shown everywhere"
190
+ msgstr "o widget usa o padrão. Ou seja, é mostrado em todo o lado."
191
+
192
+ #: ../dynamic-widgets.php:166
193
+ msgid "A widget is"
194
+ msgstr "Um widget é"
195
+
196
+ #: ../dynamic-widgets.php:166
197
+ msgid "when there are options set, i.e. not showing on the front page."
198
+ msgstr "quando as opções são definidas, i.e. não mostrando na página principal"
199
+
200
+ #: ../dynamic-widgets.php:167
201
+ #: ../dynwid_admin_overview.php:79
202
+ msgid "Reset"
203
+ msgstr "Restaurar"
204
+
205
+ #: ../dynamic-widgets.php:168
206
+ msgid "Reset makes the widget return to"
207
+ msgstr "Redefinir faz o widget retornar para"
208
+
209
+ # WordPress MO
210
+ #: ../dynamic-widgets.php:234
211
+ msgid "Settings"
212
+ msgstr "Opções"
213
+
214
+ #: ../dynamic-widgets.php:248
215
+ msgid "Apply exception rule to widgets:"
216
+ msgstr "Aplicar exceção aos widgets:"
217
+
218
+ #: ../dynamic-widgets.php:264
219
+ #: ../dynamic-widgets.php:298
220
+ msgid "Off"
221
+ msgstr "Off"
222
+
223
+ #: ../dynamic-widgets.php:264
224
+ #: ../dynamic-widgets.php:298
225
+ msgid "On"
226
+ msgstr "On"
227
+
228
+ #: ../dynamic-widgets.php:265
229
+ msgid " (Default: "
230
+ msgstr "(Padrão: "
231
+
232
+ #: ../dynamic-widgets.php:299
233
+ msgid "Default"
234
+ msgstr "Padrão"
235
+
236
+ #: ../dynamic-widgets.php:359
237
+ msgid "Dynamic Widgets Options saved"
238
+ msgstr "Opções Dynamic Widgets guardadas"
239
+
240
+ #: ../dynamic-widgets.php:360
241
+ msgid "for"
242
+ msgstr "para"
243
+
244
+ #: ../dynamic-widgets.php:681
245
+ msgid "Edit Dynamic Widgets Options"
246
+ msgstr "Editar Opções Dynamic Widgets"
247
+
248
+ #: ../dynamic-widgets.php:706
249
+ msgid "and"
250
+ msgstr "e"
251
+
252
+ #: ../dynamic-widgets.php:712
253
+ msgid "Options set for"
254
+ msgstr "Opções definidas para"
255
+
256
+ #: ../dynamic-widgets.php:712
257
+ msgid "Option set for"
258
+ msgstr "Opção definida para"
259
+
260
+ #: ../dynwid_admin_edit.php:118
261
+ msgid "Widget options saved."
262
+ msgstr "Opções Widget guardadas."
263
+
264
+ #: ../dynwid_admin_edit.php:119
265
+ #: ../dynwid_admin_edit.php:194
266
+ msgid "Return"
267
+ msgstr "Retornar"
268
+
269
+ #: ../dynwid_admin_edit.php:119
270
+ msgid "to Dynamic Widgets overview"
271
+ msgstr "para visão geral Dynamic Widgets"
272
+
273
+ #: ../dynwid_admin_edit.php:123
274
+ msgid "Dynamic does not mean static hiding of a widget."
275
+ msgstr "Dínamico não significa esconder estático de um widget"
276
+
277
+ #: ../dynwid_admin_edit.php:123
278
+ msgid "Hint"
279
+ msgstr "Dica"
280
+
281
+ #: ../dynwid_admin_edit.php:123
282
+ msgid "Remove"
283
+ msgstr "Remover"
284
+
285
+ #: ../dynwid_admin_edit.php:123
286
+ msgid "the widget from the sidebar"
287
+ msgstr "o widget da barra lateral"
288
+
289
+ #: ../dynwid_admin_edit.php:128
290
+ msgid "The From date can't be later than the To date."
291
+ msgstr "A data <em>De</em> não pode ser depois da data <em>Para</em>."
292
+
293
+ #: ../dynwid_admin_edit.php:134
294
+ msgid "Edit options for the widget"
295
+ msgstr "Editar opções para o widget"
296
+
297
+ #: ../dynwid_admin_edit.php:138
298
+ msgid "Quick settings"
299
+ msgstr "Opções Rápidas"
300
+
301
+ #: ../dynwid_admin_edit.php:140
302
+ msgid "Set all options to 'No'"
303
+ msgstr "Definir todas opções como \"não\""
304
+
305
+ #: ../dynwid_admin_edit.php:140
306
+ msgid "Except overriding options like Role, Date, etc."
307
+ msgstr "Exceto substituir opções como Função, Data, etc."
308
+
309
+ # WordPress MO
310
+ #: ../dynwid_admin_edit.php:190
311
+ #: ../dynwid_admin_overview.php:140
312
+ msgid "Save"
313
+ msgstr "Guardar"
314
+
315
+ #: ../dynwid_admin_overview.php:20
316
+ msgid "Method set to"
317
+ msgstr "Método definido para"
318
+
319
+ #: ../dynwid_admin_overview.php:28
320
+ msgid "Page limit set to"
321
+ msgstr "Limite página definido para"
322
+
323
+ #: ../dynwid_admin_overview.php:31
324
+ msgid "ERROR"
325
+ msgstr "ERRO"
326
+
327
+ #: ../dynwid_admin_overview.php:31
328
+ msgid "is not a valid limit."
329
+ msgstr "não é um limite válido."
330
+
331
+ #: ../dynwid_admin_overview.php:40
332
+ msgid "Widget options have been reset to default."
333
+ msgstr "Opções widget foram restauradas"
334
+
335
+ #: ../dynwid_admin_overview.php:48
336
+ msgid "Inactive Widgets"
337
+ msgstr "Widgets inativos"
338
+
339
+ #: ../dynwid_admin_overview.php:71
340
+ #: ../dynwid_admin_overview.php:74
341
+ msgid "Edit this widget options"
342
+ msgstr "Editar opções deste widget"
343
+
344
+ # WordPress MO
345
+ #: ../dynwid_admin_overview.php:74
346
+ msgid "Edit"
347
+ msgstr "Editar"
348
+
349
+ #: ../dynwid_admin_overview.php:79
350
+ msgid "Reset widget to Static"
351
+ msgstr "Redefinir Widget para Estático"
352
+
353
+ #: ../dynwid_admin_overview.php:100
354
+ msgid "Advanced"
355
+ msgstr "Avançado"
356
+
357
+ #: ../dynwid_admin_overview.php:105
358
+ msgid "wp_head() check:"
359
+ msgstr " verificação wp_head():"
360
+
361
+ #: ../dynwid_admin_overview.php:110
362
+ msgid "wp_head() is NOT called (at the most obvious place)"
363
+ msgstr "wp_head() não é chamado (no sítio mais óbvio)"
364
+
365
+ #: ../dynwid_admin_overview.php:114
366
+ msgid "wp_head() is called"
367
+ msgstr "wp_head() é chamado"
368
+
369
+ #: ../dynwid_admin_overview.php:118
370
+ msgid "Unable to determine if wp_head() is called"
371
+ msgstr "Incapaz de determinar se wp_head() é chamado"
372
+
373
+ #: ../dynwid_admin_overview.php:130
374
+ msgid "Use 'OLD' method"
375
+ msgstr "Usar método 'ANTIGO'"
376
+
377
+ #: ../dynwid_admin_overview.php:140
378
+ msgid "Page limit"
379
+ msgstr "Limite Página"
380
+
381
+ #: ../dynwid_admin_overview.php:142
382
+ msgid "The page limit sets the limit of number of pages to prevent a timeout when building the hierarchical tree. When the number of pages is above this limit, a flat list will be displayed which is less time consuming."
383
+ msgstr "O limite de página define o número limite de páginas para prevenir um timeout aquando da construção da árvore hierárquica- Quando o número de páginas é acima do limite, irá ser exibida uma lista simples que consome menos tempo."
384
+
385
+ #: ../dynwid_admin_overview.php:144
386
+ msgid "Currently the number of pages is"
387
+ msgstr "Atualmente o número de páginas é"
388
+
389
+ #: ../dynwid_admin_overview.php:151
390
+ msgid "When upgrading to WPEC 3.8 the Dynamic Widgets rules for WPEC are lost. The WPEC dump gives you an overview of the rules before the update."
391
+ msgstr "Quando atualiza de WPEC 3.8 para Dynamic Widgets, as regras para WPEC são perdidas. O WPEC 'dump' dá-lhe uma vista geral das regras antes da atualização."
392
+
393
+ #: ../dynwid_admin_overview.php:152
394
+ msgid "WARNING"
395
+ msgstr "AVISO"
396
+
397
+ #: ../dynwid_admin_overview.php:152
398
+ msgid "This only works correct when you did not add or change anything in the Dynamic Widgets rules."
399
+ msgstr "Isto apenas funciona de forma correta quando não adicionou ou modificou algo nas regras do Dynamic Widgets."
400
+
401
+ #: ../dynwid_admin_overview.php:157
402
+ msgid "Create WPEC dump"
403
+ msgstr "Criar despejo WPEC"
404
+
405
+ #: ../dynwid_admin_overview.php:164
406
+ msgid "For debugging purposes it is possible you're asked to create a dump. Click the 'Create dump' button and save the text file."
407
+ msgstr "Para fins de depuração, é possível que tenha pedido para ser criado um 'dump'. Cliquem em no botão 'Criar dump' e guarde o ficheiro de texto."
408
+
409
+ #: ../dynwid_admin_overview.php:169
410
+ msgid "Create dump"
411
+ msgstr "Criar \"dump\""
412
+
413
+ #: ../dynwid_admin_overview.php:176
414
+ msgid "When you deceide not to use this plugin anymore (sorry to hear that!). You can cleanup all settings and data related to this plugin by clicking on the 'Uninstall' button. This process is irreversible! After the cleanup the plugin is deactivated automaticly."
415
+ msgstr "Se porventura decidir não usar mais este plugin (óoo, sniff sniff), pode limpar os dados e opções da base de dados ao clicar no botão 'Desinstalar'. O processo é irreversível."
416
+
417
+ #: ../dynwid_admin_overview.php:181
418
+ msgid "Uninstall"
419
+ msgstr "Desinstalar"
420
+
421
+ #: ../mods/search_module.php:13
422
+ msgid "Search Page"
423
+ msgstr "Página Procura"
424
+
425
+ #: ../mods/search_module.php:15
426
+ msgid "Show widget on the search page?"
427
+ msgstr "Mostrar widget na página de procura?"
428
+
429
+ # WordPress MO
430
+ #: ../mods/search_module.php:17
431
+ #: ../mods/qtranslate_module.php:31
432
+ #: ../mods/category_module.php:21
433
+ #: ../mods/single_module.php:69
434
+ #: ../mods/attachment_module.php:16
435
+ #: ../mods/error_module.php:16
436
+ #: ../mods/frontpage_module.php:24
437
+ msgid "Yes"
438
+ msgstr "Sim"
439
+
440
+ # WordPress MO
441
+ #: ../mods/search_module.php:18
442
+ #: ../mods/qtranslate_module.php:32
443
+ #: ../mods/category_module.php:22
444
+ #: ../mods/single_module.php:70
445
+ #: ../mods/attachment_module.php:17
446
+ #: ../mods/error_module.php:17
447
+ #: ../mods/frontpage_module.php:25
448
+ msgid "No"
449
+ msgstr "Não"
450
+
451
+ #: ../mods/qtranslate_module.php:22
452
+ msgid "Language (QT)"
453
+ msgstr "Língua (QT)"
454
+
455
+ #: ../mods/qtranslate_module.php:24
456
+ msgid "Show widget default on all languages?"
457
+ msgstr "Mostrar padrão widget em todas línguas?"
458
+
459
+ #: ../mods/qtranslate_module.php:24
460
+ #: ../mods/single_module.php:60
461
+ #: ../mods/single_module.php:74
462
+ msgid "Click to toggle info"
463
+ msgstr "Clique para expandir info"
464
+
465
+ #: ../mods/qtranslate_module.php:28
466
+ msgid "Using this option can override all other options."
467
+ msgstr "Usando esta opção, pode substituir todas as outras opções"
468
+
469
+ #: ../mods/qtranslate_module.php:33
470
+ msgid "Except the languages"
471
+ msgstr "Exceto as línguas"
472
+
473
+ #: ../mods/category_module.php:19
474
+ msgid "Show widget default on category pages?"
475
+ msgstr "Mostrar widget padrão nas páginas das categorias?"
476
+
477
+ #: ../mods/category_module.php:23
478
+ msgid "Except the categories"
479
+ msgstr "Exceto as categorias"
480
+
481
+ #: ../mods/single_module.php:52
482
+ msgid "Posts: "
483
+ msgstr "Artigos:"
484
+
485
+ #: ../mods/single_module.php:52
486
+ msgid "Tags: "
487
+ msgstr "Etiquetas:"
488
+
489
+ #: ../mods/single_module.php:60
490
+ msgid "Show widget default on single posts?"
491
+ msgstr "Por padrão mostrar widgets nos artigos individuais?"
492
+
493
+ #: ../mods/single_module.php:64
494
+ msgid ""
495
+ "When you use an author <b>AND</b> a category exception, both rules in the condition must be met. Otherwise the exception rule won't be applied.\n"
496
+ " \t\t\t\t\tIf you want to use the rules in a logical OR condition. Add the same widget again and apply the other rule to that.\n"
497
+ " \t\t\t\t\t"
498
+ msgstr ""
499
+ "Quando usa uma exceção autor <b>E</b> categoria, ambas as regras têm de ser atendidas. De outra forma, a regra de exceção não será aplicada.\n"
500
+ " \t\t\t\t\tSe quer usar as regras numa <em>logical OR condition</em>, adicione o mesmo widget novamente e aplique a outra regra a este.\n"
501
+ " \t\t\t\t\t"
502
+
503
+ #: ../mods/single_module.php:73
504
+ msgid "Make exception rule available to individual posts and tags."
505
+ msgstr "Fazer regra exceção para artigos individuais e etiquetas."
506
+
507
+ #: ../mods/single_module.php:77
508
+ msgid ""
509
+ "When you enable this option, you have the ability to apply the exception rule for <em>Single Posts</em> to tags and individual posts.\n"
510
+ "\t\t\t\t\t\tYou can set the exception rule for tags in the single Edit Tag Panel (go to <a href=\"edit-tags.php?taxonomy=post_tag\">Post Tags</a>,\n"
511
+ "\t\t\t\t\t\tclick a tag), For individual posts in the <a href=\"post-new.php\">New</a> or <a href=\"edit.php\">Edit</a> Posts panel.\n"
512
+ "\t\t\t\t\t\tException rules for tags and individual posts in any combination work independantly, but will always be counted as one exception.<br />\n"
513
+ " \t\t\t\t\tPlease note when exception rules are set for Author and/or Category, these will be removed.\n"
514
+ " \t\t\t\t"
515
+ msgstr ""
516
+ "Quando ativa esta opção, você tem a capacidade de aplicar a regra de exceção para <em>Artigos Individuais</em> a etiquetas e artigos individuais.\n"
517
+ "\t\t\t\t\t\tPode definir a regra de exceção para etiquetas no painel de Edição Etiquetas (vá a <a href=\"edit-tags.php?taxonomy=post_tag\">Etiquetas</a>,\n"
518
+ "\t\t\t\t\t\te clique numa tag), para artigos em <a href=\"post-new.php\">Novo Artigo</a> ou <a href=\"edit.php\">Editar</a> no painel dos Artigos.\n"
519
+ "\t\t\t\t\t\tRegras de Exceções para etiquetas e artigos individuais em qualquer combinação funcionam de forma independente, mas serão sempre contabilizados como uma exceção.<br />\n"
520
+ " \t\t\t\t\tNote que quando as regras de exceção são definidas para Autor e/ou Categoria, as outras serão removidas.\n"
521
+ " \t\t\t\t"
522
+
523
+ #: ../mods/single_module.php:94
524
+ msgid "Except the posts by author"
525
+ msgstr "Exceto nos artigos por autor"
526
+
527
+ #: ../mods/single_module.php:105
528
+ msgid "Except the posts in category"
529
+ msgstr "Exceto os artigos na categoria"
530
+
531
+ #: ../mods/attachment_module.php:14
532
+ msgid "Show widget on attachment pages?"
533
+ msgstr "Mostrar widget nas páginas de anexo?"
534
+
535
+ #: ../mods/error_module.php:14
536
+ msgid "Show widget on the error page?"
537
+ msgstr "Mostrar widget nas páginas de erro?"
538
+
539
+ #: ../mods/frontpage_module.php:15
540
+ msgid "Show widget on the front page?"
541
+ msgstr "Mostrar widget na página principal?"
542
+
543
+ #: ../mods/frontpage_module.php:19
544
+ msgid ""
545
+ "This option only applies when your front page is set to display your latest posts (See Settings &gt; Reading).<br />\n"
546
+ "\t\t\t\t\t\tWhen a static page is set, you can use the options for the static pages below.\n"
547
+ "\t\t\t\t\t"
548
+ msgstr ""
549
+ "Esta opção apenas se aplica quando a sua página principal está definida para exibir os seus últimos artigos (veja Opções &gt; Leitura).<br />\n"
550
+ "\t\t\t\t\t\tQuando tem definida uma página estática, pode usar em baixo as opções para páginas estáticas.\n"
551
+ "\t\t\t\t\t"
552
+
553
+ #: ../mods/archive_module.php:14
554
+ msgid "Show widget on archive pages?"
555
+ msgstr "Mostrar widget nas páginas de arquivo?"
556
+
557
+ #: ../mods/archive_module.php:18
558
+ msgid "This option does not include Author and Category Pages."
559
+ msgstr "Esta opção não inclui as Páginas de Autor e Categoria"
560
+
561
+ #: ../mods/pages_module.php:14
562
+ msgid "The static page module failed to load."
563
+ msgstr "O módulo página estática falhou o carregamento."
564
+
565
+ #: ../mods/pages_module.php:16
566
+ msgid "This is probably because building the hierarchical tree took too long.<br />Decrease the limit of number of pages in the advanced settings."
567
+ msgstr "Isto é provavelmente por que construir uma árvore hierárquica demorou demasiado. <br />Deminua o número limite de páginas nas opções avançadas."
568
+
569
+ #: ../mods/pages_module.php:43
570
+ #: ../mods/custompost_module.php:46
571
+ #: ../mods/custompost_module.php:89
572
+ msgid "All childs"
573
+ msgstr "Todos os filhos"
574
+
575
+ #: ../mods/pages_module.php:83
576
+ #: ../mods/pages_module.php:86
577
+ msgid "Front page"
578
+ msgstr "Página Principal"
579
+
580
+ #: ../mods/pages_module.php:83
581
+ #: ../mods/pages_module.php:88
582
+ msgid "Posts page"
583
+ msgstr "Página Artigos"
584
+
585
+ #: ../mods/pages_module.php:94
586
+ msgid "Show widget default on static pages?"
587
+ msgstr "Mostrar widget padrão nas páginas estáticas?"
588
+
589
+ #: ../mods/pages_module.php:101
590
+ msgid ""
591
+ "Checking the \"All childs\" option, makes the exception rule apply\n"
592
+ "\t\t\t\t\tto the parent and all items under it in all levels. Also future items\n"
593
+ "\t\t\t\t\tunder the parent. It's not possible to apply an exception rule to\n"
594
+ "\t\t\t\t\t\"All childs\" without the parent."
595
+ msgstr ""
596
+ "A opção \"Todos os Filhos\" faz a regra de exceção ser aplicada\n"
597
+ "\t\t\t\t\tao parente e todos items dos níveis abaixo. Também items futuros\n"
598
+ "\t\t\t\t\tdebaixo do parente. Não é possível aplicar uma regra de exceção a\n"
599
+ "\t\t\t\t\t\"Todos os Filhos\" sem haver um parente."
600
+
601
+ #: ../mods/pages_module.php:106
602
+ msgid ""
603
+ "Unfortunately the childs-function has been disabled\n"
604
+ "\t\t\t\t\tbecause you have more than the limit of pages."
605
+ msgstr ""
606
+ "Infelizmente, a função-filhos foi desativada\n"
607
+ "\t\t\t\t\tporque pode ter mais do que o limite de páginas."
608
+
609
+ #: ../mods/pages_module.php:116
610
+ msgid "Except the page(s)"
611
+ msgstr "Excepto na(s) página(s)"
612
+
613
+ #: ../mods/author_module.php:24
614
+ msgid "Show widget default on author pages?"
615
+ msgstr "Mostrar widget padrão nas páginas autor?"
616
+
617
+ #: ../mods/author_module.php:28
618
+ msgid "Except the author(s)"
619
+ msgstr "Excepto no(s) autor(es)"
620
+
621
+ #: ../mods/bp_module.php:24
622
+ msgid "Show widget default on BuddyPress pages?"
623
+ msgstr "Mostrar widget padrão nas páginas DuddyPress?"
624
+
625
+ #: ../mods/bp_module.php:28
626
+ msgid "Except on the components pages"
627
+ msgstr "Excepto nas páginas componentes (componentes pages)"
628
+
629
+ #: ../mods/bp_module.php:47
630
+ msgid "Forum Index"
631
+ msgstr "Fórum Index"
632
+
633
+ #: ../mods/bp_module.php:48
634
+ msgid "Forum Topics"
635
+ msgstr "Fórum Tópicos"
636
+
637
+ #: ../mods/bp_module.php:49
638
+ msgid "Members Index"
639
+ msgstr "Membros Index"
640
+
641
+ #: ../mods/bp_module.php:54
642
+ msgid "Show widget default on BuddyPress Group pages?"
643
+ msgstr "Mostrar widget padrão nas páginas de grupo BuddyPress?"
644
+
645
+ #: ../mods/bp_module.php:61
646
+ msgid "Except in the groups"
647
+ msgstr "Exepto nos grupos"
648
+
649
+ #: ../mods/bp_module.php:70
650
+ msgid "Except in the group pages"
651
+ msgstr "Excepto nas páginas de grupos"
652
+
653
+ # WordPress MO
654
+ #: ../mods/role_module.php:10
655
+ msgid "Anonymous"
656
+ msgstr "Anónimo"
657
+
658
+ #: ../mods/role_module.php:25
659
+ msgid "Show widget to everybody?"
660
+ msgstr "Mostrar widget a todos?"
661
+
662
+ #: ../mods/role_module.php:29
663
+ msgid ""
664
+ "Setting options by role is very powerfull. It can override all other options!<br />\n"
665
+ "\t\t\t\t\t\tUsers who are not logged in, get the <em>Anonymous</em> role."
666
+ msgstr ""
667
+ "Definir opções por função é bastante poderoso. Pode substituir todas as outras opções!<br />\n"
668
+ "\t\t\t\t\t\tUtilizadores não Ligados, recebem função <em>Anónimo</em>."
669
+
670
+ #: ../mods/role_module.php:34
671
+ msgid "only to"
672
+ msgstr "apenas para"
673
+
674
+ #: ../mods/useragent_module.php:10
675
+ msgid "(and other Gecko based)"
676
+ msgstr "(outros baseado no Gecko)"
677
+
678
+ #: ../mods/useragent_module.php:17
679
+ msgid "Other / Unknown / Not detected"
680
+ msgstr "Outro / Desconhecido / Não detetado"
681
+
682
+ #: ../mods/useragent_module.php:28
683
+ msgid "Show widget with all browsers?"
684
+ msgstr "Mostrar widget em todos exploradores?"
685
+
686
+ #: ../mods/useragent_module.php:32
687
+ msgid "Browser detection is never 100% accurate."
688
+ msgstr "A deteção de explorador numa é 100% certeira."
689
+
690
+ #: ../mods/useragent_module.php:37
691
+ msgid "Except the browser(s)"
692
+ msgstr "Excepto no(s) exploradore(s)"
693
+
694
+ #: ../mods/tpl_module.php:23
695
+ msgid "Show widget on every template?"
696
+ msgstr "Mostrar widget em todos temas?"
697
+
698
+ #: ../mods/tpl_module.php:27
699
+ msgid "This options takes precedence above other options like Pages and/or Single Posts."
700
+ msgstr "Esta opção tem precedência sobre todas as outras opções como Páginas e/ou Artigos Individuais"
701
+
702
+ #: ../mods/tpl_module.php:32
703
+ msgid "Except the templates"
704
+ msgstr "Excepto os temas"
705
+
706
+ #: ../mods/tpl_module.php:34
707
+ msgid "Default Template"
708
+ msgstr "Tema padrão"
709
+
710
+ #: ../mods/custompost_module.php:126
711
+ #: ../mods/custompost_module.php:216
712
+ msgid "Show widget on"
713
+ msgstr "Mostrar widget no"
714
+
715
+ #: ../mods/custompost_module.php:136
716
+ msgid "All exceptions (Titles and Taxonomies) work in a logical OR condition. That means when one of the exceptions is met, the exception rule is applied."
717
+ msgstr "Todas exceções (Títulos e Taxonomias) funcionam na condição lógica<em>OU</em>. Isto significa que quando uma das exceções é atentida, a regra de exceção é aplicada."
718
+
719
+ #: ../mods/custompost_module.php:143
720
+ #: ../mods/custompost_module.php:178
721
+ #: ../mods/custompost_module.php:227
722
+ #: ../mods/custompost_module.php:260
723
+ msgid "Except for"
724
+ msgstr "Excepto para"
725
+
726
+ #: ../mods/custompost_module.php:254
727
+ msgid "Show widget on Custom Post Type Archives"
728
+ msgstr "Mostrar widget nos Arquivos Custom Post Type"
729
+
730
+ #: ../mods/date_module.php:32
731
+ msgid "Show widget always?"
732
+ msgstr "Mostrar widget de qualquer forma?"
733
+
734
+ #: ../mods/date_module.php:36
735
+ msgid "Next to the above role option, the date option is also very powerfull. You've been warned!"
736
+ msgstr "Tal como a opção Função, a opção de data é também muito poderosa!"
737
+
738
+ #: ../mods/date_module.php:37
739
+ msgid "Enter dates in the YYYY-MM-DD format. You can also use the calender by clicking on the"
740
+ msgstr "Insira as datas no formato AAAA-MM-DDD. Pode ainda usar o calendário clicando no"
741
+
742
+ #: ../mods/date_module.php:38
743
+ msgid ""
744
+ "Date ranges can be made by entering a From AND a To date<br />\n"
745
+ " \t\t\t\t\tWhen you want the widget to be displayed from a specific date, only fill in the From date<br />\n"
746
+ " \t\t\t\t\tWhen you want the widget to stop displaying on a specific date, only fill in the To date.\n"
747
+ " \t\t\t\t"
748
+ msgstr ""
749
+ "Intervalo de datas podem ser criadas inserindo um data DE e PARA<br />\n"
750
+ " \t\t\t\t\tQuando pretender mostrar widget apenas numa data específica, preencha apenas o campo <em>De</em><br />.\n"
751
+ " \t\t\t\t\tQuando pretender que widget pare de surgir numa determinada data, preencha apenas o campo <em>Para</em>.\n"
752
+ " \t\t\t\t"
753
+
754
+ #: ../mods/date_module.php:45
755
+ msgid "only"
756
+ msgstr "apenas"
757
+
758
+ #: ../mods/date_module.php:49
759
+ msgid "From"
760
+ msgstr "De"
761
+
762
+ #: ../mods/date_module.php:53
763
+ msgid "To"
764
+ msgstr "Para"
765
+
766
+ #: ../mods/wpec_module.php:25
767
+ msgid "Show widget default on WPSC categories?"
768
+ msgstr "Mostrar widget padrão nas categorias WPSC?"
769
+
770
+ #: ../mods/wpml_module.php:21
771
+ msgid "Language (WPML)"
772
+ msgstr "Língua (WPML)"
773
+
774
+ #: ../mods/pods_module.php:11
775
+ msgid "Except the Pods pages"
776
+ msgstr "Excepto nas páginas Pods"
777
+
778
+ #: ../mods/pods_module.php:14
779
+ msgid "Show widget default on Pods pages?"
780
+ msgstr "Por padrão mostrar widget nas páginas Pods?"
781
+
mods/archive_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Archive Module
4
  *
5
- * @version $Id: archive_module.php 437634 2011-09-13 19:19:13Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -11,5 +11,4 @@
11
  public static $option = array( 'archive' => 'Archive Pages' );
12
  protected static $question = 'Show widget on archive pages?';
13
  }
14
- ?>
15
-
2
  /**
3
  * Archive Module
4
  *
5
+ * @version $Id: archive_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
11
  public static $option = array( 'archive' => 'Archive Pages' );
12
  protected static $question = 'Show widget on archive pages?';
13
  }
14
+ ?>
 
mods/attachment_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Attachment Module
4
  *
5
- * @version $Id: attachment_module.php 437634 2011-09-13 19:19:13Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -10,5 +10,4 @@
10
  public static $option = array( 'attachment' => 'Attachments' );
11
  protected static $question = 'Show widget on attachment pages?';
12
  }
13
- ?>
14
-
2
  /**
3
  * Attachment Module
4
  *
5
+ * @version $Id: attachment_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
10
  public static $option = array( 'attachment' => 'Attachments' );
11
  protected static $question = 'Show widget on attachment pages?';
12
  }
13
+ ?>
 
mods/author_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Author Module
4
  *
5
- * @version $Id: author_module.php 439650 2011-09-18 12:01:48Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -67,5 +67,4 @@
67
  }
68
  }
69
  }
70
- ?>
71
-
2
  /**
3
  * Author Module
4
  *
5
+ * @version $Id: author_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
67
  }
68
  }
69
  }
70
+ ?>
 
mods/bbpress_module.php CHANGED
@@ -26,5 +26,4 @@
26
  return FALSE;
27
  }
28
  }
29
- ?>
30
-
26
  return FALSE;
27
  }
28
  }
29
+ ?>
 
mods/bp_module.php CHANGED
@@ -3,7 +3,7 @@
3
  * BP module
4
  * http://buddypress.org/
5
  *
6
- * @version $Id: bp_module.php 452610 2011-10-18 19:44:46Z qurl $
7
  * @copyright 2011 Jacco Drabbe
8
  */
9
 
@@ -182,4 +182,4 @@
182
  return FALSE;
183
  }
184
  }
185
- ?>
3
  * BP module
4
  * http://buddypress.org/
5
  *
6
+ * @version $Id: bp_module.php 523481 2012-03-25 19:49:08Z qurl $
7
  * @copyright 2011 Jacco Drabbe
8
  */
9
 
182
  return FALSE;
183
  }
184
  }
185
+ ?>
mods/browser_module.php CHANGED
@@ -30,4 +30,4 @@
30
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, self::$info, self::$except, $list);
31
  }
32
  }
33
- ?>
30
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, self::$info, self::$except, $list);
31
  }
32
  }
33
+ ?>
mods/category_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Category Module
4
  *
5
- * @version $Id: category_module.php 488903 2012-01-12 18:17:27Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -101,5 +101,4 @@
101
  }
102
  }
103
  }
104
- ?>
105
-
2
  /**
3
  * Category Module
4
  *
5
+ * @version $Id: category_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
101
  }
102
  }
103
  }
104
+ ?>
 
mods/custompost_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Custom Post Type Module
4
  *
5
- * @version $Id: custompost_module.php 488903 2012-01-12 18:17:27Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -79,7 +79,7 @@
79
  echo '</div>';
80
 
81
  self::GUIOption($type);
82
- echo '<br />';
83
 
84
  /* if ( isset($opt_custom_childs) ) {
85
  $DW->dumpOpt($opt_custom_childs);
@@ -131,7 +131,7 @@
131
  echo '<div id="' . $type . '-tax_' . $tax_type->name . '-select" class="condition-select" ' . ( (isset($tax_condition_select_style)) ? $tax_condition_select_style : '' ) . '>';
132
  echo '<div style="position:relative;left:-15px">';
133
  if (! isset($opt_tax_childs) ) {
134
- $childs = array();
135
  } else {
136
  $childs = $opt_tax_childs->act;
137
  }
@@ -158,78 +158,86 @@
158
 
159
  if ( count($taxlist) > 0 ) {
160
  foreach ( $taxlist as $tax_id => $tax ) {
161
- $ct = 'tax_' . $tax_id;
162
- $ct_archive_yes_selected = 'checked="checked"';
163
- $opt_ct_archive = $DW->getDWOpt($_GET['id'], $ct);
164
- if ( $tax->hierarchical ) {
165
- $opt_ct_archive_childs = $DW->getDWOpt($_GET['id'], $ct . '-childs');
166
- }
167
-
168
- $t = get_terms($tax->name, array('get' => 'all'));
169
- if ( count($t) > DW_LIST_LIMIT ) {
170
- $ct_archive_condition_select_style = DW_LIST_STYLE;
171
- }
172
-
173
- $tree = self::getTaxChilds($tax->name, array(), 0, array());
174
-
175
  $cpt_label = array();
176
  foreach ( $tax->object_type as $obj ) {
177
- $cpt_label[ ] = self::$post_types[$obj]->label;
178
- }
179
-
180
- echo '<h4><b>' . $tax->label . '</b> (<em>' . implode(', ', $cpt_label) . '</em>)' . ( ($opt_ct_archive->count > 0) ? ' <img src="' . $DW->plugin_url . 'img/checkmark.gif" alt="Checkmark" />' : '' ) . '</h4>';
181
- echo '<div class="dynwid_conf">';
182
- echo __('Show widget on', DW_L10N_DOMAIN) . ' ' . $tax->label . '?' . ( ($tax->hierarchical || count($t) > 0) ? ' <img src="' . $DW->plugin_url . 'img/info.gif" alt="info" onclick="divToggle(\'custom_' . $ct . '\');" />' : '' ) . '<br />';
183
- echo '<input type="hidden" name="taxonomy[]" value="' . $tax_id . '" />';
184
- $DW->dumpOpt($opt_ct_archive);
185
- if ( isset($opt_ct_archive_childs) ) {
186
- $DW->dumpOpt($opt_ct_archive_childs);
187
  }
188
-
189
- echo '<div>';
190
- echo '<div id="custom_' . $ct . '" class="infotext">';
191
- echo ( $tax->hierarchical ? '<p>' . DW_Page::infoText() . '</p>' : '' );
192
- echo ( (count($t) > 0) ? '<p>' . __('All exceptions work in a logical OR condition. That means when one of the exceptions is met, the exception rule is applied.', DW_L10N_DOMAIN) . '</p>' : '' );
193
- echo '</div>';
194
- echo '</div>';
195
-
196
- echo '<input type="radio" name="' . $ct . '" value="yes" id="' . $ct . '-yes" ' . ( ($opt_ct_archive->selectYes()) ? $opt_ct_archive->checked : '' ) . ' /> <label for="' . $ct . '-yes">' . __('Yes') . '</label> ';
197
- echo '<input type="radio" name="' . $ct . '" value="no" id="' . $ct . '-no" ' . ( ($opt_ct_archive->selectNo()) ? $opt_ct_archive->checked : '' ) . ' /> <label for="' . $ct . '-no">' . __('No') . '</label><br />';
198
-
199
- if ( count($t) > 0 ) {
200
- echo __('Except for', DW_L10N_DOMAIN) . ':<br />';
201
- echo '<div id="' . $ct . '-select" class="condition-select" ' . ( (isset($ct_archive_condition_select_style)) ? $ct_archive_condition_select_style : '' ) . '>';
202
- echo '<div style="position:relative;left:-15px">';
203
- if (! isset($opt_ct_archive_childs) ) {
204
- $childs = array();
205
- } else {
206
- $childs = $opt_ct_archive_childs->act;
207
  }
208
- self::prtTax($tax->name, $tree, $opt_ct_archive->act, $childs, $ct);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  echo '</div>';
210
  echo '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  }
212
- // echo '</div><!-- end dynwid_conf -->';
213
- self::GUIFooter();
214
  }
215
  }
216
  }
217
  }
218
 
219
- public static function getCPostChilds($type, $arr, $id, $i) {
220
  $post = get_posts('post_type=' . $type . '&post_parent=' . $id . '&posts_per_page=-1');
221
 
222
  foreach ($post as $p ) {
223
  if (! in_array($p->ID, $i) ) {
224
  $i[ ] = $p->ID;
225
  $arr[$p->ID] = array();
226
- self::getCPostChilds($type, &$arr[$p->ID], $p->ID, $i);
227
  }
228
  }
229
  return $arr;
230
- }
231
 
232
- public static function prtCPost($type, $ctid, $posts, $posts_act, $posts_childs_act) {
233
  $DW = &$GLOBALS['DW'];
234
 
235
  foreach ( $posts as $pid => $childs ) {
@@ -261,7 +269,7 @@
261
  echo '</div>';
262
  }
263
  }
264
- }
265
 
266
  public static function getTaxChilds($term, $arr, $id, $i) {
267
  $tax = get_terms($term, array('hide_empty' => FALSE, 'parent' => $id));
@@ -298,12 +306,14 @@
298
  echo '<div style="position:relative;left:15px;">';
299
  echo '<input type="checkbox" id="' . $prefix . '_act_' . $pid . '" name="' . $prefix . '_act[]" value="' . $pid . '" ' . ( isset($terms_act) && count($terms_act) > 0 && in_array($pid, $terms_act) ? 'checked="checked"' : '' ) . ' onchange="chkChild(\'' . $prefix . '\', ' . $pid . ')" /> <label for="' . $prefix . '_act_' . $pid . '">' . $term->name . '</label><br />';;
300
 
301
- echo '<div style="position:relative;left:15px;">';
302
- echo '<input type="checkbox" id="' . $prefix . '_childs_act_' . $pid . '" name="' . $prefix . '_childs_act[]" value="' . $pid . '" ' . ( isset($terms_childs_act) && count($terms_childs_act) > 0 && in_array($pid, $terms_childs_act) ? 'checked="checked"' : '' ) . ' onchange="chkParent(\'' . $prefix . '\', ' . $pid . ')" /> <label for="' . $prefix . '_childs_act_' . $pid . '"><em>' . __('All childs', DW_L10N_DOMAIN) . '</em></label><br />';
303
- echo '</div>';
 
304
 
305
- if ( count($childs) > 0 ) {
306
- self::prtTax($tax, $childs, $terms_act, $terms_childs_act, $prefix);
 
307
  }
308
  echo '</div>';
309
  }
@@ -331,5 +341,4 @@
331
  parent::registerOption($option);
332
  }
333
  }
334
- ?>
335
-
2
  /**
3
  * Custom Post Type Module
4
  *
5
+ * @version $Id: custompost_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
79
  echo '</div>';
80
 
81
  self::GUIOption($type);
82
+ echo '<br />';
83
 
84
  /* if ( isset($opt_custom_childs) ) {
85
  $DW->dumpOpt($opt_custom_childs);
131
  echo '<div id="' . $type . '-tax_' . $tax_type->name . '-select" class="condition-select" ' . ( (isset($tax_condition_select_style)) ? $tax_condition_select_style : '' ) . '>';
132
  echo '<div style="position:relative;left:-15px">';
133
  if (! isset($opt_tax_childs) ) {
134
+ $childs = FALSE;
135
  } else {
136
  $childs = $opt_tax_childs->act;
137
  }
158
 
159
  if ( count($taxlist) > 0 ) {
160
  foreach ( $taxlist as $tax_id => $tax ) {
161
+
162
+ // Getting the linked post type : Only Pages and CPT supported
 
 
 
 
 
 
 
 
 
 
 
 
163
  $cpt_label = array();
164
  foreach ( $tax->object_type as $obj ) {
165
+ if ( $obj == 'page' ) {
166
+ $cpt_label[ ] = _('Pages');
167
+ } else if ( isset(self::$post_types[$obj]) ) {
168
+ $cpt_label[ ] = self::$post_types[$obj]->label;
169
+ }
 
 
 
 
 
170
  }
171
+
172
+ if ( count($cpt_label) > 0 ) {
173
+ $ct = 'tax_' . $tax_id;
174
+ $ct_archive_yes_selected = 'checked="checked"';
175
+ $opt_ct_archive = $DW->getDWOpt($_GET['id'], $ct);
176
+ if ( $tax->hierarchical ) {
177
+ $opt_ct_archive_childs = $DW->getDWOpt($_GET['id'], $ct . '-childs');
 
 
 
 
 
 
 
 
 
 
 
 
178
  }
179
+
180
+ $t = get_terms($tax->name, array('get' => 'all'));
181
+ if ( count($t) > DW_LIST_LIMIT ) {
182
+ $ct_archive_condition_select_style = DW_LIST_STYLE;
183
+ }
184
+
185
+ $tree = self::getTaxChilds($tax->name, array(), 0, array());
186
+
187
+ echo '<h4><b>' . $tax->label . ' ' . _('archive') . '</b> (<em>' . implode(', ', $cpt_label) . '</em>)' . ( ($opt_ct_archive->count > 0) ? ' <img src="' . $DW->plugin_url . 'img/checkmark.gif" alt="Checkmark" />' : '' ) . '</h4>';
188
+ echo '<div class="dynwid_conf">';
189
+ echo __('Show widget on', DW_L10N_DOMAIN) . ' ' . $tax->label . ' ' . _('archive') . '?' . ( ($tax->hierarchical || count($t) > 0) ? ' <img src="' . $DW->plugin_url . 'img/info.gif" alt="info" onclick="divToggle(\'custom_' . $ct . '\');" />' : '' ) . '<br />';
190
+ echo '<input type="hidden" name="dw_taxonomy[]" value="' . $tax_id . '" />';
191
+ $DW->dumpOpt($opt_ct_archive);
192
+ if ( isset($opt_ct_archive_childs) ) {
193
+ $DW->dumpOpt($opt_ct_archive_childs);
194
+ }
195
+
196
+ echo '<div>';
197
+ echo '<div id="custom_' . $ct . '" class="infotext">';
198
+ echo ( $tax->hierarchical ? '<p>' . DW_Page::infoText() . '</p>' : '' );
199
+ echo ( (count($t) > 0) ? '<p>' . __('All exceptions work in a logical OR condition. That means when one of the exceptions is met, the exception rule is applied.', DW_L10N_DOMAIN) . '</p>' : '' );
200
  echo '</div>';
201
  echo '</div>';
202
+
203
+ echo '<input type="radio" name="' . $ct . '" value="yes" id="' . $ct . '-yes" ' . ( ($opt_ct_archive->selectYes()) ? $opt_ct_archive->checked : '' ) . ' /> <label for="' . $ct . '-yes">' . __('Yes') . '</label> ';
204
+ echo '<input type="radio" name="' . $ct . '" value="no" id="' . $ct . '-no" ' . ( ($opt_ct_archive->selectNo()) ? $opt_ct_archive->checked : '' ) . ' /> <label for="' . $ct . '-no">' . __('No') . '</label><br />';
205
+
206
+ if ( count($t) > 0 ) {
207
+ echo __('Except for', DW_L10N_DOMAIN) . ':<br />';
208
+ echo '<div id="' . $ct . '-select" class="condition-select" ' . ( (isset($ct_archive_condition_select_style)) ? $ct_archive_condition_select_style : '' ) . '>';
209
+ echo '<div style="position:relative;left:-15px">';
210
+ if (! isset($opt_ct_archive_childs) ) {
211
+ $childs = FALSE;
212
+ } else {
213
+ $childs = $opt_ct_archive_childs->act;
214
+ }
215
+ self::prtTax($tax->name, $tree, $opt_ct_archive->act, $childs, $ct);
216
+ echo '</div>';
217
+ echo '</div>';
218
+ }
219
+ // echo '</div><!-- end dynwid_conf -->';
220
+ self::GUIFooter();
221
  }
 
 
222
  }
223
  }
224
  }
225
  }
226
 
227
+ /* public static function getCPostChilds($type, $arr, $id, $i) {
228
  $post = get_posts('post_type=' . $type . '&post_parent=' . $id . '&posts_per_page=-1');
229
 
230
  foreach ($post as $p ) {
231
  if (! in_array($p->ID, $i) ) {
232
  $i[ ] = $p->ID;
233
  $arr[$p->ID] = array();
234
+ $arr[$p->ID] = self::getCPostChilds($type, $arr[$p->ID], $p->ID, $i);
235
  }
236
  }
237
  return $arr;
238
+ } */
239
 
240
+ /* public static function prtCPost($type, $ctid, $posts, $posts_act, $posts_childs_act) {
241
  $DW = &$GLOBALS['DW'];
242
 
243
  foreach ( $posts as $pid => $childs ) {
269
  echo '</div>';
270
  }
271
  }
272
+ } */
273
 
274
  public static function getTaxChilds($term, $arr, $id, $i) {
275
  $tax = get_terms($term, array('hide_empty' => FALSE, 'parent' => $id));
306
  echo '<div style="position:relative;left:15px;">';
307
  echo '<input type="checkbox" id="' . $prefix . '_act_' . $pid . '" name="' . $prefix . '_act[]" value="' . $pid . '" ' . ( isset($terms_act) && count($terms_act) > 0 && in_array($pid, $terms_act) ? 'checked="checked"' : '' ) . ' onchange="chkChild(\'' . $prefix . '\', ' . $pid . ')" /> <label for="' . $prefix . '_act_' . $pid . '">' . $term->name . '</label><br />';;
308
 
309
+ if ( $terms_childs_act !== FALSE ) {
310
+ echo '<div style="position:relative;left:15px;">';
311
+ echo '<input type="checkbox" id="' . $prefix . '_childs_act_' . $pid . '" name="' . $prefix . '_childs_act[]" value="' . $pid . '" ' . ( isset($terms_childs_act) && count($terms_childs_act) > 0 && in_array($pid, $terms_childs_act) ? 'checked="checked"' : '' ) . ' onchange="chkParent(\'' . $prefix . '\', ' . $pid . ')" /> <label for="' . $prefix . '_childs_act_' . $pid . '"><em>' . __('All childs', DW_L10N_DOMAIN) . '</em></label><br />';
312
+ echo '</div>';
313
 
314
+ if ( count($childs) > 0 ) {
315
+ self::prtTax($tax, $childs, $terms_act, $terms_childs_act, $prefix);
316
+ }
317
  }
318
  echo '</div>';
319
  }
341
  parent::registerOption($option);
342
  }
343
  }
344
+ ?>
 
mods/error_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Error Module
4
  *
5
- * @version $Id: error_module.php 437634 2011-09-13 19:19:13Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -10,5 +10,4 @@
10
  public static $option = array( 'e404' => 'Error Page' );
11
  protected static $question = 'Show widget on the error page?';
12
  }
13
- ?>
14
-
2
  /**
3
  * Error Module
4
  *
5
+ * @version $Id: error_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
10
  public static $option = array( 'e404' => 'Error Page' );
11
  protected static $question = 'Show widget on the error page?';
12
  }
13
+ ?>
 
mods/frontpage_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Front Page Module
4
  *
5
- * @version $Id: frontpage_module.php 461939 2011-11-11 19:12:16Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -25,4 +25,4 @@
25
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, NULL, self::$except, $list);
26
  }
27
  }
28
- ?>
2
  /**
3
  * Front Page Module
4
  *
5
+ * @version $Id: frontpage_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
25
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, NULL, self::$except, $list);
26
  }
27
  }
28
+ ?>
mods/pages_module.php CHANGED
@@ -2,63 +2,52 @@
2
  /**
3
  * Pages Module
4
  *
5
- * @version $Id: pages_module.php 488903 2012-01-12 18:17:27Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
9
  class DW_Page extends DWModule {
10
  protected static $info;
11
  public static $option = array( 'page' => 'Pages' );
 
 
12
  protected static $question = 'Show widget default on static pages?';
 
13
  protected static $type = 'custom';
14
  protected static $wpml = TRUE;
15
 
16
  public static function admin() {
17
  $DW = &$GLOBALS['DW'];
18
 
19
- // Abort function when timeout occurs
20
- function dw_abort() {
21
- if ( connection_status() == CONNECTION_TIMEOUT ) {
22
- echo '<div class="error" id="message"><p><strong>';
23
- _e('The static page module failed to load.', DW_L10N_DOMAIN);
24
- echo '</strong><br />';
25
- _e('This is probably because building the hierarchical tree took too long.<br />Decrease the limit of number of pages in the advanced settings.', DW_L10N_DOMAIN);
26
- echo '</p></div>';
27
- }
28
- exit();
29
- }
30
- register_shutdown_function('dw_abort');
31
-
32
  parent::admin();
33
 
34
  self::$opt = $DW->getDWOpt($_GET['id'], 'page');
 
35
  if ( self::$opt->count > 0 ) {
36
- $opt_page_childs = $DW->getDWOpt($_GET['id'], 'page-childs');
37
  }
38
 
39
  $pages = get_pages();
40
  $num_pages = count($pages);
 
41
 
42
  if ( $num_pages < DW_PAGE_LIMIT ) {
43
- $pagemap = self::getPageChilds(array(), 0, array());
 
 
44
  }
45
 
46
  // For childs we double the number of pages because of addition of 'All childs' option
47
- if ( (isset($pagemap) && ($num_pages * 2 > DW_LIST_LIMIT)) || ($num_pages > DW_LIST_LIMIT) ) {
48
  $page_condition_select_style = DW_LIST_STYLE;
49
  }
50
 
51
- $static_page = array();
52
  if ( get_option('show_on_front') == 'page' ) {
 
 
53
  if ( get_option('page_on_front') == get_option('page_for_posts') ) {
54
- $id = get_option('page_on_front');
55
- $static_page[$id] = __('Front page', DW_L10N_DOMAIN) . ', ' . __('Posts page', DW_L10N_DOMAIN);
56
- } else {
57
- $id = get_option('page_on_front');
58
- $static_page[$id] = __('Front page', DW_L10N_DOMAIN);
59
- $id = get_option('page_for_posts');
60
- // $static_page[$id] = __('Posts page', DW_L10N_DOMAIN);
61
- unset($pages[$id]);
62
  }
63
  }
64
 
@@ -73,40 +62,62 @@
73
  self::GUIOption();
74
 
75
  if ( $num_pages > 0 ) {
 
 
76
  echo '<br />';
77
  _e('Except the page(s)', DW_L10N_DOMAIN);
78
  echo '<br />';
79
  echo '<div id="page-select" class="condition-select" ' . ( (isset($page_condition_select_style)) ? $page_condition_select_style : '' ) . ' />';
80
- echo '<div style="position:relative;left:-15px">';
81
 
82
  if ( $num_pages < DW_PAGE_LIMIT ) {
83
- if (! isset($opt_page_childs) ) {
84
- $childs = array();
85
- } else {
86
- $childs = $opt_page_childs->act;
87
- }
88
- self::prtPgs($pagemap, self::$opt->act, $childs, $static_page);
89
  } else {
90
- self::lsPages($pages, $static_page, self::$opt->act);
91
  }
92
 
93
- echo '</div></div>';
94
  }
95
 
96
- self::GUIFooter();
97
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
98
 
99
- public static function getPageChilds($arr, $id, $i) {
100
- $pg = get_pages('child_of=' . $id);
101
- foreach ($pg as $p ) {
102
- if (! in_array($p->ID, $i) ) {
103
- $i[ ] = $p->ID;
104
- $arr[$p->ID] = array();
105
- $a = &$arr[$p->ID];
106
- $a = self::getPageChilds($a, $p->ID, $i);
 
 
 
 
 
 
 
 
 
 
 
 
107
  }
108
  }
109
- return $arr;
 
110
  }
111
 
112
  public static function infoText() {
@@ -116,30 +127,49 @@
116
  "All childs" without the parent.', DW_L10N_DOMAIN);
117
  }
118
 
119
- public static function prtPgs($pages, $page_act, $page_childs_act, $static_page) {
120
- foreach ( $pages as $pid => $childs ) {
121
- $page = get_page($pid);
122
 
123
- echo '<div style="position:relative;left:15px;width:95%">';
124
- echo '<input type="checkbox" id="page_act_' . $page->ID . '" name="page_act[]" value="' . $page->ID . '" ' . ( isset($page_act) && count($page_act) > 0 && in_array($page->ID, $page_act) ? 'checked="checked"' : '' ) . ' onchange="chkChild(\'page\', ' . $pid . ')" /> <label for="page_act_' . $page->ID . '">' . $page->post_title . ' ' . ( get_option('show_on_front') == 'page' && isset($static_page[$page->ID]) ? '(' . $static_page[$page->ID] . ')' : '' ) . '</label><br />';
125
 
126
- echo '<div style="position:relative;left:15px;">';
127
- echo '<input type="checkbox" id="page_childs_act_' . $pid . '" name="page_childs_act[]" value="' . $pid . '" ' . ( isset($page_childs_act) && count($page_childs_act) > 0 && in_array($pid, $page_childs_act) ? 'checked="checked"' : '' ) . ' onchange="chkParent(\'page\', ' . $pid . ')" /> <label for="page_childs_act_' . $pid . '"><em>' . __('All childs', DW_L10N_DOMAIN) . '</em></label><br />';
128
- echo '</div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
- if ( count($childs) > 0 ) {
131
- self::prtPgs($childs, $page_act, $page_childs_act, $static_page);
 
 
 
 
 
132
  }
133
- echo '</div>';
134
  }
135
  }
136
 
137
- public static function lsPages($pages, $static_page, $page_act) {
138
- echo '<div style="position:relative;left:15px;width:95%">';
139
- foreach ( $pages as $page ) {
140
- echo '<input type="checkbox" id="page_act_' . $page->ID . '" name="page_act[]" value="' . $page->ID . '" ' . ( count($page_act) > 0 && in_array($page->ID, $page_act) ? 'checked="checked"' : '' ) . ' /> <label for="page_act_' . $page->ID . '">' . $page->post_title . ' ' . ( get_option('show_on_front') == 'page' && isset($static_page[$page->ID]) ? '(' . $static_page[$page->ID] . ')' : '' ) . '</label><br />';
141
- }
142
- echo '</div>';
143
  }
144
  }
145
- ?>
2
  /**
3
  * Pages Module
4
  *
5
+ * @version $Id: pages_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
9
  class DW_Page extends DWModule {
10
  protected static $info;
11
  public static $option = array( 'page' => 'Pages' );
12
+ public static $opt_page_childs;
13
+ public static $opt_page;
14
  protected static $question = 'Show widget default on static pages?';
15
+ public static $static_page;
16
  protected static $type = 'custom';
17
  protected static $wpml = TRUE;
18
 
19
  public static function admin() {
20
  $DW = &$GLOBALS['DW'];
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  parent::admin();
23
 
24
  self::$opt = $DW->getDWOpt($_GET['id'], 'page');
25
+ self::$opt_page = self::$opt;
26
  if ( self::$opt->count > 0 ) {
27
+ self::$opt_page_childs = $DW->getDWOpt($_GET['id'], 'page-childs');
28
  }
29
 
30
  $pages = get_pages();
31
  $num_pages = count($pages);
32
+ unset($pages);
33
 
34
  if ( $num_pages < DW_PAGE_LIMIT ) {
35
+ $hierarchy = TRUE;
36
+ } else {
37
+ $hierarchy = FALSE;
38
  }
39
 
40
  // For childs we double the number of pages because of addition of 'All childs' option
41
+ if ( ($hierarchy && ($num_pages * 2 > DW_LIST_LIMIT)) || ($num_pages > DW_LIST_LIMIT) ) {
42
  $page_condition_select_style = DW_LIST_STYLE;
43
  }
44
 
45
+ self::$static_page = array();
46
  if ( get_option('show_on_front') == 'page' ) {
47
+ $id = get_option('page_on_front');
48
+ self::$static_page[$id] = __('Front page', DW_L10N_DOMAIN);
49
  if ( get_option('page_on_front') == get_option('page_for_posts') ) {
50
+ self::$static_page[$id] .= ', ' . __('Posts page', DW_L10N_DOMAIN);
 
 
 
 
 
 
 
51
  }
52
  }
53
 
62
  self::GUIOption();
63
 
64
  if ( $num_pages > 0 ) {
65
+ $DW->dumpOpt(self::$opt_page_childs);
66
+
67
  echo '<br />';
68
  _e('Except the page(s)', DW_L10N_DOMAIN);
69
  echo '<br />';
70
  echo '<div id="page-select" class="condition-select" ' . ( (isset($page_condition_select_style)) ? $page_condition_select_style : '' ) . ' />';
 
71
 
72
  if ( $num_pages < DW_PAGE_LIMIT ) {
73
+ wp_list_pages( array('title_li' => '', 'walker' => new DW_Page_Walker()) );
 
 
 
 
 
74
  } else {
75
+ wp_list_pages( array('title_li' => '', 'depth' => -1, 'walker' => new DW_Page_Walker()) );
76
  }
77
 
78
+ echo '</div>';
79
  }
80
 
81
+ $tax_list = get_object_taxonomies('page', 'objects');
82
+ foreach ( $tax_list as $tax_type ) {
83
+ // Prepare
84
+ $opt_tax = $DW->getDWOpt($_GET['id'], 'page-tax_' . $tax_type->name);
85
+ if ( $tax_type->hierarchical ) {
86
+ $opt_tax_childs = $DW->getDWOpt($_GET['id'], 'page-tax_' . $tax_type->name . '-childs');
87
+ } else {
88
+ unset($opt_tax_childs);
89
+ }
90
+
91
+ $tax = get_terms($tax_type->name, array('get' => 'all'));
92
+ if ( count($tax) > 0 ) {
93
+ if ( count($tax) > DW_LIST_LIMIT ) {
94
+ $tax_condition_select_style = DW_LIST_STYLE;
95
+ }
96
 
97
+ $tree = DW_CustomPost::getTaxChilds($tax_type->name, array(), 0, array());
98
+
99
+ echo '<br />';
100
+ $DW->dumpOpt($opt_tax);
101
+ if ( isset($opt_tax_childs) ) {
102
+ $DW->dumpOpt($opt_tax_childs);
103
+ }
104
+
105
+ echo '<input type="hidden" name="page_tax_list[]" value="page-tax_' . $tax_type->name . '" />';
106
+ echo __('Except for', DW_L10N_DOMAIN) . ' ' . $tax_type->label . ':<br />';
107
+ echo '<div id="page-tax_' . $tax_type->name . '-select" class="condition-select" ' . ( (isset($tax_condition_select_style)) ? $tax_condition_select_style : '' ) . '>';
108
+ echo '<div style="position:relative;left:-15px">';
109
+ if (! isset($opt_tax_childs) ) {
110
+ $childs = FALSE;
111
+ } else {
112
+ $childs = $opt_tax_childs->act;
113
+ }
114
+ DW_CustomPost::prtTax($tax_type->name, $tree, $opt_tax->act, $childs, 'page-tax_' . $tax_type->name);
115
+ echo '</div>';
116
+ echo '</div>';
117
  }
118
  }
119
+
120
+ self::GUIFooter();
121
  }
122
 
123
  public static function infoText() {
127
  "All childs" without the parent.', DW_L10N_DOMAIN);
128
  }
129
 
130
+ }
 
 
131
 
132
+ class DW_Page_Walker extends Walker_Page {
133
+ private $post_page;
134
 
135
+ function __construct() {
136
+ $this->post_page = get_option('page_for_posts');
137
+ }
138
+
139
+ function start_lvl(&$output, $depth) {
140
+ $indent = str_repeat("\t", $depth);
141
+ $output .= "\n" . $indent . '<div style="position:relative;left:15px;width:95%;">' . "\n";
142
+ }
143
+
144
+ function end_lvl(&$output, $depth) {
145
+ $indent = str_repeat("\t", $depth);
146
+ $output .= $indent . '</div>' . "\n";
147
+ }
148
+
149
+ function start_el(&$output, $page, $depth, $args, $current_page) {
150
+ extract($args, EXTR_SKIP);
151
+
152
+ if ( $depth ) {
153
+ $indent = str_repeat("\t", $depth);
154
+ } else {
155
+ $indent = '';
156
+ }
157
 
158
+ if ( $page->ID <> $this->post_page ) {
159
+ $output .= $indent . '<input type="checkbox" id="page_act_' . $page->ID . '" name="page_act[]" value="' . $page->ID . '" ' . ( isset(DW_Page::$opt_page->act) && count(DW_Page::$opt_page->act) > 0 && in_array($page->ID, DW_Page::$opt_page->act) ? 'checked="checked"' : '' ) . ' onchange="chkChild(\'page\', ' . $page->ID . ')" /> <label for="page_act_' . $page->ID . '">' . apply_filters( 'the_title', $page->post_title, $page->ID ) . ' ' . ( get_option('show_on_front') == 'page' && isset(DW_Page::$static_page[$page->ID]) ? '(' . DW_Page::$static_page[$page->ID] . ')' : '' ) . '</label>';
160
+ $output .= '<br />';
161
+
162
+ if ( $args['depth'] > -1 ) {
163
+ $output .= '<div style="position:relative;left:15px;width:95%;">';
164
+ $output .= '<input type="checkbox" id="page_childs_act_' . $page->ID . '" name="page_childs_act[]" value="' . $page->ID . '" ' . ( isset(DW_Page::$opt_page_childs->act) && count(DW_Page::$opt_page_childs->act) > 0 && in_array($page->ID, DW_Page::$opt_page_childs->act) ? 'checked="checked"' : '' ) . ' onchange="chkParent(\'page\', ' . $page->ID . ')" /> <label for="page_childs_act_' . $page->ID . '"><em>' . __('All childs', DW_L10N_DOMAIN) . '</em></div>';
165
  }
166
+
167
  }
168
  }
169
 
170
+ function end_el(&$output, $page, $depth) {
171
+ // Just an empty function, making sure parent::end_el() does not fire
172
+ return;
 
 
 
173
  }
174
  }
175
+ ?>
mods/qt_module.php CHANGED
@@ -65,4 +65,4 @@
65
  return $q_config['language_name'][$lang];
66
  }
67
  }
68
- ?>
65
  return $q_config['language_name'][$lang];
66
  }
67
  }
68
+ ?>
mods/role_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Role Module
4
  *
5
- * @version $Id: role_module.php 439650 2011-09-18 12:01:48Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -29,4 +29,4 @@
29
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, self::$info, self::$except, $list);
30
  }
31
  }
32
- ?>
2
  /**
3
  * Role Module
4
  *
5
+ * @version $Id: role_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
29
  self::mkGUI(self::$type, self::$option[self::$name], self::$question, self::$info, self::$except, $list);
30
  }
31
  }
32
+ ?>
mods/search_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Search Module
4
  *
5
- * @version $Id: search_module.php 437634 2011-09-13 19:19:13Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -10,5 +10,4 @@
10
  public static $option = array( 'search' => 'Search page' );
11
  protected static $question = 'Show widget on the search page?';
12
  }
13
- ?>
14
-
2
  /**
3
  * Search Module
4
  *
5
+ * @version $Id: search_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
10
  public static $option = array( 'search' => 'Search page' );
11
  protected static $question = 'Show widget on the search page?';
12
  }
13
+ ?>
 
mods/single_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Single Post Module
4
  *
5
- * @version $Id: single_module.php 439650 2011-09-18 12:01:48Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -163,4 +163,4 @@
163
  <?php
164
  }
165
  }
166
- ?>
2
  /**
3
  * Single Post Module
4
  *
5
+ * @version $Id: single_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
163
  <?php
164
  }
165
  }
166
+ ?>
mods/tag_module.php CHANGED
@@ -21,8 +21,7 @@
21
  $list[$t->term_id] = $t->name;
22
  }
23
 
24
- self::mkGUI(self::$type, self::$option[self::$name], self::$question, NULL, self::$except, $list);
25
  }
26
  }
27
- ?>
28
-
21
  $list[$t->term_id] = $t->name;
22
  }
23
 
24
+ self::mkGUI(self::$type, self::$option[self::$name], self::$question, FALSE, self::$except, $list);
25
  }
26
  }
27
+ ?>
 
mods/tpl_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Template Module
4
  *
5
- * @version $Id: tpl_module.php 437634 2011-09-13 19:19:13Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -27,4 +27,4 @@
27
  }
28
  }
29
  }
30
- ?>
2
  /**
3
  * Template Module
4
  *
5
+ * @version $Id: tpl_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
27
  }
28
  }
29
  }
30
+ ?>
mods/wpec_module.php CHANGED
@@ -3,7 +3,7 @@
3
  * WPEC Module
4
  * http://getshopped.org/
5
  *
6
- * @version $Id: wpec_module.php 437634 2011-09-13 19:19:13Z qurl $
7
  * @copyright 2011 Jacco Drabbe
8
  */
9
 
@@ -39,6 +39,8 @@
39
  }
40
 
41
  public static function detectCategory() {
 
 
42
  if ( self::detect(FALSE) ) {
43
  $wpsc_query = &$GLOBALS['wpsc_query'];
44
 
@@ -80,4 +82,4 @@
80
  return FALSE;
81
  }
82
  }
83
- ?>
3
  * WPEC Module
4
  * http://getshopped.org/
5
  *
6
+ * @version $Id: wpec_module.php 523481 2012-03-25 19:49:08Z qurl $
7
  * @copyright 2011 Jacco Drabbe
8
  */
9
 
39
  }
40
 
41
  public static function detectCategory() {
42
+ $DW = &$GLOBALS['DW'];
43
+
44
  if ( self::detect(FALSE) ) {
45
  $wpsc_query = &$GLOBALS['wpsc_query'];
46
 
82
  return FALSE;
83
  }
84
  }
85
+ ?>
mods/wpml_module.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * WPML Module
4
  *
5
- * @version $Id: wpml_module.php 448157 2011-10-06 18:00:02Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
@@ -84,4 +84,4 @@
84
  return $id;
85
  }
86
  }
87
- ?>
2
  /**
3
  * WPML Module
4
  *
5
+ * @version $Id: wpml_module.php 523481 2012-03-25 19:49:08Z qurl $
6
  * @copyright 2011 Jacco Drabbe
7
  */
8
 
84
  return $id;
85
  }
86
  }
87
+ ?>
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Plugin Name ===
2
  Contributors: Qurl
3
- Donate link:
4
  Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods, bbpress
5
  Requires at least: 3.0.0
6
  Tested up to: 3.3.1
7
- Stable tag: 1.5.0
8
 
9
  Dynamic Widgets gives you full control on which pages your widgets will appear. It lets you dynamicly show or hide widgets on WordPress pages.
10
 
@@ -14,6 +14,12 @@ Dynamic Widgets gives you full control on which pages your widgets will appear.
14
 
15
  For the latest news about Dynamic Widgets visit [my website](http://www.qurl.nl/).
16
 
 
 
 
 
 
 
17
  * Default widget display setting is supported for:
18
  - User roles
19
  - Dates
@@ -47,12 +53,12 @@ For the latest news about Dynamic Widgets visit [my website](http://www.qurl.nl/
47
  - Languages (WPML or QTranslate) on language
48
  - Front page on first page
49
  - Single post pages on Author, Categories (including inheritance from hierarchical parents), Tags and/or Individual posts
50
- - Pages on Page Title, including inheritance from hierarchical parents
51
  - Author pages on Author
52
  - Category pages on Category name, including inheritance from hierarchical parents
53
  - Tag pages on Tag
54
  - Custom Posts Type on Custom Taxonomy and Custom Post Name, including inheritance from hierarchical parents
55
- - Custom Post Type Archive pages on Custom Post Type
56
  - Custom Taxonomy Archive pages on Custom Taxonomy Name, including inheritance from hierarchical parents
57
  - WP Shopping Cart / WP E-Commerce Categories on Category name
58
  - BuddyPress Component pages on Component
@@ -73,6 +79,7 @@ For the latest news about Dynamic Widgets visit [my website](http://www.qurl.nl/
73
  - French (fr_FR) by Alexis Nomine
74
  - German (de_DE) by Daniel Bihler
75
  - Lithuanian (lt_LT) by Liudas Ali�auskas
 
76
  - Spanish (es_ES) by Eduardo Larequi
77
 
78
  == Installation ==
@@ -160,7 +167,20 @@ Please check the [Issue Tracker](http://www.qurl.nl/dynamic-widgets/issue-tracke
160
 
161
  == Changelog ==
162
 
163
- = Version 1.5.0bx =
 
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
  * Added Pods plugin support.
166
  * Added Tag Archive Pages support.
@@ -171,7 +191,7 @@ Please check the [Issue Tracker](http://www.qurl.nl/dynamic-widgets/issue-tracke
171
  * Added support for BP Group Hierarchy.
172
  * Added support for bbPress User Profile pages.
173
  * Added Chinese (Simplified) language files (locale: zh_CN) - xie xie Hanolex!
174
- * Added Lithuanian language files (locale: lt_LT) - dekoju Liudas!
175
  * Added a "Save & Return" button to the widget options page.
176
  * Bugfix for subscribers show up in the author lists in WP > 3.1.
177
  * Bugfix for Taxonomies in Custom Post Types are not always saved.
@@ -340,12 +360,12 @@ Please check the [Issue Tracker](http://www.qurl.nl/dynamic-widgets/issue-tracke
340
 
341
  == Release notes ==
342
 
343
- Change of requirements: PHP 5.1.0 or higher and WordPress 3.0 or higher. This version has 7 features added and 3 bugs fixed.
344
 
345
  == Upgrade Notice ==
346
 
347
- = 1.5.0 =
348
- Change of requirements: PHP 5.1.0 or higher and WordPress 3.0 or higher. This version has 7 features added and 3 bugs fixed. When you upgrade manually, be sure to remove the whole dynamic-widgets directory. Do a fresh copy of this version. Some files have been renamed. Old files remaining might lead to unexpected behaviour.
349
 
350
  == Screenshots ==
351
 
1
  === Plugin Name ===
2
  Contributors: Qurl
3
+ Donate link: http://www.qurl.nl/dynamic-widgets/donate/
4
  Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods, bbpress
5
  Requires at least: 3.0.0
6
  Tested up to: 3.3.1
7
+ Stable tag: 1.5.1
8
 
9
  Dynamic Widgets gives you full control on which pages your widgets will appear. It lets you dynamicly show or hide widgets on WordPress pages.
10
 
14
 
15
  For the latest news about Dynamic Widgets visit [my website](http://www.qurl.nl/).
16
 
17
+ = I need your support =
18
+
19
+ It is very hard to continue development and support for this plugin without contributions from users like you. If you enjoy using Dynamic Widgets and find it useful, please consider [making a donation](http://www.qurl.nl/dynamic-widgets/donate/). Your donation will help encourage and support the plugin's continued development and better user support.
20
+
21
+ = Features =
22
+
23
  * Default widget display setting is supported for:
24
  - User roles
25
  - Dates
53
  - Languages (WPML or QTranslate) on language
54
  - Front page on first page
55
  - Single post pages on Author, Categories (including inheritance from hierarchical parents), Tags and/or Individual posts
56
+ - Pages on Page Title and Custom Taxonomies, including inheritance from hierarchical parents
57
  - Author pages on Author
58
  - Category pages on Category name, including inheritance from hierarchical parents
59
  - Tag pages on Tag
60
  - Custom Posts Type on Custom Taxonomy and Custom Post Name, including inheritance from hierarchical parents
61
+ - Custom Posts Type Archive pages on Custom Post Type
62
  - Custom Taxonomy Archive pages on Custom Taxonomy Name, including inheritance from hierarchical parents
63
  - WP Shopping Cart / WP E-Commerce Categories on Category name
64
  - BuddyPress Component pages on Component
79
  - French (fr_FR) by Alexis Nomine
80
  - German (de_DE) by Daniel Bihler
81
  - Lithuanian (lt_LT) by Liudas Ali�auskas
82
+ - Portuguese (pt_PT) by Pedro Nave
83
  - Spanish (es_ES) by Eduardo Larequi
84
 
85
  == Installation ==
167
 
168
  == Changelog ==
169
 
170
+ = Version 1.5.1 =
171
+
172
+ * Added Custom Taxonomies support for Pages
173
+ * Added Portuguese language files (locale: pt_PT) - Obrigado Pedro!
174
+ * Bugfix for Illegal offset type in isset or empty in /wp-includes/taxonomy.php on line 211.
175
+ * Bugfix for Options disappear when adding a widget to a sidebar.
176
+ * Bugfix for Taxonomy childs are displayed when Taxonomy is not hierarchical.
177
+ * Bugfix for deprecated call-time pass-by-reference in custompost_module.php on line 226.
178
+ * Bugfix for showing info balloon at Tag archive Pages.
179
+ * Bugfix for Invalid argument supplied for foreach() in dynwid_admin_save.php on line 158.
180
+ * Bugfix for Cannot modify header information - headers already sent,
181
+ * Changed the way the hierarchical tree for static pages is build. It should be faster now.
182
+
183
+ = Version 1.5.0 =
184
 
185
  * Added Pods plugin support.
186
  * Added Tag Archive Pages support.
191
  * Added support for BP Group Hierarchy.
192
  * Added support for bbPress User Profile pages.
193
  * Added Chinese (Simplified) language files (locale: zh_CN) - xie xie Hanolex!
194
+ * Added Lithuanian language files (locale: lt_LT) - dekoju Liudas!
195
  * Added a "Save & Return" button to the widget options page.
196
  * Bugfix for subscribers show up in the author lists in WP > 3.1.
197
  * Bugfix for Taxonomies in Custom Post Types are not always saved.
360
 
361
  == Release notes ==
362
 
363
+ This version has 2 features added and 7 bugs fixed.
364
 
365
  == Upgrade Notice ==
366
 
367
+ = 1.5.1 =
368
+ This version has 2 features added and 7 bugs fixed.
369
 
370
  == Screenshots ==
371