PageRenderTime 50ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/dynamic-widgets/mods/ip_module.php

https://bitbucket.org/Thane2376/death-edge.ru
PHP | 64 lines | 51 code | 6 blank | 7 comment | 4 complexity | 908f5fcac85fda3e91714be162ad7373 MD5 | raw file
Possible License(s): LGPL-2.1, GPL-2.0, LGPL-3.0, AGPL-1.0
  1. <?php
  2. /**
  3. * IP Module
  4. * Can't use DWOpts object because value = the serialized values
  5. *
  6. * @version $Id$
  7. * @copyright 2014 Jacco Drabbe
  8. */
  9. class DW_IP extends DWModule {
  10. public static $option = array( 'ip' => 'IP Address' );
  11. protected static $overrule = TRUE;
  12. protected static $type = 'custom';
  13. public static function admin() {
  14. $DW = $GLOBALS['DW'];
  15. parent::admin();
  16. $ip_yes_selected = 'checked="checked"';
  17. $opt_ip = $DW->getOpt($GLOBALS['widget_id'], 'ip');
  18. foreach ( $opt_ip as $opt ) {
  19. if ( $opt->name == 'default' ) {
  20. $ip_no_selected = $ip_yes_selected;
  21. unset($ip_yes_selected);
  22. } else {
  23. $ips = unserialize($opt->value);
  24. }
  25. }
  26. ?>
  27. <h4 id="ip" title=" Click to toggle " class="ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"><b><?php _e('IP Address'); ?></b><?php echo ( count($opt_ip) > 0 ) ? ' <img src="' . $DW->plugin_url . 'img/checkmark.gif" alt="Checkmark" />' : ''; ?></h4>
  28. <div id="ip_conf" class="dynwid_conf ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom">
  29. <?php _e('Show widget for this IP (range)?', DW_L10N_DOMAIN); ?> <img src="<?php echo $DW->plugin_url; ?>img/info.gif" alt="info" title="<?php _e('Click to toggle info', DW_L10N_DOMAIN) ?>" onclick="divToggle('ip_info');" /><br />
  30. <?php $DW->dumpOpt($opt_ip); ?>
  31. <div>
  32. <div id="ip_info" class="infotext">
  33. Works only with IPv4, not IPv6! No checks are performed for overlapping addresses, invalid ranges, etc.<br />
  34. Separate IP (ranges) on each line.<br />
  35. <br />
  36. IP format notation can be...
  37. <div style="position:relative;left:20px;">
  38. <ul>
  39. <li>single IP: 192.168.1.1</li>
  40. <li>in <a href="http://en.wikipedia.org/wiki/Cidr" target="_blank">CIDR</a><sup> [WARNING: techie!]</sup> (recommended): 192.168.1.1/32, 192.168.1.0/24 or 192.168.1.0/255.255.255.0</li>
  41. <li>in wildcard: 192.168.1.*</li>
  42. <li>in range: 192.168.1.1-192.168.1.254</li>
  43. </ul>
  44. </div>
  45. </div>
  46. </div>
  47. <br />
  48. <input type="radio" name="ip" value="yes" id="ip-yes" <?php echo ( isset($ip_yes_selected) ) ? $ip_yes_selected : ''; ?> /> <label for="ip-yes"><?php _e('Yes'); ?></label>
  49. <input type="radio" name="ip" value="no" id="ip-no" <?php echo ( isset($ip_no_selected) ) ? $ip_no_selected : ''; ?> /> <label for="ip-no"><?php _e('No'); ?></label><br />
  50. <?php _e('Except the IP (ranges)', DW_L10N_DOMAIN); ?>:<br />
  51. <div id="ip-select" class="condition-select">
  52. <textarea name="ip_value" style="width:300px;height:150px;"><?php echo ( isset($ips) ) ? implode("\n", $ips) : ''; ?></textarea>
  53. </div>
  54. </div><!-- end dynwid_conf -->
  55. <?php
  56. }
  57. }
  58. ?>