diff options
author | thirdid <thirdid@c5b2fb0a-d05d-0410-98c8-828840a80ff6> | 2010-01-26 22:40:33 -0500 |
---|---|---|
committer | thirdid <thirdid@c5b2fb0a-d05d-0410-98c8-828840a80ff6> | 2010-01-26 22:40:33 -0500 |
commit | 88d5d2af84cde0ce1107551fd2a61455e493b7c8 (patch) | |
tree | 3b728a2a0de423e1097dc53317658f43704e8399 /includes | |
parent | 3dfd48f1219caddf6b3bbf7e463b06648364d338 (diff) | |
download | bayonetcms-88d5d2af84cde0ce1107551fd2a61455e493b7c8.tar.gz |
Changing directory 'includes' -> 'include'
git-svn-id: http://svn.3rd-infantry-division.org/testing/branches/Bayonet CMS v2.1@465 c5b2fb0a-d05d-0410-98c8-828840a80ff6
Diffstat (limited to 'includes')
-rw-r--r-- | includes/classes.php | 131 | ||||
-rw-r--r-- | includes/debug.php | 225 | ||||
-rw-r--r-- | includes/functions.php | 647 | ||||
-rw-r--r-- | includes/sql.class.php | 167 |
4 files changed, 0 insertions, 1170 deletions
diff --git a/includes/classes.php b/includes/classes.php deleted file mode 100644 index 0042c95..0000000 --- a/includes/classes.php +++ /dev/null @@ -1,131 +0,0 @@ -<?php
-
-define('PASSWORD', true);
-define('NO_PASSWORD', false);
-define('CHECKED', true);
-
-class BayonetForm
-{
- static public $request;
-
- public function __construct($action, $method)
- {
- $this->request = $_POST;
- echo "<form action=\"$action\" method=\"$method\">\n";
- }
-
- public function __destruct()
- {
- echo "</form>\n";
- }
-
- function getKeyStates($keys)
- {
- $good = array();
- $bad = array();
-
- if(!is_array($keys))
- return array();
-
- foreach($keys as $key => $value)
- {
- if(!empty($value))
- $good[$key] = $value;
- else
- $bad[$key] = $value;
- }
-
- $data = array(
- 'set' => $good,
- 'unset' => $bad
- );
-
- return $data;
- }
-
- function verify($submit_key)
- {
- return $this->verifySubmit($submit_key);
- }
-
- function verifySubmit($submit_key)
- {
- return isset($this->request[$submit_key]) ? true : false;
- }
-
- function button($extern_name, $value, $text = "Button")
- {
- echo "<button name=\"{$extern_name}\" value=\"{$value}\">{$text}</button>\n";
- }
-
- function submitButton($extern_name, $value = "Submit")
- {
- echo "<input type=\"submit\" name=\"{$extern_name}\" value=\"{$value}\" />\n";
- }
-
- function reset($value = "Reset")
- {
- echo "<input type=\"reset\" value=\"{$value}\" />\n";
- }
-
- function textField($extern_name, $value = NULL, $isPassword = false, $size = NULL, $max = NULL)
- {
- $type = 'text';
- if($isPassword) $type = 'password';
-
- $value = filter_var($value, FILTER_SANITIZE_STRING);
- echo "<input type=\"{$type}\" name=\"{$extern_name}\" value=\"$value\" size=\"{$size}\" maxLength=\"{$max}\" />\n";
- }
-
- function radioButton($extern_name, $value, $isChecked = false)
- {
- if($isChecked)
- {
- echo "<input type=\"radio\" name=\"{$extern_name}\" value=\"$value\" checked=\"checked\"/>\n";
- }
- else
- {
- echo "<input type=\"radio\" name=\"{$extern_name}\" value=\"$value\" />\n";
- }
- }
-
- function checkBox($extern_name, $value, $isChecked = false)
- {
- if($isChecked)
- {
- echo "<input type=\"checkbox\" name=\"{$extern_name}\" value=\"$value\" checked=\"checked\"/>\n";
- }
- else
- {
- echo "<input type=\"checkbox\" name=\"{$extern_name}\" value=\"$value\" />\n";
- }
- }
-
- function dropDown($extern_name, $values = array('None'), $select = NULL)
- {
- $selectIterator = 1;
-
- echo "<select name=\"{$extern_name}\">\n";
- foreach($values as $option => $text)
- {
- if(!is_null($select) && $selectIterator !== (int)$select)
- {
- echo "<option value=\"{$option}\">{$text}</option>\n";
- }
- else
- {
- echo "<option value=\"{$option}\" selected=\"selected\">{$text}</option>\n";
- }
- $selectIterator++;
- }
- echo "</select>\n";
- }
-
- function textArea($extern_name, $rows = 10, $cols = 30, $value = NULL)
- {
- $value = filter_var($value, FILTER_SANITIZE_STRING);
- echo "<textarea name=\"{$extern_name}\" rows=\"$rows\" cols=\"$cols\">{$value}</textarea>\n";
- }
-}
-
-?>
\ No newline at end of file diff --git a/includes/debug.php b/includes/debug.php deleted file mode 100644 index 29f4195..0000000 --- a/includes/debug.php +++ /dev/null @@ -1,225 +0,0 @@ -<?php -/** - * Bayonet Content Management System - * Copyright (C) 2008 Joseph Hunkeler - * - * 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -define("RUDI_DEBUG",true); -define("RUDI_DEBUG_LEVEL",true); -define('NO_REPEAT',false); -define('REPEAT',true); -define('FORCE', true); - -static $last_message = NULL; -static $last_message_count = 0; - -static $log_message_last = NULL; -static $log_message_queue = array(); -static $log_message_pos = 0; - -function decho($message, $force = false) -{ - global $log_message_last, $log_message_queue, $log_message_pos, $config; - - if($force == false) - { - if($config['debug']['enabled'] == false || - $config['debug']['show_messages'] == false) return; - } - - - date_default_timezone_set($config['logs']['timezone']); - $timestamp = date('H:i:s T'); - if(!is_array($message) && !is_object($message)) - $message = "[$timestamp]: $message"; - else - { - $message = $message; - } - - //if(count($log_message_queue) >= 100) - // array_pop($log_message_queue); - - array_push($log_message_queue, $message); - - $log_message_pos++; -} - -function queuePrint($obj, $force = false) -{ - global $config; - - if($force == false) - { - if($config['debug']['enabled'] == false || - $config['debug']['show_messages'] == false) return; - } - - if(is_array($obj)) - { - $array_dump = print_r($obj,true); - if(empty($obj)) - { - echo "Array was empty<br />\n"; - return; - } - echo "<pre>" . $array_dump . "</pre><br/>\n"; - //WriteLog($array_dump,BAYONET_LOG_INFO); - } - elseif(is_object($obj)) - { - ob_start(); - var_dump($obj); - $obj_dump = ob_get_contents(); - ob_end_clean(); - //htmlentities($obj_dump,ENT_QUOTES); - //WriteLog($obj_dump,BAYONET_LOG_INFO); - echo "<pre>" . $obj_dump . "</pre><br/>\n"; - } - elseif(is_string($obj)) - { - $message = wordwrap($obj,80,'<br />'); - echo $obj . "<br/>\n"; - //WriteLog($message,BAYONET_LOG_INFO); - } - else - { - echo "queuePrint: Invalid type of " . gettype($obj) . "<br/>\n"; - } -} - -function logQueueFlush($force = false) -{ - error_reporting(0); - global $log_message_queue, $config; - - if($force == false) - { - if($config['debug']['show_messages'] == false) return; - } - - $messageCount = 0; - static $log_message_last_count = 0; - static $next = false; - - OpenContent(); - echo "<div class=\"contentHeading\">Bayonet Debug Messages</div>"; - echo "<div class=\"content\">"; - - if(count($log_message_queue) < 1) - { - echo "<p>No messages</p>"; - echo "</div></div>"; - return false; - } - - echo "<b>" . count($log_message_queue) . " messages received.</b><br/><br/>\n"; - foreach($log_message_queue as $message) - { - if($message != $log_message_queue[$messageCount - 1]) - { - if($force) - queuePrint($message, true); - else - queuePrint($message); - } - elseif($message == $log_message_queue[$messageCount - 1]) - { - $log_message_last_count++; - if($config['debug']['repeat_messages'] == true) - { - //echo "{$messageCount}: $message<br/>\n"; - if($force) - queuePrint($message,true); - else - queuePrint($message); - } - if($config['debug']['repeat_messages'] == false) - { - if($log_message_queue[$messageCount + 1] != $message) - { - $next = true; - } - } - - } - - if($next == true) - { - queuePrint("<b>Last message recieved $log_message_last_count times</b><br/>\n"); - $log_message_last_count = 0; - $next = false; - } - - ++$messageCount; - } - - echo "</div>"; - CloseContent(); - error_reporting(1); -} - -/* -function decho($message, $flag = REPEAT) -{ - global $last_message, $last_message_count; - if($last_message == $message) - { - if($flag == NO_REPEAT) - ++$last_message_count; - else - $last_message_count = $last_message_count; - return; - } - elseif($last_message != $message) - { - if($last_message_count > 0 && !is_array($last_message) && !is_object($last_message)) - { - WriteLog("Receieved previous message <b>$last_message_count</b> times\n",BAYONET_LOG_INFO); - } - else - { - if(is_array($message)) - { - $array_dump = print_r($message,true); - WriteLog($array_dump,BAYONET_LOG_INFO); - } - elseif(is_object($message)) - { - ob_start(); - var_dump($message); - $obj_dump = ob_get_contents(); - ob_end_clean(); - //htmlentities($obj_dump,ENT_QUOTES); - WriteLog($obj_dump,BAYONET_LOG_INFO); - } - elseif(is_string($message)) - { - $message = wordwrap($message,80,'<br />'); - WriteLog($message,BAYONET_LOG_INFO); - } - } - - $last_message_count = 0; - } - - $last_message = $message; - -} -*/ - - -?>
\ No newline at end of file diff --git a/includes/functions.php b/includes/functions.php deleted file mode 100644 index 3f1c3d2..0000000 --- a/includes/functions.php +++ /dev/null @@ -1,647 +0,0 @@ -<?php -/** - * Bayonet Content Management System - * Copyright (C) 2008 Joseph Hunkeler - * - * 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -/** - * bbcode_format() - * - * Modified public domain code from www.phpit.net - * - * @param mixed $str - * @return - */ - -include_once 'classes.php'; - -function bbcode_format ($str) -{ - $str = htmlentities($str); - $str = strip_tags($str); - //$str = wordwrap($str,100,"\n",true); - - $simple_search = array( - '/\[b\](.*?)\[\/b\]/is', - '/\[i\](.*?)\[\/i\]/is', - '/\[u\](.*?)\[\/u\]/is', - '/\[s\](.+?)\[\/s\]/is', - '/\[hr\]/is', - '/\[pi\](.*?)\[\/pi\]/is', - '/\[title\](.*?)\[\/title\]/is', - '/\[article\](.*?)\[\/article\]/is', - '/\[section\](.*?)\[\/section\]/is', - '/\[code\](.*?)\[\/code\]/is', - '/\[quote\](.*?)\[\/quote\]/is', - '/\[quote\=(.*?)\](.*?)\[\/quote\]/is', - '/\[url\](.*?)\[\/url\]/is', - '/\[url\=(.*?)\](.*?)\[\/url\]/is', - '/\[align\=(.*?)\](.*?)\[\/align\]/is', - '/\[size\=(.*?)\](.*?)\[\/size\]/is', - '/\[img\=(.*?)\](.*?)\[\/img\]/is', - '/\[img align\=(.+?)\](.+?)\[\/img\]/is', - '/\[mail\](.*?)\[\/mail\]/is', - '/\[mail\=(.*?)\](.*?)\[\/mail\]/is', - '/\[list\](.*?)\[\/list\]/is' - ); - - $simple_replace = array( - '<strong>$1</strong>', - '<em>$1</em>', - '<u>$1</u>', - '<span class="strikethrough">$1</span>', - '<hr>', - '<p style="text-indent:3em;">$1</p>', - '<h2>$1</h2>', - '<h3>$1</h3>', - '<h4>$1</h4>', - '<blockquote><pre>$1</pre></blockquote>', - '<blockquote>$1</blockquote>', - '<i>$1 wrote:</i><br/><blockquote>$2</blockquote>', - '<a href="$1">$1</a>', - '<a href="$1">$2</a>', - '<div style="text-align: $1">$2</align>', - '<font style="font-size:$1px;">$2</font>', - '<img src="$1" alt="$2"/>', - '<img src=\"$2\" align=\"$1\" />', - '<a href="mailto:$1">$1</a>', - '<a href="mailto:$1">$2</a>', - '<li style="list-style-position: inside; padding:10px">$1</li>' - ); - - $str = preg_replace ($simple_search, $simple_replace, $str); - $str = nl2br($str); - return $str; -} - -/** - * BBcode 2 HTML was written by WAY2WEB.net - */ -function BBCode($Text) - { - // Replace any html brackets with HTML Entities to prevent executing HTML or script - // Don't use strip_tags here because it breaks [url] search by replacing & with amp - $Text = str_replace("<", "<", $Text); - $Text = str_replace(">", ">", $Text); - - // Convert new line chars to html <br /> tags - $Text = nl2br($Text); - - // Set up the parameters for a URL search string - $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'"; - // Set up the parameters for a MAIL search string - $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@"; - - // Perform URL Search - $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="$1" target="_blank">$1</a>', $Text); - $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text); - //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text); - - // Perform MAIL Search - $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text); - $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text); - - // Check for bold text - $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text); - - // Check for Italics text - $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<span class="italics">$1</span>',$Text); - - // Check for Underline text - $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<span class="underline">$1</span>',$Text); - - // Check for strike-through text - $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<span class="strikethrough">$1</span>',$Text); - - // Check for over-line text - $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<span class="overline">$1</span>',$Text); - - // Check for colored text - $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text); - - // Check for sized text - $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text); - - // Check for list text - $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text); - $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text); - $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text); - $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text); - $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text); - $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text); - $Text = str_replace("[*]", "<li>", $Text); - - // Check for font change text - $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text); - - // Declare the format for [code] layout - $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> - <tr> - <td class="quotecodeheader"> Code:</td> - </tr> - <tr> - <td class="codebody">$1</td> - </tr> - </table>'; - // Check for [code] text - $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text); - // Declare the format for [php] layout - $phpLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> - <tr> - <td class="quotecodeheader"> Code:</td> - </tr> - <tr> - <td class="codebody">$1</td> - </tr> - </table>'; - // Check for [php] text - $Text = preg_replace("/\[php\](.+?)\[\/php\]/is",$phpLayout, $Text); - - // Declare the format for [quote] layout - $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> - <tr> - <td class="quotecodeheader"> Quote:</td> - </tr> - <tr> - <td class="quotebody">$1</td> - </tr> - </table>'; - - // Check for [quote] text - $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text); - - // Images - // [img]pathtoimage[/img] - $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1" />', $Text); - - //[img=align]image source[/img] - $Text = preg_replace("(\[img align\=(.+?)\](.+?)\[\/img\])is","<img src=\"$2\" align=\"$1\" />",$Text); - - // [img=widthxheight]image source[/img] - $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1" />', $Text); - - // Alignment - // [align=type]text[/align] - $Text = preg_replace("(\[align=(.+?)\](.+?)\[\/align\])is","<div style=\"text-align: $1\">$2</div>",$Text); - - return $Text; - } - -function articleHeading($text){ - - // Set the content-type - header('Content-type: image/png'); - - //$text = $_GET['text']; - - $im = imagecreatefrompng('images/news_header.png'); // open image - imagealphablending($im, true); // setting alpha blending on - imagesavealpha($im, true); // save alphablending setting (important) - - // Create some colors - $black = imagecolorallocate($im, 0, 0, 0); - - - // Replace path by your own font path - //$font = 'TrajanPro-Regular.otf'; - //$font = 'TrajanPro-Bold.otf'; - $font = 'BrushScriptStd.otf'; - //$font = 'TRATS__.TTF'; - //$text = strtoupper($text); - - // Add the text - imagettftext($im, 18, 0, 0, 17, $black, $font, $text); - - // Using imagepng() results in clearer text compared with imagejpeg() - imagepng($im); - imagedestroy($im); -} - -function LinkList($array) -{ - if(!is_array($array)) - { - ReportError("List was not an array"); - return; - } - - echo "<ul class=\"block\">"; - foreach($array as $text => $link) - { - echo "<li><a href=\"$link\">$text</a></li>"; - } - echo "</ul>"; -} - -/** - * LinkModule() - * - * Helper function to link to Bayonet modules. - * - * @param mixed $module_name - * @param mixed $link_name - * @return - */ -function LinkModule($module_name,$args = NULL,$link_name) -{ - - return "<a href=\"index.php?load={$module_name}{$args}\">{$link_name}</a>"; -} - -/** - * LinkModuleFile() - * - * Helper function to link to Bayonet internal module files. - * - * @param mixed $module_name - * @param mixed $link_name - * @return - */ - function LinkModuleFile($module_name, $file_name, $link_name) - { - return "<a href=\"?load={$module_name}&file={$file_name}\">{$link_name}</a>"; - } - -/** - * LinkPage() - * - * Helper function to link to Bayonet pages. - * - * @param mixed $page_id - * @param mixed $page_name - * @return - */ -function LinkPage($page_id,$page_name) -{ - return "<a href=\"?load=page&id={$page_id}\">{$page_name}</a>"; -} - -/** - * LinkInternal() - * - * Helper function to link to a relative Bayonet path. - * - * @param mixed $name - * @param string $rel_path - * @param string $file - * @return - */ -function LinkInternal($name,$file,$rel_path = "./") -{ - return "<a href=\"{$rel_path}{$file}\">{$name}</a>"; -} - -if(!defined("CALLED_FROM_ADMIN")) -{ - /** - * OpenTable() - * Begins a Bayonet site table. - * @return - */ - function OpenTable($width = "100%") - { - //width="100%" is important. Otherwise all of our tables will be text width. - echo "<table width=\"{$width}\" align=\"center\">\n"; - } - - /** - * CloseTable() - * Closes a Bayonet site table. - * @return - */ - function CloseTable() - { - echo "</table>"; - } - - /** - * OpenContent() - * Begins a Bayonet site table. - * @return - */ - function OpenContent() - { - echo "<div class=\"contentBorder1\">"; - echo "<div class=\"contentBorder2\">"; - } - - /** - * CloseContent() - * Closes a Bayonet site table. - * @return - */ - function CloseContent() - { - echo "</div>"; - echo "</div>"; - } -} - -function OpenBlock($title = 'New Block') -{ - OpenContent(); - echo "<div class=\"contentHeading\">{$title}</div>"; - echo "<div class=\"content\">"; -} - -function CloseBlock() -{ - echo "</div>"; - CloseContent(); -} - -static $error_stack_messages = array(); //global stack of errors accumulated throughout execution -function push_error_stack($message) -{ - global $error_stack_messages; - - if(count($error_stack_messages) >= 100) - array_pop($error_stack_messages); - - array_push($error_stack_messages, $message); -} - -function fatal_error_handler($buffer) { - if (ereg("(error</b>:)(.+)(<br)", $buffer, $regs) ) { - $err = preg_replace("/<.*?>/","",$regs[2]); - //ReportError($err); - } - return $buffer; -} - -function handle_error ($errno, $errstr, $errfile, $errline) -{ - //decho("<b>Warning:</b> $errfile:$errline, $errstr"); - push_error_stack("<b>Error Number:</b> $errno<br/><b>Error:</b> $errstr<br/><b>In File:</b> $errfile<br/><b>Line:</b> $errline"); - if($errno == FATAL || $errno == ERROR){ - push_error_stack($errstr); - ob_end_flush(); - exit(0); - } -} - -/** - * ReportError() - * - * This function should be called in the event that an error has occured. - * - * @param mixed $message - automatically logged - * @return - */ -function ReportError($message) -{ - //WriteLog($message,BAYONET_LOG_ERROR); - OpenContent(); - echo "<div class=\"contentHeading\">Error Message</div><div class=\"content\">{$message}</div>"; - CloseContent(); -} - -/** - * ReportHack() - * - * This function should be called in the event that we are confirming - * a hacking attempt. - * - * @param mixed $message - automatically logged - * @return void - */ -function ReportHack($message) -{ - //WriteLog($message,BAYONET_LOG_HACK); - OpenContent(); - echo "<div class=\"contentHeading\">Hacking Attempt</div><div class=\"content\">{$message}</div>"; - CloseContent(); -} - -/** - * PageRedirect() - * - * performs an http redirect - * - * @param $delay - * @param $link - */ -function PageRedirect($delay, $link) -{ - echo "<meta http-equiv=\"Refresh\" content=\"{$delay};url={$link}\">"; -} - - -/** - * array_dump() - * - * Useful against $_POST and $_GET variables, for dumping data to - * a log file, or to stdout. The return value is a single string, - * with each array key => value pair delimited by a character. - * The default character is a pipe -> '|'. It is assumed that if - * wanted to have a newline character inserted, just replace $spacer - * with '\n'. - * - * @param mixed $array - * @param string $spacer - * @return - */ -function array_dump($array, $spacer = '|') -{ - $retval = NULL; - foreach($array as $challenge => $answer) - { - $retval .= " $challenge => $answer " . $spacer; - } - - return $retval; -} - -/** - * WriteLog() - * - * This function can be accessed directly, however, anything that is - * passed to ReportError() or ReportHack(), or decho() will be logged in their - * appropriate log file. - * - * Change made: added checks to see if the log files exist before opening - * - * @param mixed $message - * @param mixed $flag - * @return - */ -define('BAYONET_LOG_HACK','bayonet_log_hack'); -define('BAYONET_LOG_ERROR','bayonet_log_error'); -define('BAYONET_LOG_WARN','bayonet_log_warn'); -define('BAYONET_LOG_INFO','bayonet_log_info'); - -function WriteLogBayonet($message,$flag) -{ - global $config; - $enabled = $config['logs']['enabled']; - - if(!$enabled) - { - return false; - } - - $dir = $config['logs']['dir']; - date_default_timezone_set($config['logs']['timezone']); - $varstr = array_dump($_GET); - $type = NULL; - $ip = $_SERVER['REMOTE_ADDR']; - $hostname = gethostbyaddr($ip); - $executed = $_SERVER['PHP_SELF']; - $timestamp = date('Y-M-d H:i:s T'); - - - $message = str_replace("\n",'',$message); - $message = str_replace("<br>",'',$message); - - switch($flag) - { - case BAYONET_LOG_HACK: - if(!file_exists($dir.'hacks.log')){ - break; - } - $fp = fopen($dir.'hacks.log','a'); - $type = 'HACK'; - $full_message = "TIMESTAMP: {$timestamp}\n\t\tIP: {$ip}\n\t\tHOSTNAME: {$hostname}\n\t\tACTION: {$type} of {$executed}\n\t\tDEFERRAL: {$message}\n\t\tVAR: ({$varstr})\n\n"; - break; - case BAYONET_LOG_ERROR: - if(!file_exists($dir.'error.log')){ - break; - } - $fp = fopen($dir.'error.log','a'); - $type = 'ERROR'; - $full_message = "({$timestamp}) - {$type} - {$message} - ({$varstr})\n"; - break; - case BAYONET_LOG_WARN: - if(!file_exists($dir.'warn.log')){ - break; - } - $fp = fopen($dir.'warn.log','a'); - $type = 'WARN'; - $full_message = "({$timestamp}) - {$type} - {$message} - ({$varstr})\n"; - break; - case BAYONET_LOG_INFO: - if(!file_exists($dir.'info.log')){ - break; - } - $fp = fopen($dir.'info.log','a'); - $type = 'INFO'; - $full_message = "({$timestamp}) - {$type} - {$message}\n"; - break; - default: - echo 'To log something, you need to define a log to write to.<br>'; - return; - } - if(file_exists($fp)){ - fwrite($fp,$full_message); - fclose($fp); - }else{ - //echo "could not write to file because file does not exist.<br />"; - } -} - -/** - * UnderConstruction() - * - * Displays a site-wide message across the page header. - * - * @param mixed $message - * @param mixed $flag Acceptable flags are BAYONET_SITE, and BAYONET_SECTION - * @return - */ -define('BAYONET_SITE','bayonet_site'); -define('BAYONET_SECTION','bayonet_section'); -function UnderConstruction($message = NULL, $flag = BAYONET_SITE) -{ - $timestamp = date("Y-M-d h:m:s"); - OpenTable(); - switch($flag) - { - case BAYONET_SITE: - echo "<tr><th>Site is currently under construction : $timestamp</th></tr>"; - break; - case BAYONET_SECTION: - echo "<tr><th>Section currently under construction : $timestamp</th></tr>"; - } - - if(!is_null($message)) - { - echo "<tr><td><i>$message</i></td></tr>"; - } - - CloseTable(); - echo "<br>"; -} - -/** - * valid_result() - * - * Determine if a mysqli result is valid. - * Can be used on normal objects to check if they are empty. - * - * @param mixed $p_result - * @return - */ -function valid_result($p_result) -{ - if(is_object($p_result) && count($p_result) <= 1) - return false; - else - return true; -} - -/** - * GetBlocks() - * - * Includes all directories listed in blocks/ and uses the bayonet_blocks - * MySQL table to determine the order of the blocks displayed. - * - * @return - */ - -define('BLOCK_LEFT', 0); -define('BLOCK_RIGHT', 1); - -function GetBlocks($position = BLOCK_LEFT) -{ - global $config; - global $db; - - $query = sprintf("SELECT block_id, active, weight, position, dir_name, title FROM bayonet_blocks WHERE active = 1 AND position = %d ORDER BY weight", (int)$position); - $result = $db->Query($query); - - - - $blocks = $db->Fetch($result); - if(empty($blocks)) return; - - foreach($blocks as $block) - { - $load = 'blocks/'.$block['dir_name'].'/index.php'; - if(file_exists($load)) - { - OpenBlock($block['title']); - include_once $load; - CloseBlock(); - decho("'{$block['dir_name']}' block loaded"); - } - else - { - ReportError("Failed to load block, '{$block['dir_name']}'. Check block config."); - } - if($config['blocks']['spacer']) echo "<br />"; - } -} -?>
\ No newline at end of file diff --git a/includes/sql.class.php b/includes/sql.class.php deleted file mode 100644 index c32de63..0000000 --- a/includes/sql.class.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php -/** - * Bayonet Content Management System - * Copyright (C) 2008 Joseph Hunkeler - * - * 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -static $db_queries = 0; -static $db_connections = 0; -static $db_frees = 0; -static $db_fetches = 0; - -class Bayonet_SQL -{ - protected $hostname; - public function Connect($hostname, $username, $passwd) - { - global $db_connections; - $db_connections++; - - $this->hostname = $hostname; - - decho("Connecting ('$hostname')"); - return ($GLOBALS['___mysqli_ston'] = mysqli_connect($hostname, $username, $passwd)); - } - - public function Disconnect($link) - { - decho("Disconnecting ('$link' from '$this->hostname')"); - return mysqli_close($GLOBALS['___mysqli_ston']); - } - - public function Stat() - { - return mysqli_stat($GLOBALS['___mysqli_ston']); - } - - public function Select_db($db) - { - decho("Selecting database ('$db')"); - return mysqli_select_db($GLOBALS['___mysqli_ston'], $db); - } - - private function validResult($p_result) - { - if($this->Rows($p_result) > 0) - return true; - else - return false; - } - - public function Query($str) - { - global $db_queries; - $db_queries++; - return mysqli_query($GLOBALS['___mysqli_ston'], $str); - } - - public function Free($result) - { - global $db_frees; - $db_frees++; - @((mysqli_free_result($result) || (is_object($result) && (get_class($result) == "mysqli_result"))) ? true : false); - } - - public function Fetch($result) - { - return $this->FetchArray($result); - } - - public function FetchArray($p_result) - { - global $db_fetches; - $db_fetches++; - decho('Fetching result'); - - if(!$this->validResult($p_result)) - { - decho('Result was not valid.'); - return array(); - } - - while ($row = mysqli_fetch_array($p_result, MYSQLI_ASSOC)) - { - $result[] = $row; - } - $this->Free($p_result); - - return is_array($result) ? $result : array(); - } - - public function FetchObject($p_result, $class, $no_array = false) - { - global $db_fetches; - $db_fetches++; - - decho("Fetching object result"); - - if(!$this->validResult($p_result)) - { - decho('Result was not valid.'); - return (object)array(); - } - - while ($row = mysqli_fetch_object($p_result, $class)) - { - if($no_array == true) - (object)$result = $row; - else - (object)$result[] = $row; - } - - $this->Free($p_result); - - // TODO: Test for objects inside of $result array - if($no_array == true) { return is_object($result) ? $result : (object)$nothing; } - return is_array($result) ? $result : (object)array(); - } - - public function FetchAssoc($result) - { - return $this->FetchArray($result); - } - - public function FetchRow($p_result) - { - global $db_fetches; - $db_fetches++; - - decho("Fetching single row"); - - if(!$this->validResult($p_result)) - { - decho('Result was not valid.'); - return array(); - } - - while ($row = mysqli_fetch_assoc($p_result)) { - $result = $row; - } - - $this->Free($p_result); - - return is_array($result) ? $result : array(); - } - - public function Rows($result) - { - decho("Fetching number of rows"); - - return mysqli_num_rows($result); - } -} - -?> |