function on_show_page() { //we need the global screen column value to beable to have a sidebar in WordPress 2.8 global $screen_layout_columns; global $wpdb; $genoptions = get_option('MD_General'); $config = ''; if (isset($_GET['config']) && $config == '') { $config = $_GET['config']; if ($config > $genoptions['numberofmodaldialogs']) { $config = 1; } } else { $config = 1; } if ($_GET['page'] == 'modal-dialog') { $pagetitle = __('Modal Dialog General Settings', 'modal-dialog'); $formvalue = 'save_modal_dialog_general'; if (isset($_GET['message']) && $_GET['message'] == '1') { echo '<div id="message" class="updated fade"><p><strong>' . __('Modal Dialog General Settings Updated', 'modal-dialog') . '</strong></div>'; } } elseif ($_GET['page'] == 'modal-dialog-configurations') { $pagetitle = __('Modal Dialog Configurations', 'modal-dialog'); $formvalue = 'save_modal_dialog_configurations'; if (isset($_GET['message']) && $_GET['message'] == '1') { echo '<div id="message" class="updated fade"><p><strong>' . __('Modal Dialog Configuration Updated', 'modal-dialog') . ' (#' . $config . ')</strong></div>'; } } elseif ($_GET['page'] == 'modal-dialog-faq') { $pagetitle = __('Modal Dialog FAQ', 'modal-dialog'); $formvalue = 'save_modal_dialog_faq'; } $configname = 'MD_PP' . $config; $options = get_option($configname); if ($options == false) { modal_dialog_default_config($config); $options = get_option($configname); } $options = wp_parse_args($options, modal_dialog_default_config(1, 'return')); //define some data can be given to each metabox during rendering $data['options'] = $options; $data['config'] = $config; $data['genoptions'] = $genoptions; ?> <div id="modal-dialog-general" class="wrap"> <div class='icon32'><img src="<?php echo plugins_url('/icons/ModalDialog32.png', __FILE__); ?> " /></div> <h2><?php echo $pagetitle; ?> <span style='padding-left: 50px'><a href="http://ylefebvre.ca/wordpress-plugins/modal-dialog/" target="modaldialog"><img src="<?php echo plugins_url("/icons/btn_donate_LG.gif", __FILE__); ?> " /></a></span> </h2> <form action="admin-post.php" method="post" id='mdform' enctype='multipart/form-data'> <?php wp_nonce_field('modal-dialog-general'); ?> <?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); ?> <?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false); ?> <input type="hidden" name="action" value="<?php echo $formvalue; ?> " /> <div id="poststuff" class="metabox-holder"> <div id="post-body" class="has-sidebar"> <div id="post-body-content" class="has-sidebar-content"> <?php if ($_GET['page'] == 'modal-dialog') { do_meta_boxes($this->pagehooktop, 'normal', $data); } elseif ($_GET['page'] == 'modal-dialog-configurations') { do_meta_boxes($this->pagehooksettings, 'normal', $data); } elseif ($_GET['page'] == 'modal-dialog-faq') { do_meta_boxes($this->pagehookfaq, 'normal', $data); } ?> </div> </div> <br class="clear" /> </div> </form> </div> <script type="text/javascript"> //<![CDATA[ jQuery(document).ready(function ($) { // close postboxes that should be closed $('.if-js-closed').removeClass('if-js-closed').addClass('closed'); // postboxes setup postboxes.add_postbox_toggles('<?php echo $this->pagehook; ?> '); }); //]]> </script> <?php }
function modal_dialog_footer($manualdisplay = false) { global $post; $thePostID = $post->ID; $display = false; wp_reset_query(); if (isset($_GET['showmodaldialog'])) { $display = true; $dialogid = $_GET['showmodaldialog']; } elseif (!empty($thePostID)) { $dialogid = get_post_meta($post->ID, "modal-dialog-id", true); if (!empty($dialogid) && $dialogid != 0) { $display = true; } else { $dialogid = 1; } } if ($display == false) { $genoptions = get_option('MD_General'); $genoptions = wp_parse_args($genoptions, modal_dialog_general_default_config('return')); for ($counter = 1; $counter <= $genoptions['numberofmodaldialogs']; $counter++) { $dialogid = $counter; $optionsname = "MD_PP" . $counter; $options = get_option($optionsname); $options = wp_parse_args($options, modal_dialog_default_config($counter, 'return')); if (!empty($options['excludeurlstrings'])) { $exclude_url_list = explode(',', $options['excludeurlstrings']); global $post; if ($exclude_url_list) { foreach ($exclude_url_list as $excluded_string) { $page_address = get_permalink($post->ID); if (false !== strpos($page_address, $excluded_string)) { $display = false; break 2; } } } } if (!empty($options['excludepages'])) { $exclude_page_list = explode(',', $options['excludepages']); if ($exclude_page_list) { foreach ($exclude_page_list as $excluded_page_id) { if (is_page(intval($excluded_page_id)) || is_single($excluded_page_id)) { $display = false; break 2; } } } } if ($options['checklogin'] == false || $options['checklogin'] == '' || $options['checklogin'] == true && !is_user_logged_in()) { if (($options['active'] || $manualdisplay) && !is_admin()) { if (in_array($GLOBALS['pagenow'], array('wp-register.php', 'wp-signup.php')) && !$options['showregisterpage']) { $display = false; break; } elseif (in_array($GLOBALS['pagenow'], array('wp-register.php', 'wp-signup.php')) && $options['showregisterpage']) { $display = true; break; } elseif ($options['showfrontpage'] && is_front_page()) { $display = true; break; } elseif (!empty($options['codecondition']) && eval('return ' . stripslashes($options['codecondition']) . ';')) { $display = true; break; } elseif ($options['showfrontpage'] == false && is_front_page()) { $display = false; } elseif ($options['forcepagelist'] == true) { if ($options['pages'] != '') { $pagelist = explode(',', $options['pages']); if ($pagelist) { foreach ($pagelist as $pageid) { if (is_page(intval($pageid)) || is_single($pageid)) { $display = true; break 2; } else { $display = false; } } } } } elseif ($options['forcepagelist'] == false && !is_front_page()) { $display = true; break; } elseif ($manualdisplay == true) { $display = true; break; } } } else { $display = false; } } } if ($display == true && $dialogid != 0) { global $wpdb; $optionsname = "MD_PP" . $dialogid; $options = get_option($optionsname); $options = wp_parse_args($options, modal_dialog_default_config($dialogid, 'return')); $genoptions = get_option('MD_General'); $genoptions = wp_parse_args($genoptions, modal_dialog_general_default_config('return')); $output = "<!-- Modal Dialog Output -->\n"; if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') { if ($options['contentlocation'] == 'Inline') { $output .= "<a id=\"inline\" href=\"#data\"></a>\n"; $output .= "<div style=\"display:none\"><div id=\"data\" style=\"color:" . $options['textcolor'] . ";background-color:" . $options['backgroundcolor'] . ";width:100%;height:100%\">"; $output .= apply_filters('modal_dialog_content', stripslashes($options['dialogtext'])); $output .= "</div></div>\n"; } elseif ($options['contentlocation'] == "URL") { $output .= "<a href='" . $options['contenturl'] . "' class='iframe'></a>\n"; } } else { if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') { if ($options['contentlocation'] == 'Inline') { $output .= "<a class='inline' href='#inline_content'></a>\n"; $output .= "<div style='display:none'>"; $output .= "<div id='inline_content' style='padding:10px;color:" . $options['textcolor'] . ";background-color:" . $options['backgroundcolor'] . "'>"; $output .= "<div id='inline_replaceable_content'>"; $output .= apply_filters('modal_dialog_content', stripslashes($options['dialogtext'])); $output .= "</div>"; $output .= "</div></div>\n"; } elseif ($options['contentlocation'] == "URL") { $output .= "<a href='" . $options['contenturl'] . "' class='iframe'></a>\n"; } } } if ($options['sessioncookiename'] != '') { $sessioncookiename = $options['sessioncookiename']; } else { $sessioncookiename = 'modaldialogsession'; } $output .= "<div id='md-content'>\n"; $output .= "<script type=\"text/javascript\">\n"; $output .= "function modal_dialog_open() {\n"; if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') { if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) { $output .= "\tjQuery(\"a#inline\").trigger('click')\n"; } elseif ($options['contentlocation'] == 'URL') { $output .= "\tjQuery(\"a.iframe\").trigger('click')\n"; } } else { if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') { if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) { $output .= "\tjQuery(\"a.inline\").trigger('click')\n"; } elseif ($options['contentlocation'] == 'URL') { $output .= "\tjQuery(\"a.iframe\").trigger('click')\n"; } } } if ($options['manualcookiecreation'] == false) { $output .= "\tcookievalue++;\n"; $output .= "\tjQuery.cookie('" . $options['cookiename'] . "', cookievalue"; if ($options['cookieduration'] > 0) { $output .= ", { expires: " . $options['cookieduration'] . ", path: '/'}"; } else { $output .= ", { path: '/' }"; } $output .= ");\n"; } if ($options['oncepersession'] == true) { if ($options['manualcookiecreation'] == false) { $output .= "\tjQuery.cookie('" . $sessioncookiename . "', 0, { path: '/' });\n"; } } $output .= "}\n"; if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') { $output .= "function set_modal_dialog_content( newContent ) {\n"; $output .= "\tjQuery('#inline_replaceable_content').replaceWith( \"<div id='inline_replaceable_content'>\" + newContent + \"</div>\");\n"; $output .= "};\n"; $output .= "function set_modal_dialog_web_site_address( newAddress ) {\n"; $output .= "\tjQuery('a.iframe').attr( 'href', newAddress );\n"; $output .= "};\n"; } $output .= "function modal_dialog_close() {\n"; if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') { $output .= "\tparent.jQuery.fancybox.close();\n"; } else { if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') { $output .= "\tjQuery.colorbox.close();\n"; } } $output .= "}\n\n"; $output .= "var cookievalue = jQuery.cookie('" . $options['cookiename'] . "');\n"; $output .= "if (cookievalue == null) cookievalue = 0;\n"; if ($options['oncepersession'] == true) { $output .= "var sessioncookie = jQuery.cookie('" . $sessioncookiename . "');\n\n"; } $output .= "jQuery(document).ready(function() {\n"; if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') { if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) { $output .= "jQuery(\"a#inline\").fancybox({\n"; } elseif ($options['contentlocation'] == 'URL') { $output .= "jQuery(\"a.iframe\").fancybox({\n"; } if ($options['exitmethod'] == 'onlyexitbutton') { $output .= "'hideOnOverlayClick': false,\n"; $output .= "'hideOnContentClick': false,\n"; } elseif ($options['exitmethod'] == 'anywhere') { $output .= "'hideOnOverlayClick': true,\n"; $output .= "'hideOnContentClick': false,\n"; } if (true == $options['hideclosebutton']) { $output .= "'enableEscapeButton': false,\n"; } else { $output .= "'enableEscapeButton': true,\n"; } if (isset($options['ignoreesckey']) && true == $options['ignoreesckey']) { $output .= "'showCloseButton': false,\n"; } else { $output .= "'showCloseButton': true,\n"; } if ($options['centeronscroll'] == true) { $output .= "'centerOnScroll': true,\n"; } if ($options['hidescrollbars'] == true) { $output .= "'scrolling': 'no',\n"; } if ($options['dialogclosingcallback'] != '') { $output .= "'onClosed': function() {" . $options['dialogclosingcallback'] . "},\n"; } if ($options['autosize'] == true || empty($options['autosize'])) { $output .= "'autoDimensions': true,\n"; } elseif ($options['autosize'] == false) { $output .= "'autoDimensions': false,\n"; } $output .= "'overlayColor': '" . $options['overlaycolor'] . "',\n"; $output .= "'width': '" . $options['dialogwidth'] . "',\n"; $output .= "'height': '" . $options['dialogheight'] . "',\n"; if ($options['overlayopacity'] == '') { $options['overlayopacity'] = '0.3'; } if (!empty($options['transitionmode'])) { $output .= "\t\ttransitionIn: \"" . $options['transitionmode'] . "\",\n"; $output .= "\t\ttransitionOut: \"" . $options['transitionmode'] . "\",\n"; } $output .= "'overlayOpacity': " . $options['overlayopacity'] . "\n"; $output .= "});\n"; } else { if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') { if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) { $output .= "\tjQuery(\"a.inline\").colorbox({\n"; $output .= "\t\tinline: true,\n"; $output .= "\t\treturnFocus: false,\n"; } elseif ($options['contentlocation'] == 'URL') { $output .= "\tjQuery(\"a.iframe\").colorbox({\n"; $output .= "\t\tiframe: true,\n"; $output .= "\t\treturnFocus: false,\n"; } if ($options['exitmethod'] == 'onlyexitbutton') { $output .= "\t\toverlayClose: false,\n"; } elseif ($options['exitmethod'] == 'anywhere') { $output .= "\t\toverlayClose: true,\n"; } if ($options['hideclosebutton'] == true) { $output .= "\t\tcloseButton: false,\n"; } else { $output .= "\t\tcloseButton: true,\n"; } if (isset($options['ignoreesckey']) && true == $options['ignoreesckey']) { $output .= "\t\tescKey: false,\n"; } else { $output .= "\t\tescKey: true,\n"; } if ($options['centeronscroll'] == true) { $output .= "\t\tfixed: true,\n"; } if ($options['hidescrollbars'] == true) { $output .= "\t\tscrolling: 'false',\n"; } if ($options['dialogclosingcallback'] != '') { $output .= "\t\tonClosed: function() {" . $options['dialogclosingcallback'] . "},\n"; } if ($options['autosize'] == true) { $output .= "\t\twidth: '80%',\n"; $output .= "\t\theight: '80%',\n"; } else { $output .= "\t\twidth: '" . $options['dialogwidth'] . "',\n"; $output .= "\t\theight: '" . $options['dialogheight'] . "',\n"; } if ($options['sessioncookiename'] != '') { $sessioncookiename = $options['sessioncookiename']; } else { $sessioncookiename = 'modaldialogsession'; } if ($options['overlayopacity'] == '') { $options['overlayopacity'] = '0.3'; } if ($options['dialogposition'] == 'userposition') { if (!empty($options['topposition'])) { $output .= "\t\ttop: \"" . $options['topposition'] . "\",\n"; } if (!empty($options['leftposition'])) { $output .= "\t\tleft: \"" . $options['leftposition'] . "\",\n"; } if (!empty($options['rightposition'])) { $output .= "\t\tright: \"" . $options['rightposition'] . "\",\n"; } if (!empty($options['bottomposition'])) { $output .= "\t\tbottom: \"" . $options['bottomposition'] . "\",\n"; } } if (!empty($options['transitionmode'])) { $output .= "\t\ttransition: \"" . $options['transitionmode'] . "\",\n"; } $output .= "\t\toverlayOpacity: " . $options['overlayopacity'] . "\n"; $output .= "\t});\n\n"; } } if ($options['oncepersession'] == true) { $output .= "\tif (sessioncookie == null)\n"; $output .= "\t{\n"; } if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) { $output .= "\tvar cookiechecksvalue = jQuery.cookie('" . $options['cookiename'] . "_checks');\n"; $output .= "\tif (cookiechecksvalue == null) cookiechecksvalue = 0;\n"; } $output .= "\tif (cookievalue "; if (empty($options['countermode'])) { $options['countermode'] = 'timestodisplay'; } if ($options['countermode'] == 'timestodisplay') { $output .= ' < '; } elseif ($options['countermode'] == 'timesbeforedisplay') { $output .= ' > '; } $output .= $options['numberoftimes'] . ")\n"; $output .= "\t{\n"; if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) { $output .= "\t\tcookiechecksvalue++;\n"; $output .= "\t\tjQuery.cookie('" . $options['cookiename'] . "_checks', cookiechecksvalue"; if ($options['cookieduration'] > 0) { $output .= ", { expires: " . $options['cookieduration'] . ", path: '/'}"; } else { $output .= ", { path: '/' }"; } $output .= ");\n"; $output .= "\t\tif (cookiechecksvalue % " . $options['displayfrequency'] . " == 0) {\n"; } $output .= "\t\tsetTimeout(\n"; $output .= "\t\t\tfunction(){\n"; $output .= "\t\t\t\tmodal_dialog_open();\n"; $output .= "\t\t\t}, " . $options['delay'] . ");\n"; $output .= "\t};\n"; if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) { $output .= '}'; } if ($options['oncepersession'] == true) { $output .= "\t}\n"; } $output .= "});\n"; if ($options['autoclose'] == true && $options['autoclosetime'] != 0) { $output .= "setTimeout('modal_dialog_close();'," . $options['autoclosetime'] . ");\n"; } $output .= "</script>\n"; $output .= "</div>\n"; $output .= "<!-- End of Modal Dialog Output -->\n"; echo $output; } }