OSDN Git Service

FIX:変数名の誤記を修正
[nucleus-jp/nucleus-next.git] / nucleus / documentation / devdocs / sqltables.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4         <!-- $Id: sqltables.html 1457 2010-10-26 15:47:41Z ftruscot $ -->
5         <title>Nucleus - SQL Table Structure</title>
6         <link rel="stylesheet" type="text/css" href="styles/manual.css" />
7         <style type="text/css">
8                 /* auto increment table columns*/
9                 .autoinc {
10                 }
11
12                 /* primary-keys */
13                 .primary {
14                         text-decoration: underline;
15                         font-weight: bold;
16                 }
17
18                 /* NOT NULL */
19                 .notnull {
20                 }
21
22                 /* unique key */
23                 .unique {
24                 }
25
26                 /* foreign keys */
27                 .foreign {
28                         font-style: italic;
29                 }
30
31                 /* auto increment table columns*/
32                 .autoinc {
33                 }
34
35                 /* fulltext index */
36                 .fulltext {
37                 }
38
39                 /* columns/tables to remove in later versions */
40                 .toremove {
41                         color: red;
42                 }
43
44
45
46
47         </style>
48 </head>
49 <body>
50
51 <a name="top" id="top"></a>
52
53 <div class="heading">
54 SQL Table Reference
55 <i>November 1, 2010</i>
56 </div>
57
58 <h1>Introduction</h1>
59
60 <p>
61 <a href="index.html">Back to the developer docs index</a>
62 </p>
63
64 <p>
65 This document contains information on the fields inside the Nucleus database tables.
66 </p>
67
68 <p class="note">The structure as presented here is for <strong>Nucleus v3.6</strong>.</p>
69
70 <h1><a name="toc" id="toc"></a>Table Of Contents</h1>
71
72 <ul>
73         <li><a href="#legend">Color codes in this document</a></li>
74         <li>
75
76                 Blogs
77
78                 <ul>
79                         <li><a href="#nucleus_blog">nucleus_blog</a></li>
80                         <li><a href="#nucleus_category">nucleus_category</a></li>
81                         <li><a href="#nucleus_item">nucleus_item</a></li>
82                         <li><a href="#nucleus_comment">nucleus_comment</a></li>
83                         <li><a href="#nucleus_member">nucleus_member</a></li>
84                         <li><a href="#nucleus_team">nucleus_team</a></li>
85                 </ul>
86         </li>
87         <li>
88                 Plugins
89                 <ul>
90                         <li><a href="#nucleus_plugin">nucleus_plugin</a></li>
91                         <li><a href="#nucleus_plugin_event">nucleus_plugin_event</a></li>
92                         <li><a href="#nucleus_plugin_option">nucleus_plugin_option</a></li>
93                         <li><a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a></li>
94                 </ul>
95         </li>
96         <li>
97                 Skins and templates
98                 <ul>
99                         <li><a href="#nucleus_skin">nucleus_skin</a></li>
100                         <li><a href="#nucleus_skin_desc">nucleus_skin_desc</a></li>
101                         <li><a href="#nucleus_template">nucleus_template</a></li>
102                         <li><a href="#nucleus_template_desc">nucleus_template_desc</a></li>
103                 </ul>
104         </li>
105         <li>
106                 Administration
107                 <ul>
108                         <li><a href="#nucleus_actionlog">nucleus_actionlog</a></li>
109                         <li>
110                                 <a href="#nucleus_config">nucleus_config</a>
111                                 <ul>
112                                         <li><a href="#nucleus_config_options">Available Options</a></li>
113                                 </ul>
114                         </li>
115                         <li><a href="#nucleus_tickets">nucleus_tickets</a></li>
116                         <li><a href="#nucleus_activation">nucleus_activation</a></li>
117                 </ul>
118         </li>
119         <li>
120                 Extras
121                 <ul>
122                         <li><a href="#nucleus_karma">nucleus_karma</a></li>
123                         <li><a href="#nucleus_ban">nucleus_ban</a></li>
124                 </ul>
125         </li>
126
127
128 </ul>
129
130 <a id="legend" name="legend"></a>
131 <h1>Color codes<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
132
133 <p>This document uses some visual styles to indicate the type of columns. An overview is listed below:</p>
134
135 <table><tr>
136         <td class="primary">primary</td>
137         <td>Primary keys</td>
138 </tr><tr>
139         <td class="foreign">foreign</td>
140         <td>Foreign keys (click to go to the references value in other columns). Please note that MySQL does not enforce foreign key restrictions.</td>
141 </tr><tr>
142         <td class="toremove">toremove</td>
143         <td>Tables/columns that will probably be removed in upcoming Nucleus version, in favor of plugins that provide the same functionality.</td>
144 </tr><tr>
145         <td class="fulltext">fulltext</td>
146         <td>There is a fulltext index on the column (used for searches).</td>
147 </tr></table>
148
149
150 <a id="nucleus_blog" name="nucleus_blog"></a>
151 <h1>Table nucleus_blog<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
152
153 <table><tr>
154         <th>Column Name</th>
155         <th>Type</th>
156         <th>Default</th>
157         <th>Description</th>
158
159 </tr><tr>
160         <td class="notnull autoinc primary">bnumber</td>
161         <td>int(11)</td>
162         <td></td>
163         <td>Blog ID</td>
164
165 </tr><tr>
166         <td class="notnull">bname</td>
167         <td>varchar(60)</td>
168         <td>''</td>
169         <td>Blog Name</td>
170
171 </tr><tr>
172         <td class="notnull unique">bshortname</td>
173         <td>varchar(15)</td>
174         <td>''</td>
175         <td>Short Blog Name (as used in skinvars <code>&lt;%blog%&gt;</code> etc.)</td>
176
177 </tr><tr>
178         <td>bdesc</td>
179         <td>varchar(200)</td>
180         <td>NULL</td>
181         <td>Blog Description</td>
182
183 </tr><tr>
184         <td class="notnull">bcomments</td>
185         <td>tinyint(2)</td>
186         <td>'1'</td>
187         <td>Enable comments (1=true, 0=false)</td>
188
189 </tr><tr>
190         <td class="notnull">bmaxcomments</td>
191         <td>int(11)</td>
192         <td>'0'</td>
193         <td>Maximum amount of comments to show on <code>index</code> skintypes (inline comments). The default value (0) means that there is no limit. If you don't use inline comments, you shouldn't edit this.</td>
194
195 </tr><tr>
196         <td class="notnull">btimeoffset</td>
197         <td>decimal(3,1)</td>
198         <td>'0.0'</td>
199         <td>Time offset to use. The items will be stored in the database using the correct time (server time+offset).</td>
200
201 </tr><tr>
202         <td class="toremove">bnotify</td>
203         <td>varchar(128)</td>
204         <td>NULL</td>
205         <td>Notify e-mail address. On certain events (see <code>bnotifytype</code> for the exact definition of these events), a notification e-mail is sent out to this e-mail address.</td>
206
207 </tr><tr>
208         <td>burl</td>
209         <td>varchar(100)</td>
210         <td>NULL</td>
211         <td>Blog URL</td>
212
213 </tr><tr>
214         <td class="toremove">bupdate</td>
215         <td>varchar(60)</td>
216         <td>NULL</td>
217         <td>Update file that needs to be altered each time a new item is posted to the weblog. Its an absolute path of a file on the server.</td>
218
219 </tr><tr>
220         <td class="notnull foreign"><a href="#nucleus_skin_desc">bdefskin</a></td>
221         <td>int(11)</td>
222         <td>'1'</td>
223         <td>Default skin to use when displaying this weblog</td>
224
225 </tr><tr>
226         <td class="notnull">bpublic</td>
227         <td>tinyint(2)</td>
228         <td>'1'</td>
229         <td>Allow comments by non-registered members? (1=true/0=false)</td>
230
231 </tr><tr>
232         <td class="notnull toremove">bconvertbreaks</td>
233         <td>tinyint(2)</td>
234         <td>'1'</td>
235         <td>Convert line breaks to <code>&lt;br /&gt;</code>? (1=true/0=false)</td>
236
237 </tr><tr>
238         <td class="foreign"><a href="#nucleus_category">bdefcat</a></td>
239         <td>int(11)</td>
240         <td>NULL</td>
241         <td>Default category. This category will be selected by default when no other category is selected.</td>
242
243 </tr><tr>
244         <td class="notnull">bnotifytype</td>
245         <td>int(11)</td>
246         <td>'15'</td>
247         <td>
248                 Which events to send notification e-mails on (see <code>bnotify</code> for the specification of the e-mail address). It's a combination of three values (multiply the values to get the notify type):
249                 <ul>
250                         <li>3: New comment</li>
251                         <li>5: New karma vote</li>
252                         <li>7: New item</li>
253                 </ul>
254                 Default = New comments &amp; New karma votes (3*5=15)
255         </td>
256
257 </tr><tr>
258         <td class="notnull">ballowpast</td>
259         <td>tinyint(2)</td>
260         <td>'0'</td>
261         <td>Allow backdating of items and editing the timestamp of an item (1=true/0=false)</td>
262
263 </tr><tr>
264         <td class="notnull">bincludesearch</td>
265         <td>tinyint(2)</td>
266         <td>'0'</td>
267         <td>Always include in search queries, even if the query is on another blog (1=true/0=false)</td>
268
269 </tr><tr>
270         <td class="notnull">breqemail</td>
271         <td>tinyint(2)</td>
272         <td>'0'</td>
273         <td>Require non-members to supply an email address when adding comments (1=true/0=false)</td>
274         
275 </tr><tr>
276         <td class="notnull">bfuturepost</td>
277         <td>tinyint(2)</td>
278         <td>'0'</td>
279         <td>Whether blog has future posts awaiting publishing (1=true/0=false)</td>
280 </tr>
281 </table>
282
283
284 <a id="nucleus_category" name="nucleus_category"></a>
285 <h1>Table nucleus_category<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
286
287 <table><tr>
288         <th>Column Name</th>
289         <th>Type</th>
290         <th>Default</th>
291         <th>Description</th>
292 </tr><tr>
293         <td class="notnull autoinc primary">catid</td>
294         <td>int(11)</td>
295         <td></td>
296         <td>Category ID</td>
297
298 </tr><tr>
299         <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>
300         <td>int(11)</td>
301         <td>'0'</td>
302         <td>Blog to which the category belongs</td>
303
304 </tr><tr>
305         <td>cname</td>
306         <td>varchar(40)</td>
307         <td>NULL</td>
308         <td>Category Name</td>
309
310 </tr><tr>
311         <td>cdesc</td>
312         <td>varchar(200)</td>
313         <td>NULL</td>
314         <td>Category Description</td>
315 </tr></table>
316
317
318 <a id="nucleus_item" name="nucleus_item"></a>
319 <h1>Table nucleus_item<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
320
321 <table><tr>
322         <th>Column Name</th>
323         <th>Type</th>
324         <th>Default</th>
325         <th>Description</th>
326 </tr><tr>
327         <td class="notnull autoinc primary">inumber</td>
328         <td>int(11)</td>
329         <td></td>
330         <td>Item ID</td>
331
332 </tr><tr>
333         <td class="fulltext">ititle</td>
334         <td>varchar(160)</td>
335         <td>NULL</td>
336         <td>Title</td>
337
338 </tr><tr>
339         <td class="notnull fulltext">ibody</td>
340         <td>text</td>
341         <td></td>
342         <td>Body text</td>
343
344 </tr><tr>
345         <td class="fulltext">imore</td>
346         <td>text</td>
347         <td></td>
348         <td>Extended text</td>
349
350 </tr><tr>
351         <td class="notnull foreign"><a href="#nucleus_blog">iblog</a></td>
352         <td>int(11)</td>
353         <td>'0'</td>
354         <td>Blog to which the item belongs to</td>
355
356 </tr><tr>
357         <td class="notnull foreign"><a href="#nucleus_member">iauthor</a></td>
358         <td>int(11)</td>
359         <td>'0'</td>
360         <td>Member that is the author of the item</td>
361
362 </tr><tr>
363         <td class="notnull">itime</td>
364         <td>datetime</td>
365         <td>'0000-00-00 00:00:00'</td>
366         <td>Item time (this is the corrected time, with offset already applies)</td>
367
368 </tr><tr>
369         <td class="notnull">iclosed</td>
370         <td>tinyint(2)</td>
371         <td>'0'</td>
372         <td>Is item closed? (1=true/0=false). When an item is closed, it's no longer possible to add new comments or cast 'karma votes'</td>
373
374 </tr><tr>
375         <td class="notnull">idraft</td>
376         <td>tinyint(2)</td>
377         <td>'0'</td>
378         <td>Is the item a draft version? Draft versions only show up in the admin area.</td>
379
380 </tr><tr>
381         <td class="notnull toremove">ikarmapos</td>
382         <td>int(11)</td>
383         <td>'0'</td>
384         <td>Total amount of positive karma votes casted</td>
385
386 </tr><tr>
387         <td class="notnull toremove">ikarmaneg</td>
388         <td>int(11)</td>
389         <td>'0'</td>
390         <td>Total amount of negative karma votes casted</td>
391
392 </tr><tr>
393         <td class="foreign"><a href="#nucleus_category">icat</a></td>
394         <td>int(11)</td>
395         <td>NULL</td>
396         <td>Category to which the item belongs</td>
397
398 </tr><tr>
399         <td class="notnull">iposted</td>
400         <td>tinyint(2)</td>
401         <td>'1'</td>
402         <td>Is the item posted? 0 means it is awaiting publication on a future date.</td>
403
404 </tr></table>
405
406
407 <a id="nucleus_comment" name="nucleus_comment"></a>
408 <h1>Table nucleus_comment<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
409
410 <table><tr>
411         <th>Column Name</th>
412         <th>Type</th>
413         <th>Default</th>
414         <th>Description</th>
415 </tr><tr>
416         <td class="notnull autoinc primary">cnumber</td>
417         <td>int(11)</td>
418         <td></td>
419         <td>Comment ID</td>
420
421 </tr><tr>
422         <td class="notnull fulltext">cbody</td>
423         <td>text</td>
424         <td></td>
425         <td>Comment text</td>
426
427 </tr><tr>
428         <td>cuser</td>
429         <td>varchar(40)</td>
430         <td>NULL</td>
431         <td>Anonymous user name (only used when comment was placed by a non-member. For members, see <code>cmember</code>)</td>
432
433 </tr><tr>
434         <td>cmail</td>
435         <td>varchar(100)</td>
436         <td>NULL</td>
437         <td>URL or, pre-3.3, E-mail address (only used when comment was placed by a non-member. For members, see <code>cmember</code>)</td>
438
439 </tr><tr>
440         <td>cemail</td>
441         <td>varchar(100)</td>
442         <td>NULL</td>
443         <td>E-mail address (only used when comment was placed by a non-member. For members, see <code>cmember</code>)</td>
444
445 </tr><tr>
446         <td class="foreign"><a href="#nucleus_member">cmember</a></td>
447         <td>int(11)</td>
448         <td>NULL</td>
449         <td>ID of site member that placed the commend (0 for comments by non-members)</td>
450
451 </tr><tr>
452         <td class="notnull foreign"><a href="#nucleus_item">citem</a></td>
453         <td>int(11)</td>
454         <td>'0'</td>
455         <td>Item ID to which the comment is attached</td>
456
457 </tr><tr>
458         <td class="notnull">ctime</td>
459         <td>datetime</td>
460         <td>'0000-00-00 00:00:00'</td>
461         <td>Time of comment</td>
462
463 </tr><tr>
464         <td>chost</td>
465         <td>varchar(60)</td>
466         <td>NULL</td>
467         <td>Hostname from where the comment was placed</td>
468
469 </tr><tr>
470         <td class="notnull">cip</td>
471         <td>varchar(15)</td>
472         <td>''</td>
473         <td>IP address from where the comment was placed</td>
474
475 </tr><tr>
476         <td class="notnull foreign"><a href="#nucleus_blog">cblog</a></td>
477         <td>int(11)</td>
478         <td>'0'</td>
479         <td>Blog to which the comment belongs (this is redundant information)</td>
480
481 </tr></table>
482
483
484
485 <a id="nucleus_member" name="nucleus_member"></a>
486 <h1>Table nucleus_member<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
487
488 <table><tr>
489         <th>Column Name</th>
490         <th>Type</th>
491         <th>Default</th>
492         <th>Description</th>
493 </tr><tr>
494         <td class="notnull autoinc primary">mnumber</td>
495         <td>int(11)</td>
496         <td></td>
497         <td>Member ID</td>
498
499 </tr><tr>
500         <td class="notnull unique">mname</td>
501         <td>varchar(32)</td>
502         <td>''</td>
503         <td>Display name (the one used to login)</td>
504
505 </tr><tr>
506         <td>mrealname</td>
507         <td>varchar(60)</td>
508         <td>NULL</td>
509         <td>Full name</td>
510
511 </tr><tr>
512         <td class="notnull">mpassword</td>
513         <td>varchar(40)</td>
514         <td>''</td>
515         <td>password (<a href="http://www.php.net/md5" title="Info about the PHP md5() function">md5</a> hash)</td>
516
517 </tr><tr>
518         <td>memail</td>
519         <td>varchar(60)</td>
520         <td>NULL</td>
521         <td>E-mail address. This should always be a valid address.</td>
522
523 </tr><tr>
524         <td>murl</td>
525         <td>varchar(100)</td>
526         <td>NULL</td>
527         <td>URL of members site</td>
528
529 </tr><tr>
530         <td>mnotes</td>
531         <td>varchar(100)</td>
532         <td>NULL</td>
533         <td>Extra notes (members can fill these out themselves)</td>
534
535 </tr><tr>
536         <td class="notnull">madmin</td>
537         <td>tinyint(2)</td>
538         <td>'0'</td>
539         <td>Is super-admin? (1=true/0=false; super-admins have all rights; there must be at least one super-admin in the system)</td>
540
541 </tr><tr>
542         <td class="notnull">mcanlogin</td>
543         <td>tinyint(2)</td>
544         <td>'1'</td>
545         <td>Can logon to admin area? (1=true/0=false)</td>
546
547 </tr><tr>
548         <td>mcookiekey</td>
549         <td>varchar(40)</td>
550         <td>NULL</td>
551         <td>A copy of the key that is stored in the users cookie. This key is used to log on. When a member logs on, a random cookiekey is generated. One copy goes into the database, another one goes into a cookie on the users computer. (together with the username).</td>
552
553 </tr><tr>
554         <td class="notnull">mlocale</td>
555         <td>varchar(20)</td>
556         <td>''</td>
557         <td>translation file to use for this member. When empty, uses the default site locale.</td>
558 </tr></table>
559
560
561
562
563 <a id="nucleus_team" name="nucleus_team"></a>
564 <h1>Table nucleus_team<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
565
566 <p>For each team member of a blog, there is a row in this table.</p>
567
568 <table><tr>
569         <th>Column Name</th>
570         <th>Type</th>
571         <th>Default</th>
572         <th>Description</th>
573 </tr><tr>
574         <td class="notnull primary foreign"><a href="#nucleus_member">tmember</a></td>
575         <td>int(11)</td>
576         <td>'0'</td>
577         <td>Member ID</td>
578
579 </tr><tr>
580         <td class="notnull primary foreign"><a href="#nucleus_blog">tblog</a></td>
581         <td>int(11)</td>
582         <td>'0'</td>
583         <td>Blog of which member is on team</td>
584
585 </tr><tr>
586         <td class="notnull">tadmin</td>
587         <td>tinyint(2)</td>
588         <td>'0'</td>
589         <td>Is blog admin? (0=false/1=true; each blog must have at least one admin)</td>
590 </tr></table>
591
592
593 <a id="nucleus_plugin" name="nucleus_plugin"></a>
594 <h1>Table nucleus_plugin<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
595
596 <table><tr>
597         <th>Column Name</th>
598         <th>Type</th>
599         <th>Default</th>
600         <th>Description</th>
601 </tr><tr>
602         <td class="notnull autoinc primary">pid</td>
603         <td>int(11)</td>
604         <td></td>
605         <td>Plugin ID</td>
606
607 </tr><tr>
608         <td class="notnull">pfile</td>
609         <td>varchar(40)</td>
610         <td>''</td>
611         <td>Filename (e.g. <code>NP_CommentControl</code>) of plugin. This must be a file in the plugins directory (.php extension).</td>
612
613 </tr><tr>
614         <td class="notnull">porder</td>
615         <td>int(11)</td>
616         <td>'0'</td>
617         <td>Order in which the plugins are called, and in which they are displayed on the plugins page. A lower order number places the plugin earlier in the list.</td>
618 </tr></table>
619
620 <a id="nucleus_plugin_event" name="nucleus_plugin_event"></a>
621 <h1>Table nucleus_plugin_event<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
622
623 <p>A cache that remembers which plugins are registered to which events. Thsi information is stored to avoid having to load all plugins on each requests just to find out which events they want to have. <a href="plugins.html#events">More info on plugins events</a></p>
624
625 <table><tr>
626         <th>Column Name</th>
627         <th>Type</th>
628         <th>Default</th>
629         <th>Description</th>
630 </tr><tr>
631         <td class="notnull foreign"><a href="#nucleus_plugin">pid</a></td>
632         <td>int(11)</td>
633         <td>'0'</td>
634         <td>Plugin ID</td>
635
636 </tr><tr>
637         <td>event</td>
638         <td>varchar(40)</td>
639         <td>NULL</td>
640         <td>Name of event</td>
641 </tr></table>
642
643 <a id="nucleus_plugin_option" name="nucleus_plugin_option"></a>
644 <h1>Table nucleus_plugin_option<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
645
646 <p>Values for the plugin options. See the <a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a> table for the definition of the options itself.</p>
647
648 <table><tr>
649         <th>Column Name</th>
650         <th>Type</th>
651         <th>Default</th>
652         <th>Description</th>
653
654 </tr><tr>
655         <td class="notnull autoinc primary foreign"><a href="#nucleus_plugin_option_desc">oid</a></td>
656         <td>int(11)</td>
657         <td></td>
658         <td>Identification of the option (See the <a href="#nucleus_plugin_option_desc">nucleus_plugin_option_desc</a> table)</td>
659
660 </tr><tr>
661         <td class="notnull">ovalue</td>
662         <td>TEXT</td>
663         <td>''</td>
664         <td>Value of the option</td>
665
666 </tr><tr>
667         <td class="notnull primary">ocontextid</td>
668         <td>int(11)</td>
669         <td>'0'</td>
670         <td>
671                 Semantics depend on the option context type,
672                 <ul>
673                         <li>global context: not used</li>
674                         <li>blog context: <a href="#nucleus_blog">blog id</a></li>
675                         <li>category context: <a href="#nucleus_category">category id</a></li>
676                         <li>member context: <a href="#nucleus_member">member id</a></li>
677                 </ul>
678         </td>
679 </tr></table>
680
681
682 <a id="nucleus_plugin_option_desc" name="nucleus_plugin_option_desc"></a>
683 <h1>Table nucleus_plugin_option_desc<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
684
685 <p>For each option created by a plugin, a row is present in this table.</p>
686
687 <table><tr>
688         <th>Column Name</th>
689         <th>Type</th>
690         <th>Default</th>
691         <th>Description</th>
692 </tr><tr>
693         <td class="notnull autoinc unique">oid</td>
694         <td>int(11)</td>
695         <td></td>
696         <td>Option ID. Used from <a href="#nucleus_plugin_option">nucleus_plugin_option</a></td>
697
698 </tr><tr>
699         <td class="notnull primary foreign"><a href="#nucleus_plugin">opid</a></td>
700         <td>int(11)</td>
701         <td>'0'</td>
702         <td>Plugin to which the option belongs</td>
703
704 </tr><tr>
705         <td class="notnull primary">oname</td>
706         <td>varchar(20)</td>
707         <td>''</td>
708         <td>Name of the option</td>
709
710 </tr><tr>
711         <td class="notnull primary">ocontext</td>
712         <td>varchar(20)</td>
713         <td>''</td>
714         <td>Context of the option (<code>global</code>, <code>blog</code>, <code>category</code>, <code>member</code>)</td>
715
716 </tr><tr>
717         <td>odesc</td>
718         <td>varchar(255)</td>
719         <td>NULL</td>
720         <td>Option description</td>
721
722 </tr><tr>
723         <td>otype</td>
724         <td>varchar(20)</td>
725         <td>NULL</td>
726         <td>option type. <a href="plugins.html#options" title="Nucleus Plugin API - Option types">See plugin documentation</a>.</td>
727
728 </tr><tr>
729         <td>odef</td>
730         <td>text</td>
731         <td></td>
732         <td>Default value for options</td>
733
734 </tr><tr>
735         <td>oextra</td>
736         <td>text</td>
737         <td></td>
738         <td>Extra data needed for some option types (e.g. <code>select</code> option type)</td>
739 </tr></table>
740
741 <a id="nucleus_skin" name="nucleus_skin"></a>
742 <h1>Table nucleus_skin<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
743
744 <table><tr>
745         <th>Column Name</th>
746         <th>Type</th>
747         <th>Default</th>
748         <th>Description</th>
749 </tr><tr>
750         <td class="notnull primary foreign"><a href="#nucleus_skin_desc">sdesc</a></td>
751         <td>int(11)</td>
752         <td>'0'</td>
753         <td>Reference to the skin description</td>
754
755 </tr><tr>
756         <td class="notnull primary">stype</td>
757         <td>varchar(20)</td>
758         <td>''</td>
759         <td>
760                 Skinpart type
761                 <ul>
762                         <li><code>index</code></li>
763                         <li><code>item</code></li>
764                         <li><code>archive</code></li>
765                         <li><code>archivelist</code></li>
766                         <li><code>search</code></li>
767                         <li><code>error</code></li>
768                         <li><code>member</code></li>
769                         <li><code>imagepopup</code></li>
770                 </ul>
771         </td>
772
773 </tr><tr>
774         <td class="notnull">scontent</td>
775         <td>text</td>
776         <td></td>
777         <td>Contents of the skinpart</td>
778 </tr></table>
779
780 <a id="nucleus_skin_desc" name="nucleus_skin_desc"></a>
781 <h1>Table nucleus_skin_desc<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
782
783 <table><tr>
784         <th>Column Name</th>
785         <th>Type</th>
786         <th>Default</th>
787         <th>Description</th>
788 </tr><tr>
789         <td class="notnull autoinc primary">sdnumber</td>
790         <td>int(11)</td>
791         <td></td>
792         <td>Skin ID</td>
793
794 </tr><tr>
795         <td class="notnull unique">sdname</td>
796         <td>varchar(20)</td>
797         <td>''</td>
798         <td>Name of skin</td>
799
800 </tr><tr>
801         <td>sddesc</td>
802         <td>varchar(200)</td>
803         <td>NULL</td>
804         <td>Skin description</td>
805
806 </tr><tr>
807         <td class="notnull">sdtype</td>
808         <td>varchar(40)</td>
809         <td>'text/html'</td>
810         <td>mimetype of skin</td>
811
812 </tr><tr>
813         <td class="notnull">sdincmode</td>
814         <td>varchar(10)</td>
815         <td>'normal'</td>
816         <td>
817                 Include mode
818                 <ul>
819                         <li><code>normal</code></li>
820                         <li><code>skindir</code></li>
821                 </ul>
822         </td>
823
824 </tr><tr>
825         <td class="notnull">sdincpref</td>
826         <td>varchar(50)</td>
827         <td>''</td>
828         <td>Prefix to use when including files</td>
829 </tr></table>
830
831 <a id="nucleus_template" name="nucleus_template"></a>
832 <h1>Table nucleus_template<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
833
834 <table><tr>
835         <th>Column Name</th>
836         <th>Type</th>
837         <th>Default</th>
838         <th>Description</th>
839 </tr><tr>
840         <td class="notnull primary foreign"><a href="#nucleus_template_desc">tdesc</a></td>
841         <td>int(11)</td>
842         <td>'0'</td>
843         <td>Reference to template description info</td>
844
845 </tr><tr>
846         <td class="notnull primary">tpartname</td>
847         <td>varchar(64)</td>
848         <td>''</td>
849         <td>
850                 Name of template part
851                 <ul>
852                         <li>ARCHIVELIST_FOOTER</li>
853                         <li>ARCHIVELIST_HEADER</li>
854                         <li>ARCHIVELIST_LISTITEM</li>
855                         <li>BLOGLIST_FOOTER</li>
856                         <li>BLOGLIST_HEADER</li>
857                         <li>BLOGLIST_LISTITEM</li>
858                         <li>CATLIST_FOOTER</li>
859                         <li>CATLIST_HEADER</li>
860                         <li>CATLIST_LISTITEM</li>
861                         <li>COMMENTS_AUTH</li>
862                         <li>COMMENTS_BODY</li>
863                         <li>COMMENTS_CONTINUED</li>
864                         <li>COMMENTS_FOOTER</li>
865                         <li>COMMENTS_HEADER</li>
866                         <li>COMMENTS_MANY</li>
867                         <li>COMMENTS_NONE</li>
868                         <li>COMMENTS_ONE</li>
869                         <li>COMMENTS_TOOMUCH</li>
870                         <li>DATE_FOOTER</li>
871                         <li>DATE_HEADER</li>
872                         <li>EDITLINK</li>
873                         <li>FORMAT_DATE</li>
874                         <li>FORMAT_TIME</li>
875                         <li>IMAGE_CODE</li>
876                         <li>ITEM_FOOTER</li>
877                         <li>ITEM_HEADER</li>
878                         <li>ITEM</li>
879                         <li>LOCALE</li>
880                         <li>MEDIA_CODE</li>
881                         <li>MORELINK</li>
882                         <li>NEW</li>
883                         <li>POPUP_CODE</li>
884                         <li>SEARCH_HIGHLIGHT</li>
885                         <li>SEARCH_NOTHINGFOUND</li>
886                         <li>other template fields as added by plugins using TemplateExtraFields event</li>
887                 </ul>
888         </td>
889
890 </tr><tr>
891         <td class="notnull">tcontent</td>
892         <td>text</td>
893         <td></td>
894         <td>Contents of templatepart</td>
895 </tr></table>
896
897
898 <a id="nucleus_template_desc" name="nucleus_template_desc"></a>
899 <h1>Table nucleus_template_desc<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
900
901 <table><tr>
902         <th>Column Name</th>
903         <th>Type</th>
904         <th>Default</th>
905         <th>Description</th>
906 </tr><tr>
907         <td class="notnull autoinc primary unique">tdnumber</td>
908         <td>int(11)</td>
909         <td></td>
910         <td>Template ID</td>
911
912 </tr><tr>
913         <td class="notnull unique">tdname</td>
914         <td>varchar(64)</td>
915         <td>''</td>
916         <td>Name of template</td>
917
918 </tr><tr>
919         <td>tddesc</td>
920         <td>varchar(200)</td>
921         <td>NULL</td>
922         <td>Template description</td>
923 </tr></table>
924
925 <a id="nucleus_actionlog" name="nucleus_actionlog"></a>
926 <h1>Table nucleus_actionlog<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
927
928 <p>[[general purpose description]]</p>
929
930 <table><tr>
931         <th>Column Name</th>
932         <th>Type</th>
933         <th></th>
934         <th>Description</th>
935 </tr><tr>
936         <td class="notnull">timestamp</td>
937         <td>datetime</td>
938         <td>'0000-00-00 00:00:00'</td>
939         <td>Time of action</td>
940
941 </tr><tr>
942         <td class="notnull">message</td>
943         <td>varchar(255)</td>
944         <td>''</td>
945         <td>Action message</td>
946 </tr></table>
947
948
949
950 <a id="nucleus_config" name="nucleus_config"></a>
951 <h1>Table nucleus_config<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
952
953 <p>Nucleus stores some global options in the <code>nucleus_config</code> table. They can be accessed at any time using <code>$CONF['OptionName']</code> (the values are read on each request and stored in a global array named <code>$CONF</code>)</p>
954
955 <table><tr>
956         <th>Column Name</th>
957         <th>Type</th>
958         <th>Default</th>
959         <th>Description</th>
960 </tr><tr>
961         <td class="notnull primary">name</td>
962         <td>varchar(20)</td>
963         <td>''</td>
964         <td>Option name</td>
965
966 </tr><tr>
967         <td>value</td>
968         <td>varchar(128)</td>
969         <td>NULL</td>
970         <td>Option value</td>
971 </tr></table>
972
973 <a name="nucleus_config_options" id="nucleus_config_options"></a>
974 <h2>Available Options</h2>
975
976 <p>An overview of available options is given below:</p>
977
978 <p>Options for yes/no options are represented using 1/0 (1=yes/true, 0=no/false)</p>
979
980 <table><tr>
981         <th>Name</th>
982         <th>Default Value</th>
983         <th>Description</th>
984 </tr><tr>
985         <td class="foreign"><a href="#nucleus_blog">DefaultBlog</a></td>
986         <td>1</td>
987         <td>Default weblog. This is the blog that will be used when no other blog has been specified in the request.</td>
988 </tr><tr>
989         <td>AdminEmail</td>
990         <td></td>
991         <td>E-mail address of site administrator</td>
992 </tr><tr>
993         <td>IndexURL</td>
994         <td></td>
995         <td>URL of website. Should end with a slash.</td>
996 </tr><tr>
997         <td>Locale</td>
998         <td>en_Latn_US</td>
999         <td>Locale file to use by default. A file <strong>localename.php</strong> must exist in the locale directory.</td>
1000 </tr><tr>
1001         <td>SessionCookie</td>
1002         <td>0</td>
1003         <td>Use session cookie instead of cookies with a lifetime of one month?</td>
1004 </tr><tr>
1005         <td>AllowMemberCreate</td>
1006         <td>0</td>
1007         <td>Allow visitors to create their own account?</td>
1008 </tr><tr>
1009         <td>AllowMemberMail</td>
1010         <td>1</td>
1011         <td>Allow members to send messages to each other through the member mail forms (e-mail addresses remain hidden)</td>
1012 </tr><tr>
1013         <td>SiteName</td>
1014         <td></td>
1015         <td>Name of the website</td>
1016 </tr><tr>
1017         <td>AdminURL</td>
1018         <td></td>
1019         <td>URL of admin area. Should end with a slash.</td>
1020 </tr><tr>
1021         <td>NewMemberCanLogon</td>
1022         <td>1</td>
1023         <td>Can newly registered members login right away? If not, the administrator will have to change their 'can login' option first</td>
1024 </tr><tr>
1025         <td class="toremove">DisableSite</td>
1026         <td>0</td>
1027         <td>Is the website disabled? If so, only the administrator can access it. All other visitors are redirected to <code>DisableSiteURL</code>.</td>
1028 </tr><tr>
1029         <td class="toremove">DisableSiteURL</td>
1030         <td></td>
1031         <td>An URL to redirect to when the site is disabled.</td>
1032 </tr><tr>
1033         <td class="toremove">LastVisit</td>
1034         <td>0</td>
1035         <td>Save 'Last Visit' cookies</td>
1036 </tr><tr>
1037         <td>MediaURL</td>
1038         <td></td>
1039         <td>URL of media folder. Should end with a slash.</td>
1040 </tr><tr>
1041         <td>AllowedTypes</td>
1042         <td>jpg, jpeg, gif, mpg, mpeg, avi, mov, mp3, swf, png</td>
1043         <td>Filetypes that can be uploaded</td>
1044 </tr><tr>
1045         <td>AllowLoginEdit</td>
1046         <td>0</td>
1047         <td>Allow members to edit their login name and password?</td>
1048 </tr><tr>
1049         <td>AllowUpload</td>
1050         <td>1</td>
1051         <td>Allow file uploads?</td>
1052 </tr><tr>
1053         <td class="toremove">DisableJsTools</td>
1054         <td>2</td>
1055         <td>
1056                 Style of the javascript toolbar:
1057                 <ul>
1058                         <li>0: full featured (IE)</li>
1059                         <li>1: toolbar disabled</li>
1060                         <li>2: simpler (Gecko)</li>
1061                 </ul>
1062         </td>
1063 </tr><tr>
1064         <td>CookiePath</td>
1065         <td>/</td>
1066         <td>Path to set cookie on</td>
1067 </tr><tr>
1068         <td>CookiePrefix</td>
1069         <td></td>
1070         <td>String to prefix cookie names with. This is useful when multiple Nucleus installs are on the same domain, as it prevents login sessions to interfere with each other.</td>
1071 </tr><tr>
1072         <td>CookieDomain</td>
1073         <td></td>
1074         <td>Domain to set cookie on</td>
1075 </tr><tr>
1076         <td>CookieSecure</td>
1077         <td>0</td>
1078         <td>Secure cookie (https)</td>
1079 </tr><tr>
1080         <td>MediaPrefix</td>
1081         <td>1</td>
1082         <td>If true, the uploaded files get the current date in their filename.</td>
1083 </tr><tr>
1084         <td>MaxUploadSize</td>
1085         <td>1048576</td>
1086         <td>Max. size of uploaded files (in bytes)</td>
1087 </tr><tr>
1088         <td>NonmemberMail</td>
1089         <td>0</td>
1090         <td>Allow non-members to send e-mail messages to site members?</td>
1091 </tr><tr>
1092         <td>PluginURL</td>
1093         <td></td>
1094         <td>URL of plugin folder. Should end with a slash.</td>
1095 </tr><tr>
1096         <td>ProtectMemNames</td>
1097         <td>1</td>
1098         <td>When this option is enabled, non-logged in members cannot add comments using the same name as registered members. The reason to do this would be to avoid guest impersonating members.</td>
1099 </tr><tr>
1100         <td class="foreign"><a href="#nucleus_skin_desc">BaseSkin</a></td>
1101         <td>1</td>
1102         <td>The option tells Nucleus which skin to fall back to when no such decision can be automatically made. This happens when skin parts are empty, when no blog or skin is implicitly/explicitly selected.</td>
1103 </tr><tr>
1104         <td>SkinsURL</td>
1105         <td></td>
1106         <td>URL of skins folder. Should end with a slash.</td>
1107 </tr><tr>
1108         <td>ActionURL</td>
1109         <td></td>
1110         <td>URL of <code>action.php</code> script.</td>
1111 </tr><tr>
1112         <td>URLMode</td>
1113         <td>normal</td>
1114         <td>either <code>normal</code> or <code>pathinfo</code></td>
1115 </tr><tr>
1116         <td>DatabaseVersion</td>
1117         <td>250</td>
1118         <td>Last Nucleus version for which the database structure has been updated (introduced in Nucleus v2.5)</td>
1119 </tr><tr>
1120         <td>DebugVars</td>
1121         <td>0</td>
1122         <td>Whether unresolved variables should be displayed in skins (introduced in Nucleus v3.4)</td>
1123 </tr><tr>
1124         <td>DefaultListSize</td>
1125         <td>10</td>
1126         <td>Set the size of lists in the admin area (introduced in Nucleus v3.4)</td>
1127 </tr></table>
1128
1129 <a id="nucleus_tickets" name="nucleus_tickets"></a>
1130 <h1>Table nucleus_tickets<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
1131
1132 <p>Nucleus uses the <code>nucleus_tickets</code> to prevent against certain security issues. In particular: each action on the admin area that affects the settings or database contents, requires a ticket. These tickets are generated when requesting an admin area page and passed along with the form. Tickets are destroyed one hour after their creation.</p>
1133
1134 <table><tr>
1135         <th>Column Name</th>
1136         <th>Type</th>
1137         <th>Default</th>
1138         <th>Description</th>
1139 </tr><tr>
1140         <td class="notnull primary">ticket</td>
1141         <td>varchar(40)</td>
1142         <td></td>
1143         <td>Unique ticket, valid for one particular member. A typical ticket looks like this: <code>65303a785423b4d53c7b3e6579766f26</code></td>
1144 </tr><tr>
1145         <td class="notnull foreign primary"><a href="#nucleus_member">member</a></td>
1146         <td>int(11)</td>
1147         <td></td>
1148         <td>Member for which this ticket is valid.</td>
1149 </tr><tr>
1150         <td class="notnull">ctime</td>
1151         <td>datetime</td>
1152         <td></td>
1153         <td>Time of ticket creation. A ticket is valid no longer than one hour.</td>
1154 </tr></table>
1155
1156
1157 <a id="nucleus_activation" name="nucleus_activation"></a>
1158 <h1>Table nucleus_activation<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
1159
1160 <p>When a new member registers, Nucleus doesn't allow that member to log in before his account is activated. This activation is done by sending out an activation link to the members email address. The <code>nucleus_activation</code> table keeps track of the activations that are in progress.</p>
1161
1162 <table><tr>
1163         <th>Column Name</th>
1164         <th>Type</th>
1165         <th>Default</th>
1166         <th>Description</th>
1167 </tr><tr>
1168         <td class="notnull primary">vkey</td>
1169         <td>varchar(40)</td>
1170         <td></td>
1171         <td>Activation key. This key needs to be passed to the member activation code. A typical key looks like this: <code>41cf637d4fbeeff954b4ca70b8bde9dd</code></td>
1172 </tr><tr>
1173         <td class="notnull foreign"><a href="#nucleus_member">vmember</a></td>
1174         <td>int(11)</td>
1175         <td></td>
1176         <td>Member which needs to be activated.</td>
1177 </tr><tr>
1178         <td class="notnull">vtime</td>
1179         <td>datetime</td>
1180         <td></td>
1181         <td>Time at which activation key was generated. Each activation key is valid no longer than 2 days.</td>
1182 </tr><tr>
1183         <td class="notnull">vtype</td>
1184         <td>varchar(15)</td>
1185         <td></td>
1186         <td>Type of activation.
1187                 <ul>
1188                         <li><code>forgot</code>: member forgot his password.</li>
1189                         <li><code>register</code>: new member registration.</li>
1190                         <li><code>addresschange</code>: member changed his e-mail address.</li>
1191                 </ul>
1192         </td>
1193 </tr><tr>
1194         <td class="notnull">vextra</td>
1195         <td>varchar(128)</td>
1196         <td></td>
1197         <td>Extra information. For an <code>addresschange</code> type of activation, this contains <code>oldemailaddress/x</code> with x either 0 or 1 and refering to the previous value of the <code>mcanlogin</code> field in the <a href="#nucleus_member">member</a> table. (untill fully re-activated, a user cannot login)</td>
1198 </tr></table>
1199
1200
1201 <a id="nucleus_karma" name="nucleus_karma"></a>
1202 <h1>Table nucleus_karma<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
1203
1204 <p class="toremove">This table will most likely be removed in future Nucleus version, in favor of plugins with the same functionality.</p>
1205
1206 <p>This table keeps track of IP addresses that have already voted for an item. This way, each IP address can cast only one vote.</p>
1207
1208 <table><tr>
1209         <th>Column Name</th>
1210         <th>Type</th>
1211         <th>Default</th>
1212         <th>Description</th>
1213 </tr><tr>
1214         <td class="notnull foreign"><a href="#nucleus_item">itemid</a></td>
1215         <td>int(11)</td>
1216         <td>'0'</td>
1217         <td>Item ID</td>
1218
1219 </tr><tr>
1220         <td class="notnull">ip</td>
1221         <td>char(15)</td>
1222         <td>''</td>
1223         <td>IP address of voter</td>
1224 </tr></table>
1225
1226 <a id="nucleus_ban" name="nucleus_ban"></a>
1227 <h1>Table nucleus_ban<a href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
1228
1229 <p class="toremove">This table will most likely be removed in future Nucleus version, in favor of plugins with the same functionality.</p>
1230
1231 <p>IP bans. These people cannot comment or cast karma votes.</p>
1232
1233 <table><tr>
1234         <th>Column Name</th>
1235         <th>Type</th>
1236         <th>Default</th>
1237         <th>Description</th>
1238 </tr><tr>
1239         <td class="notnull">iprange</td>
1240         <td>varchar(15)</td>
1241         <td>''</td>
1242         <td>IP 'range'. This can either be a full IP address or part of an IP address (starting from the left) to ban ranges</td>
1243
1244 </tr><tr>
1245         <td class="notnull">reason</td>
1246         <td>varchar(255)</td>
1247         <td>''</td>
1248         <td>A message with the reason why someone was banned. This message will be shown when they try to add a comment/cast a vote.</td>
1249 </tr><tr>
1250         <td class="notnull foreign"><a href="#nucleus_blog">blogid</a></td>
1251         <td>int(11)</td>
1252         <td>'0'</td>
1253         <td>Blog for which the ban is active</td>
1254 </tr></table>
1255
1256
1257 </body>
1258 </html>