This is kept for reference, but isn't an active project in our site development.
This is the code of the BoWoB chat plugin for Wordpress. This was looked at briefly, but no progress has been made on it. It would be a bit meaningless if we don't have cross-login with the WordPress site.
The initial posting is the original code of BoWoB v3.0. Changes made will be visible in the history page.
<?php /* Plugin Name: BoWoB Version: 3.0 Plugin URI: http://www.bowob.com/wordpress/ Description: Free Chat for your website, integrated with your system users and design Author: Jonatan Linares Author URI: http://www.bowob.com */ $path = dirname(__FILE__) . "/bowob_config.php"; global $bowob_chat_id, $bowob_chat_onlyreg, $bowob_chat_name; global $bowob_icones, $bowob_icones_path, $bowob_icones_button_path, $bowob_colours, $bowob_language_object, $bowob_language, $bowob_sounds_path, $bowob_sounds_volume, $bowob_format_bold, $bowob_format_underline, $bowob_format_italic, $bowob_format_colours, $bowob_format_icones; if(file_exists($path)){ require($path); } else{ $bowob_chat_id = array(); $bowob_chat_onlyreg = array(); $bowob_chat_name = array(); } function bowob_link(){ echo "<li><h2>" . __('Chat') . "</h2>\n"; bowob_link_rooms(); echo "</li>\n"; } function bowob_link_rooms(){ bowob_config(); global $bowob_chat_id, $bowob_chat_name, $page_info, $page_perma; echo "<ul>\n"; if(sizeof($bowob_chat_id) == 1){ echo "<li><a href=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=1")."\" title=\"".__('Chat')."\">".__('Chat')."</a></li>\n"; } else{ for($bowob_i = 0; $bowob_i < sizeof($bowob_chat_id); $bowob_i++){ echo "<li><a href=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($bowob_i + 1) : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($bowob_i + 1))."\" title=\"".$bowob_chat_name[$bowob_i]."\">".$bowob_chat_name[$bowob_i]."</a></li>\n"; } } echo "</ul>\n"; } function bowob_login(){ echo "<li><h2>" . __('Chat') . "</h2>\n"; bowob_login_rooms(); echo "</li>\n"; } function bowob_login_rooms(){ bowob_config(); global $bowob_chat_id, $bowob_chat_onlyreg, $bowob_chat_name, $page_info, $page_perma; $rooms_all = 0; $rooms_reg = 0; for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if($bowob_chat_onlyreg[$i]){ $rooms_reg++; } else{ $rooms_all++; } } if($rooms_all){ $bowob_username = ""; $user = wp_get_current_user(); if($user->ID){ $bowob_username = $user->user_login; } if($rooms_all == 1){ for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if(!$bowob_chat_onlyreg[$i]){ if(sizeof($bowob_chat_id) > 1){ echo "<ul><li>".$bowob_chat_name[$i]."\n"; } echo "<form name=\"bowob_login\" id=\"bowob_login\" action=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($i + 1)."/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($i + 1)."&bowob_step=1")."\" method=\"post\">"; break; } } if(sizeof($bowob_chat_id) == 1){ echo "<ul><li>"; } echo "<label>"; _e('Username:'); echo "<br><input type=\"text\" name=\"user_login\" class=\"input\" value=\"".$bowob_username."\" size=\"15\" /></label>\n"; echo "<br><input type=\"submit\" name=\"wp-submit\" id=\"wp-submit\" value=\"" . __('Chat') . "\" /></li></ul>\n"; } else{ echo "<form name=\"bowob_login\" id=\"bowob_login\" action=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/1/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=1&bowob_step=1")."\" method=\"post\">"; echo "<ul><li>"; $checked = false; for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if(!$bowob_chat_onlyreg[$i]){ echo "<label><input name=\"room\" value=\"".$i."\" type=\"radio\""; if(!$checked){ echo " checked=\"checked\""; $checked = true; } echo "> ".$bowob_chat_name[$i]."</label><br>\n"; } } $submit_js = "for(var i = 0; i < document.getElementById('bowob_login').room.length; i++){"; $submit_js .= " if(document.getElementById('bowob_login').room[i].checked){"; if($page_perma){ $submit_js .= " document.getElementById('bowob_login').action = '".get_bloginfo('url')."/".$page_info["post_name"]."/' + (parseInt(document.getElementById('bowob_login').room[i].value) + 1) + '/1'"; } else{ $submit_js .= " document.getElementById('bowob_login').action = '".get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=' + (parseInt(document.getElementById('bowob_login').room[i].value) + 1) + '&bowob_step=1'"; } $submit_js .= " }"; $submit_js .= "}"; echo "<label>"; _e('Username:'); echo "<br><input type=\"text\" name=\"user_login\" class=\"input\" value=\"".$bowob_username."\" size=\"15\" /></label>\n"; echo "<br><input type=\"submit\" name=\"wp-submit\" id=\"wp-submit\" value=\"" . __('Chat') . "\" onclick=\"".$submit_js."\" /></li></ul>\n"; } echo "</form>\n"; } if($rooms_reg){ if($rooms_all){ echo "<br>\n"; } echo "<ul>\n"; for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if($bowob_chat_onlyreg[$i]){ if(sizeof($bowob_chat_id) == 1){ echo "<li><a href=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($i + 1) : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($i + 1))."\" title=\"".__('Chat')."\">".__('Chat')."</a></li>"; } else{ echo "<li><a href=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($i + 1) : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($i + 1))."\" title=\"".$bowob_chat_name[$i]."\">".$bowob_chat_name[$i]."</a></li>"; } } } echo "</ul>\n"; } } function widget_bowob_init(){ if(!function_exists('register_sidebar_widget')) return; function widget_bowob_link($args){ bowob_config(); global $bowob_chat_id, $bowob_chat_name, $page_info, $page_perma; extract($args); $options = get_option('widget_bowob_link'); $title = empty($options['title']) ? __('Chat') : $options['title']; echo " ".$before_widget."\n"; echo " ".$before_title.$title.$after_title."\n"; bowob_link_rooms(); echo " ".$after_widget."\n"; } function widget_bowob_link_control(){ global $bowob_chat_id; global $bowob_chat_name; $options = $newoptions = get_option('widget_bowob_link'); if($_POST["bowob_link-submit"]){ $newoptions['title'] = strip_tags(stripslashes($_POST["bowob_link-title"])); } if($options != $newoptions){ $options = $newoptions; update_option('widget_bowob_link', $options); } $title = attribute_escape($options['title']); echo " <p><label for=\"bowob_link-title\">"._e('Title:')."<input style=\"width: 250px;\" id=\"bowob_link-title\" name=\"bowob_link-title\" type=\"text\" value=\"".$title."\" /></label></p>"; echo " <input type=\"hidden\" id=\"bowob_link-submit\" name=\"bowob_link-submit\" value=\"1\" />"; } function widget_bowob_login($args){ bowob_config(); global $bowob_chat_id, $bowob_chat_name, $page_info, $page_perma; extract($args); $options = get_option('widget_bowob_login'); $title = empty($options['title']) ? __('Chat') : $options['title']; echo " ".$before_widget."\n"; echo " ".$before_title.$title.$after_title."\n"; bowob_login_rooms(); echo " ".$after_widget."\n"; } function widget_bowob_login_control(){ global $bowob_chat_id; global $bowob_chat_name; $options = $newoptions = get_option('widget_bowob_login'); if($_POST["bowob_login-submit"]){ $newoptions['title'] = strip_tags(stripslashes($_POST["bowob_login-title"])); } if($options != $newoptions){ $options = $newoptions; update_option('widget_bowob_login', $options); } $title = attribute_escape($options['title']); echo " <p><label for=\"bowob_login-title\">"._e('Title:')."<input style=\"width: 250px;\" id=\"bowob_login-title\" name=\"bowob_login-title\" type=\"text\" value=\"".$title."\" /></label></p>"; echo " <input type=\"hidden\" id=\"bowob_login-submit\" name=\"bowob_login-submit\" value=\"1\" />"; } register_sidebar_widget(array('BoWoB Link', 'widgets'), 'widget_bowob_link'); register_widget_control(array('BoWoB Link', 'widgets'), 'widget_bowob_link_control', 300, 280); register_sidebar_widget(array('BoWoB Login', 'widgets'), 'widget_bowob_login'); register_widget_control(array('BoWoB Login', 'widgets'), 'widget_bowob_login_control', 300, 280); } function bowob_content($content){ if(eregi("\[\[BOWOB\]\]", $content)){ bowob_page(); return ""; } else{ return $content; } } function bowob_activate(){ global $wp_rewrite; $wp_rewrite->flush_rules(); } function bowob_deactivate(){ global $wpdb, $table_prefix; $wpdb->query("DROP TABLE IF EXISTS {$table_prefix}bowob"); $wpdb->query("DELETE FROM {$table_prefix}posts WHERE post_name = 'bowob'"); } function bowob_query_vars($vars){ $vars[] = "bowob_id"; $vars[] = "bowob_step"; return $vars; } function bowob_rewrite_rules($wp_rewrite){ global $wp_rewrite; $xdforum_rules = array( 'bowob/([^/\(\)]*)/?([^/\(\)]*)' => '/bowob/index.php?pagename=bowob&bowob_id=$matches[1]&bowob_step=$matches[2]' ); $wp_rewrite->rules = $xdforum_rules + $wp_rewrite->rules; } function bowob_header(){ if(is_page("bowob")){ bowob_config(); global $bowob_chat_id, $bowob_chat_onlyreg, $bowob_chat_name, $page_info, $page_perma; $current = get_option('active_plugins'); if(!in_array('bowob/bowob.php', $current)){ exit(); } $rooms_all = 0; $rooms_reg = 0; for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if($bowob_chat_onlyreg[$i]){ $rooms_reg++; } else{ $rooms_all++; } } if(!$rooms_all){ if(!$rooms_reg){ wp_redirect(get_bloginfo('url')."/index.php"); } else if($rooms_reg == 1){ if(get_query_var("bowob_id") == NULL){ wp_redirect(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=1"); } } } if($bowob_chat_onlyreg[get_query_var("bowob_id") - 1]){ // Only reg users $user = wp_get_current_user(); if(!$user->ID){ // Logued wp_redirect(get_bloginfo('url')."/wp-login.php"); exit(); } } else{ // All users require_once(ABSPATH.WPINC.'/registration.php'); if(get_query_var("bowob_step") == "1"){ if(@$_POST["user_login"] == ""){ wp_redirect(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".get_query_var("bowob_id")."/2" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".get_query_var("bowob_id")."&bowob_step=2"); exit(); } $_POST["user_login"] = sanitize_user($_POST["user_login"]); if(!validate_username($_POST["user_login"])){ wp_redirect(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".get_query_var("bowob_id")."/3" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".get_query_var("bowob_id")."&bowob_step=3"); exit(); } $user = wp_get_current_user(); if($user->ID){ // Logued if(strtolower($_POST["user_login"]) != strtolower($user->user_login)){ if(username_exists($_POST["user_login"])){ // Taken wp_redirect(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".get_query_var("bowob_id")."/4" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".get_query_var("bowob_id")."&bowob_step=4"); exit(); } } } else{ // Guest if(username_exists($_POST["user_login"])){ // Taken wp_redirect(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".get_query_var("bowob_id")."/4" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".get_query_var("bowob_id")."&bowob_step=4"); exit(); } } } else{ $bowob_username = ""; $user = wp_get_current_user(); if($user->ID){ $bowob_username = $user->user_login; } if(get_query_var("bowob_step") == 2){ $errors['user_login'] = __('<strong>ERROR</strong>: Please enter a username.'); } elseif(get_query_var("bowob_step") == 3){ $errors['user_login'] = __('<strong>ERROR</strong>: This username is invalid. Please enter a valid username.'); } elseif(get_query_var("bowob_step") == 4){ $errors['user_login'] = __('<strong>ERROR</strong>: This username is already registered, please choose another one.'); $errors['user_login'] .= '<br><a href="'.get_bloginfo('url').'/wp-login.php">'.__('Login').'</a>'; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> <head> <title><?php bloginfo('name'); ?> › <?php echo $title; ?></title> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <?php wp_admin_css( 'login', true ); wp_admin_css( 'colors-fresh', true ); ?> <script type="text/javascript"> function focusit() { document.getElementById('user_login').focus(); } window.onload = focusit; </script> </head> <body class="login"> <div id="login"><h1><a href="<?php echo apply_filters('login_headerurl', 'http://wordpress.org/'); ?>" title="<?php echo apply_filters('login_headertitle', __('Powered by WordPress')); ?>"><?php bloginfo('name'); ?></a></h1> <?php echo apply_filters('login_message', '<p class="message register">' . __('Chat') . '</p>') . "\n"; // Incase a plugin uses $error rather than the $errors array if ( !empty( $error ) ) { $errors['error'] = $error; unset($error); } if ( !empty( $errors ) ) { if ( is_array( $errors ) ) { $newerrors = "\n"; foreach ( $errors as $error ) $newerrors .= ' ' . $error . "<br />\n"; $errors = $newerrors; } echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div><br>\n"; } echo "<form name=\"bowob\" id=\"bowob\" action=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/1/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=1&bowob_step=1")."\" method=\"post\">"; if($rooms_all){ if($rooms_all == 1){ for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if(!$bowob_chat_onlyreg[$i]){ if(sizeof($bowob_chat_id) > 1){ echo $bowob_chat_name[$i]."\n"; } break; } } echo "<br><br><p>\n"; echo " <label>"; _e('Username:'); echo "<br />\n"; echo " <input type=\"text\" name=\"user_login\" id=\"user_login\" class=\"input\" value=\"".$bowob_username."\" size=\"20\" tabindex=\"10\" /></label>\n"; echo "</p>\n"; echo "<p class=\"submit\">\n"; echo " <input type=\"submit\" name=\"wp-submit\" id=\"wp-submit\" value=\"" . __('Chat') . "\" tabindex=\"100\" onclick=\"document.getElementById('bowob').action = '".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($i + 1)."/1" : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($i + 1)."&bowob_step=1")."';\" />\n"; echo "</p><br>\n"; } else{ $checked = false; for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if(!$bowob_chat_onlyreg[$i]){ echo "<label><input name=\"room\" value=\"".$i."\" class=\"form-radio\" type=\"radio\""; if(get_query_var("bowob_id") == ($i + 1) || !$checked){ echo " checked=\"checked\""; $checked = true; } echo "> ".$bowob_chat_name[$i]."</label><br>\n"; } } $submit_js = "for(var i = 0; i < document.getElementById('bowob').room.length; i++){"; $submit_js .= " if(document.getElementById('bowob').room[i].checked){"; if($page_perma){ $submit_js .= " document.getElementById('bowob').action = '".get_bloginfo('url')."/".$page_info["post_name"]."/' + (parseInt(document.getElementById('bowob').room[i].value) + 1) + '/1'"; } else{ $submit_js .= " document.getElementById('bowob').action = '".get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=' + (parseInt(document.getElementById('bowob').room[i].value) + 1) + '&bowob_step=1'"; } $submit_js .= " }"; $submit_js .= "}"; echo "<br><br><p>\n"; echo " <label>"; _e('Username:'); echo "<br />\n"; echo " <input type=\"text\" name=\"user_login\" id=\"user_login\" class=\"input\" value=\"".$bowob_username."\" size=\"20\" tabindex=\"10\" /></label>\n"; echo "</p>\n"; echo "<p class=\"submit\">\n"; echo " <input type=\"submit\" name=\"wp-submit\" id=\"wp-submit\" value=\"" . __('Chat') . "\" tabindex=\"100\" onclick=\"".$submit_js."\" />\n"; echo "</p><br>\n"; } } for($i = 0; $i < sizeof($bowob_chat_id); $i++){ if($bowob_chat_onlyreg[$i]){ echo "<br><a href=\"".(($page_perma) ? get_bloginfo('url')."/".$page_info["post_name"]."/".($i + 1) : get_bloginfo('url')."/?page_id=".$page_info["ID"]."&bowob_id=".($i + 1))."\" title=\"".$bowob_chat_name[$i]."\">".$bowob_chat_name[$i]."</a>"; } } ?> </form> <p id="nav"> <?php wp_loginout(); ?> <br> <?php if (get_option('users_can_register')) : ?> <a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=register"><?php _e('Register') ?></a> | <a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a> <?php else : ?> <a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword" title="<?php _e('Password Lost and Found') ?>"><?php _e('Lost your password?') ?></a> <?php endif; ?> <br><br><br>Plugin by <a href="http://www.bowob.com/" target="_blank">BoWoB Chat for Wordpress</a> </p> </div> <p id="backtoblog"><a href="<?php bloginfo('url'); ?>/" title="<?php _e('Are you lost?') ?>"><?php printf(__('« Back to %s'), get_bloginfo('title', 'display' )); ?></a></p> </body> </html> <?php exit(); } } } } function bowob_footer(){ echo "<br><center><span style=\"font-size: 10px\">Chat plugin by <a href=\"http://www.bowob.com/\" target=\"_blank\">BoWoB Chat for Wordpress</a></span></center>\n"; } function bowob_page(){ global $bowob_chat_id; global $bowob_chat_onlyreg; if($bowob_chat_onlyreg[get_query_var("bowob_id") - 1]){ // Only reg users $user = wp_get_current_user(); if($user->ID){ // Logued //CHAT REG $bowob_data = bowob_synchronize(1, $bowob_chat_id[get_query_var("bowob_id") - 1], $user->user_login, 0); bowob_show_chat($bowob_chat_id[get_query_var("bowob_id") - 1], $bowob_data[0], $bowob_data[1]); return; } return; } else{ // All users if(@$_POST["user_login"] == ""){ return; } $_POST["user_login"] = sanitize_user($_POST["user_login"]); if(!validate_username($_POST["user_login"])){ return; } $user = wp_get_current_user(); if($user->ID){ // Logued if(strtolower($_POST["user_login"]) == strtolower($user->user_login)){ //CHAT REG $bowob_data = bowob_synchronize(1, $bowob_chat_id[get_query_var("bowob_id") - 1], $user->user_login, 0); bowob_show_chat($bowob_chat_id[get_query_var("bowob_id") - 1], $bowob_data[0], $bowob_data[1]); return; } else{ if(username_exists($_POST["user_login"])){ // Taken return; } else{ //CHAT GUEST $bowob_data = bowob_synchronize(1, $bowob_chat_id[get_query_var("bowob_id") - 1], $_POST["user_login"], 1); bowob_show_chat($bowob_chat_id[get_query_var("bowob_id") - 1], $bowob_data[0], $bowob_data[1]); return; } } } else{ // Guest if(username_exists($_POST["user_login"])){ // Taken return; } else{ //CHAT GUEST $bowob_data = bowob_synchronize(1, $bowob_chat_id[get_query_var("bowob_id") - 1], $_POST["user_login"], 1); bowob_show_chat($bowob_chat_id[get_query_var("bowob_id") - 1], $bowob_data[0], $bowob_data[1]); return; } } } } function bowob_db_install(){ global $wpdb, $table_prefix; $charset_collate = ''; if(version_compare(mysql_get_server_info(), '4.1.0', '>=')){ if(!empty($wpdb->charset)){ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; } if(!empty($wpdb->collate)){ $charset_collate .= " COLLATE $wpdb->collate"; } } $wpdb->query("CREATE TABLE IF NOT EXISTS {$table_prefix}bowob ( bowob_id int(10) unsigned NOT NULL auto_increment, bowob_sync varchar(50) NOT NULL default '', bowob_time int(10) unsigned NOT NULL default '0', bowob_mode int(10) unsigned NOT NULL default '0', bowob_id_chat int(10) unsigned NOT NULL default '0', bowob_user varchar(50) NOT NULL default '', bowob_type int(10) unsigned NOT NULL default '0', PRIMARY KEY (`bowob_id`) ) ".$charset_collate); } function bowob_synchronize($bowob_mode, $bowob_id_chat, $bowob_user, $bowob_type){ $bowob_time = time(); $bowob_pattern = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; $bowob_sync = ""; for($bowob_i = 0; $bowob_i < 50; $bowob_i++){ $bowob_sync .= $bowob_pattern[rand(0, 61)]; } global $wpdb, $table_prefix; bowob_db_install(); $wpdb->query($wpdb->prepare("INSERT INTO {$table_prefix}bowob (bowob_sync,bowob_time,bowob_mode,bowob_id_chat,bowob_user,bowob_type) VALUES (%s,%d,%d,%d,%s,%d)", $bowob_sync ,$bowob_time , $bowob_mode, $bowob_id_chat, $bowob_user, $bowob_type)); $bowob_rs = $wpdb->get_results($wpdb->prepare("SELECT bowob_id,bowob_sync,bowob_user FROM {$table_prefix}bowob WHERE bowob_sync=%s AND bowob_time=%d AND bowob_mode=%d AND bowob_id_chat=%d AND bowob_user=%s AND bowob_type=%d", $bowob_sync, $bowob_time, $bowob_mode, $bowob_id_chat, $bowob_user, $bowob_type)); for($i = 0; $i < sizeof($bowob_rs); $i++){ if($bowob_rs[$i]->bowob_sync == $bowob_sync && $bowob_rs[$i]->bowob_user == $bowob_user){ // Upper Lower Case if($bowob_mode == 2){ header("location: http://www.bowob.com/chat.php?type=5&id_chat=".$bowob_id_chat."&id=".$bowob_rs[$i]->bowob_id."&sync=".$bowob_sync); exit(); } else{ $bowob_data = array($bowob_rs[$i]->bowob_id, $bowob_sync); return $bowob_data; } } } echo "BoWoB: db error"; exit(); } if(@$_GET["type"] == 2){ require_once('../../../wp-config.php'); if(!@is_numeric(@$_GET["id"]) || @$_GET["sync"] == ""){ echo "BoWoB: GET: no data received"; exit(); } global $wpdb, $table_prefix; bowob_db_install(); $wpdb->query("DELETE FROM {$table_prefix}bowob WHERE bowob_time<".(time() - 300)); $bowob_rs = $wpdb->get_results($wpdb->prepare("SELECT bowob_sync,bowob_mode,bowob_id_chat,bowob_user,bowob_type FROM {$table_prefix}bowob WHERE bowob_id=%d AND bowob_sync=%s", $_GET["id"], $_GET["sync"])); if(!$bowob_rs || $bowob_rs[0]->bowob_sync != $_GET["sync"]){ echo "BoWoB: GET: bad data received"; exit(); } $wpdb->query("DELETE FROM {$table_prefix}bowob WHERE bowob_id=".$_GET["id"]); header('Cache-Control: no-cache'); header('Content-Type: text/html; charset=utf-8'); echo utf8_encode("bowob_mode: ").$bowob_rs[0]->bowob_mode.utf8_encode("\n"); echo utf8_encode("bowob_id_chat: ").$bowob_rs[0]->bowob_id_chat.utf8_encode("\n"); echo utf8_encode("bowob_user: ").$bowob_rs[0]->bowob_user.utf8_encode("\n"); echo utf8_encode("bowob_type: ").$bowob_rs[0]->bowob_type.utf8_encode("\n"); } else{ global $wpdb; $bowob_page = $wpdb->get_row("SELECT * FROM {$table_prefix}posts WHERE post_name = 'bowob'", ARRAY_A); if($bowob_page["post_name"] != "bowob"){ $wpdb->query("INSERT INTO {$table_prefix}posts (post_author, post_date, post_date_gmt, post_content, post_title, post_category, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type) VALUES ('1', '1986-11-17 17:17:17', '1986-11-17 17:17:17', '[[BOWOB]]', 'Chat', '0', '', 'publish', 'closed', 'closed', '', 'bowob', '', '', '1986-11-17 17:17:17', '1986-11-17 17:17:17', '', '0', '', '0', 'page')"); } add_action("wp", "bowob_header"); add_action("widgets_init", "widget_bowob_init"); add_filter("the_content", "bowob_content"); add_filter("query_vars", "bowob_query_vars"); add_action("generate_rewrite_rules","bowob_rewrite_rules"); add_action("activate_bowob/bowob.php","bowob_activate"); add_action("deactivate_bowob/bowob.php","bowob_deactivate"); add_action("wp_footer","bowob_footer"); } function bowob_config(){ global $wpdb, $table_prefix, $wp_rewrite, $page_info, $page_perma; $page_info = $wpdb->get_row("SELECT * FROM {$table_prefix}posts WHERE post_name = 'bowob'", ARRAY_A); $page_perma = ($wp_rewrite->get_page_permastruct() == "") ? false : true; } function bowob_show_chat($id_chat, $id, $sync){ global $bowob_icones, $bowob_icones_path, $bowob_icones_button_path, $bowob_colours, $bowob_language_object, $bowob_language, $bowob_sounds_path, $bowob_sounds_volume, $bowob_format_bold, $bowob_format_underline, $bowob_format_italic, $bowob_format_colours, $bowob_format_icones; $output = "<br>\n"; $output .= "<center>\n"; $output .= "<DIV ID=\"bowob_a\"></DIV>\n"; $output .= "<DIV ID=\"bowob_b\"></DIV>\n"; $output .= "<SCRIPT LANGUAGE=\"javascript\">\n"; $output .= "bowob_icones = new Array();\n"; $output .= "bowob_icones_path = new Array();\n"; $output .= "bowob_colours = new Array(\"\");\n"; $output .= "bowob_language = new Object();\n"; $output .= "bowob_sounds = new Array();\n"; for($j = 0; $j < sizeof($bowob_icones); $j ++){ $output .= "bowob_icones[" . $j . "] = \"" . str_replace("\"", "\\\"", str_replace("\\", "\\\\", $bowob_icones[$j])) . "\";\n"; $output .= "bowob_icones_path[" . $j . "] = \"" . $bowob_icones_path[$j] . "\";\n"; } $output .= "bowob_icones_button = \"" . $bowob_icones_button_path . "\";\n"; for($j = 0; $j < sizeof($bowob_sounds_path); $j ++){ $output .= "bowob_sounds[" . $j . "] = \"" . $bowob_sounds_path[$j] . "\";\n"; } $output .= "bowob_sounds_volume = "; if($bowob_sounds_volume){ $output .= "2"; } else{ $output .= "0"; } $output .= ";\n"; for($j = 0; $j < sizeof($bowob_colours); $j ++){ $output .= "bowob_colours[" . ($j + 1) . "] = \"" . $bowob_colours[$j] . "\";\n"; } for($j = 0; $j < sizeof($bowob_language); $j ++){ $output .= "bowob_language." . $bowob_language_object[$j] . " = \"" . str_replace("\"", "\\\"", str_replace("\\", "\\\\", $bowob_language[$j])) . "\";\n"; } $output .= "bowob_format_bold = "; if($bowob_format_bold){ $output .= "true"; } else{ $output .= "false"; } $output .= ";\n"; $output .= "bowob_format_underline = "; if($bowob_format_underline){ $output .= "true"; } else{ $output .= "false"; } $output .= ";\n"; $output .= "bowob_format_italic = "; if($bowob_format_italic){ $output .= "true"; } else{ $output .= "false"; } $output .= ";\n"; $output .= "bowob_format_colours = "; if($bowob_format_colours){ $output .= "true"; } else{ $output .= "false"; } $output .= ";\n"; $output .= "bowob_format_icones = "; if($bowob_format_icones){ $output .= "true"; } else{ $output .= "false"; } $output .= ";\n"; $output .= "</SCRIPT>\n"; $output .= "<script type=\"text/javascript\" src=\"http://www.bowob.com/chat.php?type=1&id_chat=".$id_chat."&id=".$id."&sync=".$sync."\"></script>\n"; $output .= "<noscript>NOSCRIPT: This content requires JavaScript.</noscript>\n"; $output .= "</center>\n"; echo $output; } ?>
Was formerly in: Category:Appropedia site development Category:Appropedia communications