Affected_Rows(); } // Escape a string for database usage function bb2_db_escape($string) { include_once( PLOG_CLASS_PATH."class/database/db.class.php" ); return Db::qstr($string); } // Return the number of rows in a particular query. function bb2_db_num_rows($result) { return $result->RecordCount(); } // Run a query and return the results, if any. // Should return FALSE if an error occurred. function bb2_db_query($query) { include_once( PLOG_CLASS_PATH."class/database/db.class.php" ); $db =& Db::getDb(); $result = $db->Execute( $query ); if (!$result) return FALSE; return $result; } // Return all rows in a particular query. // Should contain an array of all rows generated by calling mysql_fetch_assoc() // or equivalent and appending the result of each call to an array. function bb2_db_rows($result) { $rows = array(); while( $row = $result->FetchRow()) { $rows[] = $row; } return $rows; } // Return emergency contact email address. function bb2_email() { return BB2_EMERGENCY_EMAIL; } // retrieve settings from lifetype config function bb2_read_settings() { include_once( PLOG_CLASS_PATH."class/database/db.class.php" ); include_once( PLOG_CLASS_PATH."class/config/config.class.php" ); $config =& Config::getConfig(); $prefix = Db::getPrefix(); $logTable = $config->getValue( 'bb2_log_table', BB2_DEFAULT_LOG_TABLE ); $displayStats = $config->getValue( 'bb2_display_stats', true ); $strict = $config->getValue( 'bb2_strict', false ); $verbose = $config->getValue( 'bb2_verbose', false ); $isInstalled = $config->getValue( 'bb2_installed', false ); return array('log_table' => $prefix . $logTable, 'display_stats' => $displayStats, 'strict' => $strict, 'verbose' => $verbose, 'is_installed' => $isInstalled ); } // write settings to lifetype config function bb2_write_settings($settings) { include_once( PLOG_CLASS_PATH."class/config/config.class.php" ); $config =& Config::getConfig(); $config->setValue( 'bb2_log_table', BB2_DEFAULT_LOG_TABLE ); $config->setValue( 'bb2_display_stats', $settings['display_stats'] ); $config->setValue( 'bb2_strict', $settings['strict'] ); $config->setValue( 'bb2_verbose', $settings['verbose'] ); $config->setValue( 'bb2_installed', $settings['is_installed'] ); $config->save(); } // installation function bb2_install() { $settings = bb2_read_settings(); if( $settings['is_installed'] == false ) { bb2_db_query(bb2_table_structure($settings['log_table'])); $settings['is_installed'] = true; bb2_write_settings( $settings ); } } // Return the top-level relative path of wherever we are (for cookies) function bb2_relative_path() { include_once( PLOG_CLASS_PATH."class/config/config.class.php" ); $config =& Config::getConfig(); $url = parse_url( $config->getValue( 'base_url' ) ); if( empty($url['path']) ) return '/'; else { if( substr( $url['path'], -1, 1 ) == '/' ) return $url['path']; else return $url['path'] . '/'; } } // Load Bad Behavior Core require_once(BB2_CWD . "bad-behavior/core.inc.php"); bb2_install(); $settings = bb2_read_settings(); bb2_start($settings); // Time Stop $bb2_mtime = explode(" ", microtime()); $bb2_timer_stop = $bb2_mtime[1] + $bb2_mtime[0]; $bb2_timer_total = $bb2_timer_stop - $bb2_timer_start; ?>