Хранилища Subversion kbase

Редакция

Редакция 20 | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS

Редакция Автор № строки Строка
5 alex-w 1
<?php
2
 
3
/**
4
 *  KBase  
5
 *  http://alex-w.org.ru/p/kbase/
6
 *
7
 *  Copyright (c) 2009 Alexander Wolf
8
 *  Dual licensed under the MIT and GNU LGPL licenses.
9
 *  http://alex-w.org.ru/p/kbase/license
10
 *
11
 */
12
 
13
class Core {
20 alex-w 14
 
15
        function __construct() {}
16
 
17 alex-w 17
        /* Get page ID
18
         * @param $URL          - page URL
19
         * @access public
20
         * @return PageID (int)
21
         */
20 alex-w 22
        function getPageID($pageURL) {
23
                global $db;
17 alex-w 24
                $URL = parse_url($pageURL);            
41 svn 25
                if (stripos("html",$URL)==0) {
26
                    $URL .= "index.html";
27
                }
17 alex-w 28
                $pageName = basename($URL["path"], ".html");
20 alex-w 29
                $request =& $db->query("SELECT page_id FROM pages WHERE page_url='$pageName'");
17 alex-w 30
                if ($request->numRows()==0) {
31
                        return 0;
32
                } else {
33
                        $request->fetchInto($get);
34
                        return $get["page_id"];
35
                }
36
        }
37
 
38
        /* Get page
39
         * @param $ID           - page ID
40
         * @access public
41
         * @return PageInfo (array)
42
         *         PageInfo[ErrMsg]     - Error message
43
         *         PageInfo[Title]      - Page title
44
         *         PageInfo[Create]     - Page created date
45
         *         PageInfo[FullText]   - Page story
46
         *         PageInfo[ShortText]  - Page short story
47
         *         PageInfo[OwnerID]    - ID page owner
48
         *         PageInfo[EditorID]   - ID page editor
49
         */
20 alex-w 50
        function getPage($pageID) {
51
                global $db;
17 alex-w 52
                $result = array();
20 alex-w 53
                $request =& $db->query("SELECT * FROM pages WHERE page_id='$pageID'");
17 alex-w 54
                if ($request->numRows()!=0) {
55
                        $request->fetchInto($get);
56
                        $result["ErrMsg"]="OK";
57
                        $result["Title"] = stripslashes($get["page_title"]);
58
                        $result["Create"] = $get["page_create"];
59
                        $result["FullText"] = stripslashes($get["page_text"]);
60
                        $result["ShortText"] = stripslashes($get["page_short"]);
61
                        $result["OwnerID"] = $get["page_owner"];
62
                        $result["EditorID"] = $get["page_editor"];
63
                } else {
64
                        $result["ErrMsg"]="Not Found";
65
                }
66
                return $result;
67
        }
68
 
69
        /* Get page revision
70
         * @param $ID           - page ID
71
         *        $revision     - page number of revision
72
         * @access public
73
         * @return RevisionInfo (array)
74
         *         RevisionInfo[ErrMsg]         - Error message
75
         *         RevisionInfo[Title]          - Page revision title
76
         *         RevisionInfo[Create]         - Revision created date
77
         *         RevisionInfo[ShortText]      - Revision short story
78
         *         RevisionInfo[FullText]       - Revision story
79
         *         RevisionInfo[EditorID]       - ID revision editor
80
         */
20 alex-w 81
        function getPageRevision($pageID,$revision) {
82
                global $db;
17 alex-w 83
                $result = array();
20 alex-w 84
                $request =& $db->query("SELECT * FROM pages_revision WHERE page_id='$pageID' AND page_revision='$revision'");
17 alex-w 85
                if ($request->numRows()!=0) {
86
                        $request->fetchInto($get);
87
                        $result["ErrMsg"] = "OK";
88
                        $result["Title"] = stripslashes($get["page_title"]);
89
                        $result["Create"] = $get["page_create"];
90
                        $result["ShortText"] = stripslashes($get["page_short"]);
91
                        $result["FullText"] = stripslashes($get["page_text"]);
92
                        $result["EditorID"] = $get["page_editor"];
93
                } else {
94
                        $result["ErrMsg"] = "Not Found";
95
                }
96
        }
41 svn 97
 
98
        /* Check folder or page and fix folder path
99
         * @param $URI          - request URI
100
         */
101
        function fixFolder($URI) {
102
            if (substr($URI,-1) != "/") {
103
                if (substr($URI,-4) != "html") {
104
                    header("Location: $URI/\n\n");
105
                    exit;
106
                } else {
107
                    return 0
108
                }
109
            } else {
110
                return 0;
111
            }
112
        }
113
 
5 alex-w 114
}
115
 
116
?>