0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
lifetype
/
1.2.11-2
/
standard
/
htdocs
/
plugins
/
badbehavior
/
[
Home
]
File: index.inc.php
<?php /* http://blog.markplace.net Bad Behavior - LifeType Plugin Copyright (C) 2006 Mark Wu http://blog.markplace.net This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ // This file is the entry point for Bad Behavior in LifeType. if (!defined('PLOG_CLASS_PATH')) die('No cheating!'); // Timer start $bb2_mtime = explode(" ", microtime()); $bb2_timer_start = $bb2_mtime[1] + $bb2_mtime[0]; define('BB2_CWD', PLOG_CLASS_PATH . "plugins/badbehavior/" ); define('BB2_EMERGENCY_EMAIL', "admin@yourblog.com" ); define('BB2_DEFAULT_LOG_TABLE', "bad_behavior" ); // Bad Behavior callback functions. // Return current time in the format preferred by your database. function bb2_db_date() { return gmdate('Y-m-d H:i:s'); } // Return affected rows from most recent query. function bb2_db_affected_rows() { lt_include( PLOG_CLASS_PATH."class/database/db.class.php" ); $db =& Db::getDb(); return $db->Affected_Rows(); } // Escape a string for database usage function bb2_db_escape($string) { lt_include( 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) { lt_include( 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() { lt_include( PLOG_CLASS_PATH."class/database/db.class.php" ); lt_include( 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 ); $logging = $config->getValue( 'bb2_logging', true ); $httpbl_key = $config->getValue( 'bb2_httpbl_key', '' ); $httpbl_threat = $config->getValue( 'bb2_httpbl_threat', '25' ); $httpbl_maxage = $config->getValue( 'bb2_httpbl_maxage', '30' ); return array('log_table' => $prefix . $logTable, 'display_stats' => $displayStats, 'strict' => $strict, 'verbose' => $verbose, 'logging' => $logging, 'httpbl_key' => $httpbl_key, 'httpbl_threat' => $httpbl_threat, 'httpbl_maxage' => $httpbl_maxage, 'is_installed' => $isInstalled ); } // write settings to lifetype config function bb2_write_settings($settings) { lt_include( 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_httpbl_key', $settings['httpbl_key'] ); $config->setValue( 'bb2_httpbl_threat', $settings['httpbl_threat'] ); $config->setValue( 'bb2_httpbl_maxage', $settings['httpbl_maxage'] ); $config->setValue( 'bb2_installed', $settings['is_installed'] ); $config->save(); } // installation function bb2_install() { $settings = bb2_read_settings(); if( $settings['is_installed'] == false && $settings['logging'] ) { 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() { lt_include( 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 lt_include(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; ?>