Хранилища Subversion kbase

Редакция

Редакция 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;
            }
        }
       
}

?>