WordPress.org

Plugin Directory

Changeset 1698398 for dynamic-widgets


Ignore:
Timestamp:
07/18/17 19:34:08 (3 months ago)
Author:
qurl
Message:

#DW-5 Fixed

Location:
dynamic-widgets/trunk
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • dynamic-widgets/trunk/classes/dynwid_class.php

    r1474291 r1698398  
    1212        private $dbtable; 
    1313        public  $device; 
     14        public  $hostname; 
    1415        public  $dwoptions = array(); 
    1516        public  $dynwid_list; 
    1617        public  $enabled; 
    1718        private $firstmessage = TRUE; 
    18         public  $ip_address; 
     19        public  $ip_address; 
    1920        public  $listmade = FALSE; 
    2021        public  $overrule_maintype = array(); 
     
    5152            $this->useragent = $this->getBrowser(); 
    5253            $this->ip_address = $this->getIP(); 
     54            $this->hostname = $this->getHostname(); 
    5355 
    5456            // DB init 
     
    237239            $this->wpdb->query($query); 
    238240            */ 
     241        } 
     242 
     243        public function addDomains($widget_id, $default, $domains) { 
     244            $value = serialize($domains); 
     245 
     246            if ( $default == 'no' ) { 
     247                $fields = array( 
     248                    'widget_id'     => $widget_id, 
     249                    'maintype'      => 'domain', 
     250                    'name'          => 'default', 
     251                    'value'         => '0' 
     252                ); 
     253                $this->wpdb->insert($this->dbtable, $fields); 
     254            } 
     255 
     256            $fields = array( 
     257                'widget_id'     => $widget_id, 
     258                'maintype'      => 'domain', 
     259                'name'          => 'domain', 
     260                'value'         => $value 
     261            ); 
     262            $this->wpdb->insert($this->dbtable, $fields); 
    239263        } 
    240264 
     
    612636        } 
    613637 
     638        private function getHostname() { 
     639            $server_name = $_SERVER['SERVER_NAME']; 
     640            $hostname = $_SERVER['HTTP_HOST']; 
     641 
     642            if (! empty($hostname) && $hostname != $server_name ) { 
     643                return $hostname; 
     644            } 
     645 
     646            return $server_name; 
     647        } 
     648 
    614649        private function getIP() { 
    615650            $ip = ( isset($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : NULL; 
    616             $this->message( 'Raw IP: ' . $ip ); 
     651            // $this->message( 'Raw IP: ' . $ip ); 
    617652 
    618653            return ( strstr($ip, '.') !== FALSE ) ? $ip : NULL; 
     
    651686            DWModule::registerOption(DW_Tag::$option); 
    652687            DWModule::registerOption(DW_Tpl::$option); 
     688            DWModule::registerOption(DW_Domain::$option); 
    653689            DWModule::registerOption(DW_URL::$option); 
    654690            DWModule::registerOption(DW_Week::$option); 
     
    9851021         */ 
    9861022        public function registerOverrulers() { 
    987             include_once(DW_MODULES . 'browser_module.php'); 
    988             include_once(DW_MODULES . 'date_module.php'); 
    989             include_once(DW_MODULES . 'day_module.php'); 
    990             include_once(DW_MODULES . 'week_module.php'); 
    991             include_once(DW_MODULES . 'role_module.php'); 
    992             include_once(DW_MODULES . 'shortcode_module.php'); 
    993             include_once(DW_MODULES . 'tpl_module.php'); 
    994             include_once(DW_MODULES . 'url_module.php'); 
    995             include_once(DW_MODULES . 'device_module.php'); 
    996             include_once(DW_MODULES . 'ip_module.php'); 
    997             include_once(DW_MODULES . 'fimage_module.php'); 
     1023            include_once DW_MODULES . 'browser_module.php'; 
     1024            include_once DW_MODULES . 'date_module.php'; 
     1025            include_once DW_MODULES . 'day_module.php'; 
     1026            include_once DW_MODULES . 'week_module.php'; 
     1027            include_once DW_MODULES . 'role_module.php'; 
     1028            include_once DW_MODULES . 'shortcode_module.php'; 
     1029            include_once DW_MODULES . 'tpl_module.php'; 
     1030            include_once DW_MODULES . 'url_module.php'; 
     1031            include_once DW_MODULES . 'domain_module.php'; 
     1032            include_once DW_MODULES . 'device_module.php'; 
     1033            include_once DW_MODULES . 'ip_module.php'; 
     1034            include_once DW_MODULES . 'fimage_module.php'; 
    9981035 
    9991036            DW_Browser::checkOverrule('DW_Browser'); 
     
    10051042            DW_Tpl::checkOverrule('DW_Tpl'); 
    10061043            DW_URL::checkOverrule('DW_URL'); 
     1044            DW_Domain::checkOverrule('DW_Domain'); 
    10071045            DW_Device::checkOverrule('DW_Device'); 
    10081046            DW_IP::checkOverrule('DW_IP'); 
     
    10101048 
    10111049            // WPML Plugin Support 
    1012             include_once(DW_MODULES . 'wpml_module.php'); 
     1050            include_once DW_MODULES . 'wpml_module.php'; 
    10131051            DW_WPML::detectLanguage(); 
    10141052 
  • dynamic-widgets/trunk/dynamic-widgets.php

    r1591970 r1698398  
    55 * 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. 
    66 * Author: Qurl 
    7  * Version: 1.5.12.1 
     7 * Version: 1.5.12.2 
    88 * Author URI: http://www.qurl.nl/ 
    99 * Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods 
     
    8282    define('DW_TIME_LIMIT', 86400);             // 1 day 
    8383    define('DW_URL_AUTHOR', 'http://www.qurl.nl'); 
    84     define('DW_VERSION', '1.5.12.1'); 
     84    define('DW_VERSION', '1.5.12.2'); 
    8585    define('DW_WPML_API', '/inc/wpml-api.php');         // WPML Plugin support - API file relative to ICL_PLUGIN_PATH 
    8686    define('DW_WPML_ICON', 'img/wpml_icon.png');    // WPML Plugin support - WPML icon 
  • dynamic-widgets/trunk/dynwid_admin_edit.php

    r1474291 r1698398  
    409409    } 
    410410 
     411    if ( array_key_exists('domain', $DW->dwoptions) ) { 
     412        $DW_Domain = new DW_Domain(); 
     413        $DW_Domain->admin(); 
     414    } 
     415 
    411416    if ( array_key_exists('shortcode', $DW->dwoptions) ) { 
    412417        $DW_URL = new DW_Shortcode(); 
  • dynamic-widgets/trunk/dynwid_admin_save.php

    r1474291 r1698398  
    7272  } 
    7373 
     74    // Domain 
     75    if ( $_POST['domain'] == 'no' && empty($_POST['domain_value']) ) { 
     76        wp_redirect( $_SERVER['REQUEST_URI'] . '&work=none' ); 
     77        die(); 
     78    } 
     79 
    7480  // IP 
    7581  if ( $_POST['ip'] == 'no' && empty($_POST['ip_value']) ) { 
     
    163169        } 
    164170    } 
     171 
     172    // URL 
     173    if (! empty($_POST['domain_value']) ) { 
     174        $domains = array(); 
     175 
     176        $domain_values = trim($_POST['domain_value']); 
     177        $domain_values = str_replace("\r", "", $domain_values); 
     178        $domain_values = explode("\n", $domain_values); 
     179 
     180        foreach ( $domain_values as $domain ) { 
     181            $url = trim($domain); 
     182            if (! empty($domain) ) { 
     183                $domains[ ] = $domain; 
     184            } 
     185        } 
     186 
     187        if ( count($domains) > 0 ) { 
     188            $DW->addDomains($widget_id, $_POST['domain'], $domains); 
     189        } 
     190    } 
     191 
    165192 
    166193    // IP 
  • dynamic-widgets/trunk/dynwid_init_worker.php

    r1095126 r1698398  
    66 * @copyright 2011 Jacco Drabbe 
    77 */ 
    8   
     8 
    99    defined('ABSPATH') or die("No script kiddies please!"); 
    1010 
    1111    $DW->message('Dynamic Widgets INIT'); 
    12     echo "\n" . '<!-- Dynamic Widgets by QURL - http://www.qurl.nl //-->' . "\n"; 
     12    echo "\n" . '<!-- Dynamic Widgets by QURL loaded - http://www.dynamic-widgets.com //-->' . "\n"; 
    1313 
    1414    // Register the overrule maintypes 
     
    1818    // UserAgent detection 
    1919    $DW->message('UserAgent: ' . $DW->useragent); 
    20      
    21     //IP  
     20 
     21    //IP 
    2222    $DW->message('IP: ' . $DW->ip_address); 
    2323 
     
    2929    $DW->message('Page is ' . $DW->whereami); 
    3030    $DW->message('Path URL is ' . $DW->url); 
     31    $DW->message('Host name is ' . $DW->hostname); 
    3132    $DW->message('Prefix is ' . $DW->getURLPrefix()); 
    3233 
  • dynamic-widgets/trunk/dynwid_worker.php

    r1474291 r1698398  
    180180                    (bool) $browser_tmp = $condition->value; 
    181181                } else if ( $condition->maintype == 'device' && $condition->name == $DW->device  ) { 
    182                     (bool) $device_tmp = $condition->value; 
     182                        (bool) $device_tmp = $condition->value; 
    183183                } else if ( $condition->maintype == 'tpl' && $condition->name == $DW->template ) { 
    184184                    (bool) $tpl_tmp = $condition->value; 
     
    188188                    (bool) $week_tmp = $condition->value; 
    189189                } else if ( $condition->maintype == 'url' && $condition->name == 'url' ) { 
    190                     $urls = unserialize($condition->value); 
    191                     $other_url = ( $url ) ? FALSE : TRUE; 
    192                     foreach ( $urls as $u ) { 
    193                         $u = $DW->getURLPrefix() . $u; 
    194                         $DW->message('URL matching: ' . $u); 
    195                         $like_start = substr($u, 0, 1); 
    196                         $like_end = substr($u, -1); 
    197  
    198                         if ( $like_start == '*' && $like_end == '*' ) { 
    199                             $u = substr($u, 1, strlen($u) - 2); 
    200                             if ( stristr($DW->url, $u) !== FALSE ) { 
    201                                 $DW->message('Anywhere within URL found'); 
    202                                 $url_tmp = $other_url; 
    203                             } 
    204                         } else if ( $like_end == '*' ) { 
    205                             $u = substr($u, 0, strlen($u) - 1); 
    206                             $u = addcslashes($u, '/?+.[]{}*^$'); 
    207  
    208                             if ( preg_match('/^' . $u . '/', $DW->url) ) { 
    209                                 $DW->message('Starts with URL found'); 
    210                                 $url_tmp = $other_url; 
    211                             } 
    212                         } else if ( $like_start == '*' ) { 
    213                             $u = substr($u, 1); 
    214                             $u = addcslashes($u, '/?+.[]{}*^$'); 
    215  
    216                             if ( preg_match('/' . $u . '$/', $DW->url) ) { 
    217                                 $DW->message('Ends with URL found'); 
    218                                 $url_tmp = $other_url; 
    219                             } 
    220                         } else { 
    221                             if ( $DW->url == $u ) { 
    222                                 $DW->message('Exact match URL found'); 
    223                                 $url_tmp = $other_url; 
    224                             } 
    225                         } 
    226                     } 
     190                    $urls = unserialize($condition->value); 
     191                    $other_url = ( $url ) ? FALSE : TRUE; 
     192                    foreach ( $urls as $u ) { 
     193                        $u = $DW->getURLPrefix() . $u; 
     194                        $DW->message('URL matching: ' . $u); 
     195                        $like_start = substr($u, 0, 1); 
     196                        $like_end = substr($u, -1); 
     197 
     198                        if ( $like_start == '*' && $like_end == '*' ) { 
     199                            $u = substr($u, 1, strlen($u) - 2); 
     200                            if ( stristr($DW->url, $u) !== FALSE ) { 
     201                                $DW->message('Anywhere within URL found'); 
     202                                $url_tmp = $other_url; 
     203                            } 
     204                        } else if ( $like_end == '*' ) { 
     205                            $u = substr($u, 0, strlen($u) - 1); 
     206                            $u = addcslashes($u, '/?+.[]{}*^$'); 
     207 
     208                            if ( preg_match('/^' . $u . '/', $DW->url) ) { 
     209                                $DW->message('Starts with URL found'); 
     210                                $url_tmp = $other_url; 
     211                            } 
     212                        } else if ( $like_start == '*' ) { 
     213                            $u = substr($u, 1); 
     214                            $u = addcslashes($u, '/?+.[]{}*^$'); 
     215 
     216                            if ( preg_match('/' . $u . '$/', $DW->url) ) { 
     217                                $DW->message('Ends with URL found'); 
     218                                $url_tmp = $other_url; 
     219                            } 
     220                        } else { 
     221                            if ( $DW->url == $u ) { 
     222                                $DW->message('Exact match URL found'); 
     223                                $url_tmp = $other_url; 
     224                            } 
     225                        } 
     226                    } 
     227                } else if ( $condition->maintype == 'domain' && $condition->name == 'domain' ) { 
     228                    $domains = unserialize($condition->value); 
     229                    $other_domain = ( $domain ) ? FALSE : TRUE; 
     230 
     231                    foreach ( $domains as $domain ) { 
     232                        if ( $DW->hostname == $domain ) { 
     233                            $domain_tmp = $other_domain; 
     234                            $DW->message('Flip switch for domain to ' . ( ($domain_tmp) ? 'TRUE' : 'FALSE' )); 
     235                        } 
     236                    } 
     237 
    227238                } else if ( $condition->maintype == 'ip' && $condition->name == 'ip' && ! is_null($DW->ip_address) ) { 
    228239                    $ips =  unserialize($condition->value); 
     
    263274            unset($browser_tmp); 
    264275 
    265             if ( isset($device_tmp) && $device_tmp != $device ) { 
    266                 $DW->message('Exception triggered for device, sets display to ' . ( ($device_tmp) ? 'TRUE' : 'FALSE' ) . ' (rule ED1)'); 
    267                 $device = $device_tmp; 
    268             } 
    269             unset($device_tmp); 
     276                if ( isset($device_tmp) && $device_tmp != $device ) { 
     277                    $DW->message('Exception triggered for device, sets display to ' . ( ($device_tmp) ? 'TRUE' : 'FALSE' ) . ' (rule ED1)'); 
     278                    $device = $device_tmp; 
     279                } 
     280                unset($device_tmp); 
    270281 
    271282            if ( isset($tpl_tmp) && $tpl_tmp != $tpl ) { 
     
    292303            } 
    293304            unset($url_tmp, $other_url); 
     305 
     306                if ( isset($domain_tmp) && $domain_tmp != $domain ) { 
     307                    $DW->message('Exception triggered for domain, sets display to ' . ( ($domain_tmp) ? 'TRUE' : 'FALSE' ) . ' (rule EDMN1)'); 
     308                    $domain = $domain_tmp; 
     309                } 
     310                unset($domain_tmp, $other_domain); 
    294311 
    295312            if ( isset($ip_tmp) && $ip_tmp != $ip ) { 
     
    855872        foreach ( $DW->overrule_maintype as $mt ) { 
    856873            if (! $$mt ) { 
    857         $display = FALSE; 
     874                $display = FALSE; 
    858875                break; 
    859876            } 
  • dynamic-widgets/trunk/readme.txt

    r1478458 r1698398  
    22Contributors: Qurl 
    33Donate link: http://www.qurl.nl/dynamic-widgets/donate/ 
    4 Tags: widget, widgets, dynamic, sidebar, custom, rules, logic, display, admin, condition, conditional tags, hide, show, wpml, qtranslate, wpec, buddypress, pods, bbpress 
     4Tags: widget, dynamic, sidebar, custom, rules, logic, display, condition, hide, show 
    55Requires at least: 3.0.0 
    66Tested up to: 4.6 
     
    191191== Changelog == 
    192192 
     193= Version 1.5.12.x = 
     194 
     195* Widened the database fields 
     196 
    193197= Version 1.5.12 = 
    194198 
Note: See TracChangeset for help on using the changeset viewer.