root/afridex/plugins/fresh-page/RCCWP_Application.php @ 23

Revision 21, 10.2 kB (checked in by admin, 18 years ago)
Line 
1<?php
2class RCCWP_Application
3{
4        function GetCustomWritePanels($writePanelId = null)
5        {
6                global $wpdb;
7       
8                $sql = "SELECT id, name, description, display_order, capability_name, type FROM " . RC_CWP_TABLE_WRITE_PANELS;
9               
10                if (isset($writePanelId))
11                {
12                        $sql .= " WHERE id = " . (int)$writePanelId;
13                        $results = $wpdb->get_row($sql);
14                }
15                else
16                {
17                        $sql .= " ORDER BY display_order ASC";
18                        $results = $wpdb->get_results($sql);
19                        if (!isset($results)) 
20                                $results = array();
21                }
22               
23                return $results;
24        }
25
26        function GetWpCategories()
27        {
28                global $wpdb;
29                //$sql = "SELECT cat_ID, cat_name FROM $wpdb->categories ORDER BY cat_name";
30
31                if( $wpdb->terms != '' )
32                {
33                        $sql = "SELECT t.term_id AS cat_ID, t.name AS cat_name FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'category' ORDER BY t.name";
34                }
35                else
36                {
37                        $sql = "SELECT cat_ID, cat_name FROM $wpdb->categories ORDER BY cat_name";
38                }
39
40                $results = $wpdb->get_results($sql);
41                if (!isset($results))
42                        $results = array();
43                return $results;
44        }
45
46        function GetWpDefaultCategory()
47        {
48
49        }
50
51        function GetWpStandardFields($standardFieldId = null)
52        {
53                global $wpdb;
54       
55                if (isset($standardFieldId))
56                {
57                        $sql = "SELECT id, name, css_id, default_inclusion FROM " . RC_CWP_TABLE_STANDARD_FIELDS .
58                                " WHERE id = " . (int)$standardFieldId;
59                        $results = $wpdb->get_row($sql);       
60                }
61                else
62                {
63                        $sql = "SELECT id, name, css_id, default_inclusion FROM " . RC_CWP_TABLE_STANDARD_FIELDS . " ORDER BY name";
64                        $results = $wpdb->get_results($sql);
65                        if (!isset($results))
66                                $results = array();
67                }
68                return $results;
69        }
70       
71        function GetWpStandardFieldCssIds()
72        {
73                $results = RCCWP_Application::GetWpStandardFields();
74                $ids = array();
75                foreach ($results as $r)
76                {
77                        $ids[] = $r->css_id;
78                }
79                return $ids;
80        }
81
82        function Install()
83        {
84                global $wpdb;
85
86                // Giving full rights to "files" folder.
87                chmod("files", 777);
88
89                include_once('RCCWP_Options.php');
90               
91                if (get_option(RC_CWP_OPTION_KEY) === false)
92                        RCCWP_Options::Update(0, 0, 0, 0, 0, 0);
93               
94                // include upgrade-functions for maybe_create_table;
95                if (!function_exists('maybe_create_table')) {
96                        require_once(ABSPATH . '/wp-admin/upgrade-functions.php');
97                }
98
99                $sql1 = "CREATE TABLE " . RC_CWP_TABLE_WRITE_PANELS . " (
100                        id int(11) NOT NULL auto_increment,
101                        name varchar(50) NOT NULL,
102                        description varchar(255),
103                        display_order tinyint,
104                        capability_name varchar(50) NOT NULL,
105                        type varchar(50) NOT NULL,
106                        PRIMARY KEY (id) )";
107               
108                $sql2 = "CREATE TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " (
109                        id tinyint(11) NOT NULL auto_increment,
110                        name varchar(50) NOT NULL,
111                        description varchar(100),
112                        has_options enum('true', 'false') NOT NULL,
113                        has_properties enum('true', 'false') NOT NULL,
114                        allow_multiple_values enum('true', 'false') NOT NULL,
115                        PRIMARY KEY (id) )";
116                       
117                $sql3 = "CREATE TABLE " . RC_CWP_TABLE_PANEL_CUSTOM_FIELD . " (
118                        id int(11) NOT NULL auto_increment,
119                        panel_id int(11) NOT NULL,
120                        name varchar(50) NOT NULL,
121                        description varchar(255),
122                        display_order tinyint,
123                        display_name enum('true', 'false') NOT NULL,
124                        display_description enum('true', 'false') NOT NULL,
125                        type tinyint NOT NULL,
126                        CSS varchar(100),
127                        PRIMARY KEY (id) )";
128                       
129                $sql4 = "CREATE TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_OPTIONS . " (
130                        custom_field_id int(11) NOT NULL,
131                        options text,
132                        default_option text,
133                        PRIMARY KEY (custom_field_id) )";
134               
135                $sql5 = "CREATE TABLE " . RC_CWP_TABLE_PANEL_CATEGORY . "(
136                        panel_id int(11) NOT NULL,
137                        cat_id int(11) NOT NULL,
138                        PRIMARY KEY (panel_id, cat_id) )";
139                       
140                $sql6 = "CREATE TABLE " . RC_CWP_TABLE_STANDARD_FIELDS . "(
141                        id int(11) NOT NULL,
142                        name varchar(50) NOT NULL,
143                        css_id varchar(50) NOT NULL,
144                        default_inclusion enum('true', 'false') NOT NULL,
145                        PRIMARY KEY (id) )";
146               
147                $sql7 = "CREATE TABLE " . RC_CWP_TABLE_PANEL_STANDARD_FIELD . " (
148                        panel_id int(11) NOT NULL,
149                        standard_field_id int(11) NOT NULL,
150                        PRIMARY KEY (panel_id, standard_field_id) )";
151               
152                $sql8 = "CREATE TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_PROPERTIES . " (
153                        custom_field_id int(11) NOT NULL,
154                        properties text,
155                        PRIMARY KEY (custom_field_id) )";
156               
157                $sql9 = "CREATE TABLE " . RC_CWP_TABLE_PANEL_HIDDEN_EXTERNAL_FIELD . " (
158                        panel_id int(11) NOT NULL,
159                        css_id varchar(50) NOT NULL,
160                        PRIMARY KEY (panel_id, css_id) )";
161               
162                // create the table, as needed
163                maybe_create_table(RC_CWP_TABLE_WRITE_PANELS, $sql1);
164                maybe_create_table(RC_CWP_TABLE_CUSTOM_FIELD_TYPES, $sql2);
165                maybe_create_table(RC_CWP_TABLE_PANEL_CUSTOM_FIELD, $sql3);
166                maybe_create_table(RC_CWP_TABLE_CUSTOM_FIELD_OPTIONS, $sql4);   
167                maybe_create_table(RC_CWP_TABLE_PANEL_CATEGORY, $sql5);
168                maybe_create_table(RC_CWP_TABLE_STANDARD_FIELDS, $sql6);
169                maybe_create_table(RC_CWP_TABLE_PANEL_STANDARD_FIELD, $sql7);
170                maybe_create_table(RC_CWP_TABLE_CUSTOM_FIELD_PROPERTIES, $sql8);
171                maybe_create_table(RC_CWP_TABLE_PANEL_HIDDEN_EXTERNAL_FIELD, $sql9);
172               
173                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (1, 'Textbox', NULL, 'false', 'true', 'false')";
174                $wpdb->query($sql6);
175               
176                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (2, 'Multiline Textbox', NULL, 'false', 'true', 'false')";
177                $wpdb->query($sql6);
178               
179                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (3, 'Checkbox', NULL, 'false', 'false', 'false')";
180                $wpdb->query($sql6);
181               
182                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (4, 'Checkbox List', NULL, 'true', 'false', 'true')";
183                $wpdb->query($sql6);
184               
185                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (5, 'Radiobutton List', NULL, 'true', 'false', 'false')";
186                $wpdb->query($sql6);
187               
188                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (6, 'Dropdown List', NULL, 'true', 'false', 'false')";
189                $wpdb->query($sql6);
190               
191                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (7, 'Listbox', NULL, 'true', 'true', 'true')";
192                $wpdb->query($sql6);
193               
194                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (8, 'File', NULL, 'false', 'false', 'false')";
195                $wpdb->query($sql6);
196               
197                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (9, 'Image', NULL, 'false', 'true', 'false')";
198                $wpdb->query($sql6);
199
200                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (10, 'Date', NULL, 'false', 'true', 'false')";
201                $wpdb->query($sql6);
202
203                $sql6 = "INSERT IGNORE INTO " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES . " VALUES (11, 'Audio', NULL, 'false', 'false', 'false')";
204                $wpdb->query($sql6);
205               
206                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (1, 'Title', 'titlediv', 'true')";
207                $wpdb->query($sql9);
208               
209                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (2, 'Categories', 'categorydiv', 'false')";
210                $wpdb->query($sql9);
211               
212                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (3, 'Discussion', 'commentstatusdiv', 'false')";
213                $wpdb->query($sql9);
214               
215                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (4, 'Post Password', 'passworddiv', 'false')";
216                $wpdb->query($sql9);
217               
218                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (5, 'Post Slug', 'slugdiv', 'false')";
219                $wpdb->query($sql9);
220               
221                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (6, 'Post Status', 'poststatusdiv', 'false')";
222                $wpdb->query($sql9);
223               
224                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (7, 'Post Timestamp', 'posttimestampdiv', 'false')";
225                $wpdb->query($sql9);
226               
227                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (8, 'Upload', 'uploading', 'false')";
228                $wpdb->query($sql9);
229               
230                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (9, 'Optional Excerpt', 'postexcerpt', 'false')";
231                $wpdb->query($sql9);
232               
233                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (10, 'Trackbacks', 'trackbacksdiv', 'false')";
234                $wpdb->query($sql9);
235               
236                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (11, 'Custom Fields', 'postcustom', 'false')";
237                $wpdb->query($sql9);
238               
239                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (12, 'Post', 'postdiv', 'false')";
240                $wpdb->query($sql9);
241               
242                $sql9 = "INSERT IGNORE INTO " . RC_CWP_TABLE_STANDARD_FIELDS . " VALUES (13, 'Post Author', 'authordiv', 'false')";
243                $wpdb->query($sql9);
244
245                $options['hide-write-post'] = 0;
246                $options['hide-write-page'] = 0;
247                $options['prompt-editing-post'] = 0;
248                $options['assign-to-role'] = 0;
249                $options['use-snipshot'] = 1;
250                $options['default-custom-write-panel'] = "";
251               
252                $options = serialize($options);
253                update_option(RC_CWP_OPTION_KEY, $options);
254        }
255
256        function Uninstall()
257        {
258                global $wpdb;
259                $sql = "DELETE FROM $wpdb->postmeta WHERE meta_key = '" . RC_CWP_POST_WRITE_PANEL_ID_META_KEY . "'";
260                $wpdb->query($sql);
261               
262                $sql = "DROP TABLE " . RC_CWP_TABLE_WRITE_PANELS;
263                $wpdb->query($sql);
264               
265                $sql = "DROP TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_TYPES;
266                $wpdb->query($sql);
267               
268                $sql = "DROP TABLE " . RC_CWP_TABLE_PANEL_CUSTOM_FIELD;
269                $wpdb->query($sql);
270               
271                $sql = "DROP TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_OPTIONS;
272                $wpdb->query($sql);
273               
274                $sql = "DROP TABLE " . RC_CWP_TABLE_PANEL_CATEGORY;
275                $wpdb->query($sql);
276               
277                $sql = "DROP TABLE " . RC_CWP_TABLE_STANDARD_FIELDS;
278                $wpdb->query($sql);
279               
280                $sql = "DROP TABLE " . RC_CWP_TABLE_PANEL_STANDARD_FIELD;
281                $wpdb->query($sql);
282               
283                $sql = "DROP TABLE " . RC_CWP_TABLE_CUSTOM_FIELD_PROPERTIES;
284                $wpdb->query($sql);
285               
286                delete_option(RC_CWP_OPTION_KEY);
287        }
288       
289        function InCustomWritePanel()
290        {
291                return RCCWP_Application::InWritePostPanel() && isset($_REQUEST['custom-write-panel-id']);
292        }
293       
294        function InWritePostPanel()
295        {
296                return (strstr($_SERVER['REQUEST_URI'], '/wp-admin/post-new.php') ||
297                        strstr($_SERVER['REQUEST_URI'], '/wp-admin/post.php') ||
298                        strstr($_SERVER['REQUEST_URI'], '/wp-admin/page-new.php') ||
299                        strstr($_SERVER['REQUEST_URI'], '/wp-admin/page.php'));
300        }
301}
302?>
Note: See TracBrowser for help on using the browser.