Редакция 20 | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS
<?php
/**
* KBase
* http://alex-w.org.ru/p/kbase/
*
* Copyright (c) 2009 Alexander Wolf
* Dual licensed under the MIT and GNU LGPL licenses.
* http://alex-w.org.ru/p/kbase/license
*
*/
class Core {
function __construct() {}
/* Get page ID
* @param $URL - page URL
* @access public
* @return PageID (int)
*/
function getPageID($pageURL) {
global $db;
$URL = parse_url($pageURL);
if (stripos("html",$URL)==0) {
$URL .= "index.html";
}
$pageName = basename($URL["path"], ".html");
$request =& $db->query("SELECT page_id FROM pages WHERE page_url='$pageName'");
if ($request->numRows()==0) {
return 0;
} else {
$request->fetchInto($get);
return $get["page_id"];
}
}
/* Get page
* @param $ID - page ID
* @access public
* @return PageInfo (array)
* PageInfo[ErrMsg] - Error message
* PageInfo[Title] - Page title
* PageInfo[Create] - Page created date
* PageInfo[FullText] - Page story
* PageInfo[ShortText] - Page short story
* PageInfo[OwnerID] - ID page owner
* PageInfo[EditorID] - ID page editor
*/
function getPage($pageID) {
global $db;
$result = array();
$request =& $db->query("SELECT * FROM pages WHERE page_id='$pageID'");
if ($request->numRows()!=0) {
$request->fetchInto($get);
$result["ErrMsg"]="OK";
$result["Title"] = stripslashes($get["page_title"]);
$result["Create"] = $get["page_create"];
$result["FullText"] = stripslashes($get["page_text"]);
$result["ShortText"] = stripslashes($get["page_short"]);
$result["OwnerID"] = $get["page_owner"];
$result["EditorID"] = $get["page_editor"];
} else {
$result["ErrMsg"]="Not Found";
}
return $result;
}
/* Get page revision
* @param $ID - page ID
* $revision - page number of revision
* @access public
* @return RevisionInfo (array)
* RevisionInfo[ErrMsg] - Error message
* RevisionInfo[Title] - Page revision title
* RevisionInfo[Create] - Revision created date
* RevisionInfo[ShortText] - Revision short story
* RevisionInfo[FullText] - Revision story
* RevisionInfo[EditorID] - ID revision editor
*/
function getPageRevision($pageID,$revision) {
global $db;
$result = array();
$request =& $db->query("SELECT * FROM pages_revision WHERE page_id='$pageID' AND page_revision='$revision'");
if ($request->numRows()!=0) {
$request->fetchInto($get);
$result["ErrMsg"] = "OK";
$result["Title"] = stripslashes($get["page_title"]);
$result["Create"] = $get["page_create"];
$result["ShortText"] = stripslashes($get["page_short"]);
$result["FullText"] = stripslashes($get["page_text"]);
$result["EditorID"] = $get["page_editor"];
} else {
$result["ErrMsg"] = "Not Found";
}
}
/* Check folder or page and fix folder path
* @param $URI - request URI
*/
function fixFolder($URI) {
if (substr($URI,-1) != "/") {
if (substr($URI,-4) != "html") {
header("Location: $URI/\n\n");
exit;
} else {
return 0
}
} else {
return 0;
}
}
}
?>