http://wiki.geeklog.net/api.php?action=feedcontributions&user=Tokyoahead&feedformat=atomGeeklogWiki - User contributions [en]2024-03-29T11:27:09ZUser contributionsMediaWiki 1.27.5http://wiki.geeklog.net/index.php?title=Installation_InstructionsG2&diff=4321Installation InstructionsG22007-09-24T07:25:14Z<p>Tokyoahead: </p>
<hr />
<div>* Download the current CVS version:<br />
<pre>cvs -d:ext:anonymous@cvs.geeklog.net:/cvsroot/geeklog2 co Geeklog-2.x</pre><br />
* create a databse called geeklog_2<br />
* create the databases by running /sql/MYSQL/create.sql<br />
* fill the tables by running /sql/MYSQL/fill.sql<br />
* edit /config.php, at least the values for the databse name, username, password, $glConf['path'] and $glConf['site_url']</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=System_RequirementsG2&diff=4320System RequirementsG22007-09-24T06:57:46Z<p>Tokyoahead: </p>
<hr />
<div>* Apache 2.x<br />
* PHP 5.x<br />
* MySQL 5.x with InnoDB support installed</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4317AdminLists2007-08-23T06:26:34Z<p>Tokyoahead: /* The Data */</p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
=== The header ===<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
=== Text fields & Settings ===<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
=== The Menu ===<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
=== Aditional Form Fields ===<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This optional array allows you to display additional information above and below the table, specifically for form elements such as extra buttons, dropdowns, explanatory texts etc, since the tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/list.thtml to understand what you can do with them. Those forms are used for example in moderation.php.<br />
<br />
=== The Data ===<br />
The actual data is given through an array that holds one element for each cell.<br />
<pre><br />
$data_arr = array();<br />
$data_arr[] = array(<br />
'title' => $LANG10[2], <br />
'stats' => COM_NumberFormat ($totalhits)<br />
);<br />
</pre><br />
This would create one line in the table. You can extend the array as you whish, but each field must match the fields given as 'field' the $header_arr().<br />
<br />
=== Manipulating data during display ===<br />
<br />
If you display data, you might want to manipulate it, depending on other data, accessrights, add buttons instead of values etc.<br />
For this, you can name a function and include the name in the call of the list. You could of course process the data beforehand. This function allows you however to skip the iteration of each field in the array. You simply define the rules and the list-creator does all for you. The function will be called for each single field in the array.<br />
<br />
<pre><br />
$fieldfunction = "plugin_getListField_mypluginname";<br />
</pre><br />
Then, you write a plugin function and name it as before, the function variables MUST be the same as below:<br />
<pre><br />
/**<br />
* Function used to manipulate fields in admin lists<br />
*<br />
* @param string $fieldname (column-) Name of the currently processed field in the table as defined in the $header_arr<br />
* @param string $fieldvalue Value of the currently processed field<br />
* @param array $A array with the complete current table line<br />
* @param array $icon_arr array with html of std. icons, edit, copy, list<br />
* @return string output of new fieldvalue<br />
*<br />
*/<br />
function plugin_getListField_mypluginname($fieldname, $fieldvalue, $A, $icon_arr) {<br />
global $_CONF, $LANG_ACCESS;<br />
<br />
$retval = '';<br />
// lets get the current accesrights the field has assigned<br />
$access = SEC_hasAccess($A['owner_id'],$A['group_id'],$A['perm_owner'],$A['perm_group'],$A['perm_members'],$A['perm_anon']);<br />
if ($access > 0) {<br />
switch($fieldname) {<br />
// lets make a link to edit the current entry<br />
case 'edit':<br />
if ($access == 3) {<br />
$retval = COM_createLink(<br />
$icon_arr['edit'],<br />
"{$_CONF['site_admin_url']}/plugins/mypluginname/index.php?mode=edit&amp;id={$A['id']}"<br />
);<br />
}<br />
break;<br />
case 'access':<br />
if ($access == 3) {<br />
$retval = $LANG_ACCESS['edit'];<br />
} else {<br />
$retval = $LANG_ACCESS['readonly'];<br />
}<br />
break;<br />
case 'title':<br />
// create a link to an item from the url in the data<br />
$retval = COM_createLink(stripslashes($A['title']), $A['url']);<br />
break;<br />
default:<br />
// otherwise simply output the value as is<br />
$retval = $fieldvalue;<br />
break;<br />
}<br />
}<br />
return $retval;<br />
}<br />
</pre><br />
<br />
=== Calling the function ===<br />
You can call the function as follows:<br />
<br />
<pre><br />
echo ADMIN_simpleList($fieldfunction, $header_arr, $text_arr, $data_arr, $menu_arr, $options, $form_arr);<br />
</pre><br />
The returned HTML will include the full list with all the options that you selected before.<br />
<br />
<br />
... To be continued</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4316AdminLists2007-08-23T06:06:05Z<p>Tokyoahead: /* Aditional Form Fields */</p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
=== The header ===<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
=== Text fields & Settings ===<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
=== The Menu ===<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
=== Aditional Form Fields ===<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This optional array allows you to display additional information above and below the table, specifically for form elements such as extra buttons, dropdowns, explanatory texts etc, since the tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/list.thtml to understand what you can do with them. Those forms are used for example in moderation.php.<br />
<br />
=== The Data ===<br />
The actual data is given through an array that holds one element for each cell.<br />
<pre><br />
$data_arr = array();<br />
$data_arr[] = array(<br />
'title' => $LANG10[2], <br />
'stats' => COM_NumberFormat ($totalhits)<br />
);<br />
</pre><br />
This would create one line in the table. You can extend the array as you whish, but each field must match the fields given as 'field' the $header_arr().<br />
<br />
<br />
... To be continued</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4315AdminLists2007-08-23T05:52:52Z<p>Tokyoahead: /* Aditional Form Fields */</p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
=== The header ===<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
=== Text fields & Settings ===<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
=== The Menu ===<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
=== Aditional Form Fields ===<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This optional array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php.<br />
<br />
You can optionally include formattings here and other buttons, dropdowns etc to be shown to the user of course.<br />
<br />
=== The Data ===<br />
The actual data is given through an array that holds one element for each cell.<br />
<pre><br />
$data_arr = array();<br />
$data_arr[] = array(<br />
'title' => $LANG10[2], <br />
'stats' => COM_NumberFormat ($totalhits)<br />
);<br />
</pre><br />
This would create one line in the table. You can extend the array as you whish, but each field must match the fields given as 'field' the $header_arr().<br />
<br />
<br />
... To be continued</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:SoC_config.php_GUI&diff=4233Talk:SoC config.php GUI2007-03-12T01:28:29Z<p>Tokyoahead: </p>
<hr />
<div>One solution could be an array that holds all the information for the gui such as:<br />
<br />
<pre><br />
$_CONF_GUI = array(<br />
'site_url' = array(<br />
'default' => 'http://geeklog.net',<br />
'islocked' => false,<br />
'help' => 'The url to your site, starting with http://, no trailing slash',<br />
'type' => 'string', // the type can define a validation process such as for emails, urls, boolean, numbers etc<br />
'alternative' => '', // nothing given, so all allowed<br />
'section' = 'Site Settings' // this is to group values in the GUI<br />
)<br />
);<br />
<br />
$_CONF = array(<br />
'site_url' => 'http://geeklog.net',<br />
'db_pass' => 'password'<br />
);<br />
</pre><br />
<br />
The actual $_CONF array will only use the value for the code. When starting the gui, this $_CONF is merged with the $_CONF_GUI so that the gui displays the correct values. To save ressources, the $_CONF_GUI is reset during execution and stored in a textfile and on running the gui, an include() is done on the textfile. Same goes for $_CONF, only that the value is read and used normally. The help and default values are printed into it as comments in case someone wants to edit it locally, and so that the locked values are explained properly. The locked values are not displayed in the gui however. Since they should be printed into the text file for editing however, and contain the necessary help text, they should to be in this array. Optionally they can be split into another array with a similar structure, so locked and non-locked settings are more securely split away from each other.<br />
[[User:Tokyoahead|Tokyoahead]] 21:28, 11 March 2007 (EDT)</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:SoC_config.php_GUI&diff=4232Talk:SoC config.php GUI2007-03-11T03:52:00Z<p>Tokyoahead: </p>
<hr />
<div>One solution could be an array that holds all the information for the gui such as:<br />
<br />
<pre><br />
$_CONF_GUI = array(<br />
'site_url' = array(<br />
'value' => 'http://geeklog.net',<br />
'default' => 'http://geeklog.net',<br />
'help' => 'The url to your site, starting with http://, no trailing slash',<br />
'islocked' => true, // those are excluded from the GUI to be changed<br />
'type' => 'string', // the type can define a validation process such as for emails, urls, boolean, numbers etc<br />
'alternative' => '', // nothing give, so all allowed<br />
'section' = 'Site Settings' // this is to group values in the GUI<br />
)<br />
);<br />
</pre><br />
<br />
the actual $_CONF array will only use the value for the code. When starting the gui, this $_CONF is merged with the $_CONF_GUI so that the gui displays the correct values. To save ressources, the $_CONF_GUI is reset during execution and stored in a textfile and on running the gui, an eval() is done on the textfile. Same goes for $_CONF, only that the value is read and used normally. The help and default values are printed into it as comments in case someone wants to edit it locally.<br />
[[User:Tokyoahead|Tokyoahead]] 21:52, 10 March 2007 (EST)</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:SoC_more_ideas&diff=4227Talk:SoC more ideas2007-03-09T05:49:46Z<p>Tokyoahead: </p>
<hr />
<div>Is HTML support for "send article by email" really worthy of a SoC project? It may not be trivial, but not exactly enough to keep someone busy for a summer ...<br>- [[User:Dirk|Dirk]] 06:57, 8 March 2007 (EST)<br />
*You are right... deleted it. [[User:Tokyoahead|Tokyoahead]] 00:49, 9 March 2007 (EST)</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:SoC_more_ideas&diff=4226Talk:SoC more ideas2007-03-09T05:49:28Z<p>Tokyoahead: </p>
<hr />
<div>Is HTML support for "send article by email" really worthy of a SoC project? It may not be trivial, but not exactly enough to keep someone busy for a summer ...<br>- [[User:Dirk|Dirk]] 06:57, 8 March 2007 (EST)<br />
You are right... deleted it. [[User:Tokyoahead|Tokyoahead]] 00:49, 9 March 2007 (EST)</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4191AdminLists2007-03-01T10:24:25Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
=== The header ===<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
=== Text fields & Settings ===<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
=== The Menu ===<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
=== Aditional Form Fields ===<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This optional array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php<br />
<br />
=== The Data ===<br />
The actual data is given through an array that holds one element for each cell.<br />
<pre><br />
$data_arr = array();<br />
$data_arr[] = array(<br />
'title' => $LANG10[2], <br />
'stats' => COM_NumberFormat ($totalhits)<br />
);<br />
</pre><br />
This would create one line in the table. You can extend the array as you whish, but each field must match the fields given as 'field' the $header_arr().<br />
<br />
<br />
... To be continued</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4190AdminLists2007-03-01T10:12:43Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
=== The header ===<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
=== Text fields & Settings ===<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
=== The Menu ===<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
=== Aditional Form Fields ===<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This optional array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php<br />
<br />
=== The Data ===<br />
The actual data is given through an array that holds one element for each cell.<br />
<pre><br />
$data_arr = array();<br />
$data_arr[] = array(<br />
'title' => $LANG10[2], <br />
'stats' => COM_NumberFormat ($totalhits)<br />
);<br />
</pre><br />
This would create one line in the table. You can extend the array as you whish, but each field must match the fields given as 'field' the $header_arr().</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4189AdminLists2007-03-01T10:08:25Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens).<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4188AdminLists2007-03-01T09:59:30Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
</pre><br />
This array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php<br />
<br />
<br />
== Complex Lists ==</pre></div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4187AdminLists2007-03-01T09:59:00Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
The next array is called $form_arr and is optional:<br />
<br />
<pre><br />
$form_arr = array(<br />
'top' = '<input type='hidden' name='text' value='text'>',<br />
'bottom' = '<input type='hidden' name='text' value='text'>'<br />
);<br />
This array allows you to display additional information above and below the table, specifically for form elements such as extra buttons etc. The tables have a form around them. Please take a look at the templates under /layout/professional/admin/lists/ to understand what you can do with them. Those forms are used for example in moderation.php<br />
<br />
<br />
== Complex Lists ==</pre></div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4186AdminLists2007-03-01T09:34:23Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array, each of the elements of the array define one column:<br />
<br />
<pre><br />
$header_arr = array(<br />
array( // Column 1<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array( // Column 2<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works. This only shows if has_menu = true</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
In case the $text_arr stats has_menu = true, you need to give the following array for the menu details:<br />
<pre><br />
$menu_arr = array(<br />
array( // Menu Item 1<br />
'text' => $LANG10[1], <br />
'url' => 'http://...'<br />
),<br />
array( // Menu Item 2<br />
'text' => $LANG10[2], <br />
'url' => 'http://...'<br />
),<br />
);<br />
</pre><br />
<br />
This pretty straight-forward Array gives a text to display and a url to link for each desired menu item.<br />
<br />
<br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4185AdminLists2007-03-01T09:25:32Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4184AdminLists2007-03-01T09:19:45Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>width</td><td>The CSS width of the column</td><td>string</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>string</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4183AdminLists2007-03-01T09:19:20Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>string</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>string</td><td>Yes</td></tr><br />
<tr><td>width</td><td>The CSS width of the column</td><td>string</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><th>string</th><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><th>string</th><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4182AdminLists2007-03-01T09:13:03Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><th>string</th><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><th>string</th><td>Yes</td></tr><br />
<tr><td>width</td><td>The CSS width of the column</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><th>string</th><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><th>string</th><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><td>boolean</td><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><td>string</td><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><td>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><td>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4181AdminLists2007-03-01T09:12:23Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><th>string</th><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><th>string</th><td>Yes</td></tr><br />
<tr><td>width</td><td>The CSS width of the column</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><th>string</th><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><th>string</th><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><th>boolean</th><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><th>string</th><td>Yes</td></tr><br />
<tr><td>help_url</td><td>The url that shows help for the block</td><td>string</td><th>No</td></tr><br />
<tr><td>form_url</td><td>The form used in case the menu is there</td><td>string</td><th>if has_menu=true</td></tr><br />
<tr><td>icon</th><td>An Icon to be displayed</td><td>string</th><td>No</td></tr><br />
<tr><td>instructions</td><td>Some text to explain how the table works</td><td>string</td><td>no</td></tr><br />
<tr><td>no_data</td><td>The string that is shown in case the table is empty. If this is not given, $LANG_ADMIN['no_results'] is shown</td><td>string</td><td>No</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4180AdminLists2007-03-01T09:05:37Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><th>string</th><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><th>string</th><td>Yes</td></tr><br />
<tr><td>width</td><td>The CSS width of the column</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><th>string</th><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><th>string</th><td>No</td></tr><br />
</table><br />
<br />
Then, you need a text-array, defining some other details of the table:<br />
<br />
<pre><br />
$text_arr = array(<br />
'has_menu' => false,<br />
'title' => $LANG10[1],<br />
);<br />
</pre><br />
<table border="1"><br />
<tr><th>Field/Array Name</th><th>Content</th><th>Data Type</th><th>Required</th></tr><br />
<tr><td>has_menu</td><td>If set to true</td><th>boolean</th><td>Yes</td></tr><br />
<tr><td>title</td><td>The title of the table. Since the table will be in a block, the block needs a title</td><th>string</th><td>Yes</td></tr><br />
</table><br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4179AdminLists2007-03-01T09:00:26Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table border="1"><br />
<tr><th>Field/ Array Name</th><th>Content</th><td>Required</th></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>Yes</td></tr><br />
<tr><td>width</td><td>The width of the column</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>No</td></tr><br />
</table><br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4178AdminLists2007-03-01T08:59:39Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables/lists from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
The first element of a list is the header, the line where you can read what the information below represents. To define those use an array:<br />
<br />
<pre><br />
$header_arr = array(<br />
array(<br />
'text' => $LANG10[1], <br />
'field' => 'title', <br />
'width' => '90%', <br />
'header_class' => 'stats-header-title'<br />
),<br />
array(<br />
'text' => "", <br />
'field' => 'stats', <br />
'width' => '10%', <br />
'header_class' => 'stats-header-count', <br />
'field_class' => 'stats-list-count'<br />
),<br />
);<br />
</pre><br />
You can see that you need to create a multi-dimensional array with several fields, most of which are optional. Required are the first two.<br />
<table><br />
<tr><td>Field/ Array Name</td><td>Content</td><td>Required</td></tr><br />
<tr><td>text</td><td>The text that the user sees on top of the column</td><td>Yes</td></tr><br />
<tr><td>field</td><td>The field in the data-array that is used to show the data</td><td>Yes</td></tr><br />
<tr><td>width</td><td>The width of the column</td><td>No</td></tr><br />
<tr><td>header_class</td><td>The CSS class that should be assigned to the header field</td><td>No</td></tr><br />
<tr><td>field_class</td><td>The CSS class that should be assigned to the data fields below</td><td>No</td></tr><br />
</table><br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4177AdminLists2007-03-01T08:50:06Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation and statistics screens). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
Generally it is recommended to take any of the existing lists and changing the details. This makes sure that you use the required set of data for a complete table.<br />
<br />
== Simple Lists ==<br />
As an example, this guide will show you how to create a simple list by using the statistics page /public_html/stats.php.<br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=AdminLists&diff=4176AdminLists2007-03-01T08:48:08Z<p>Tokyoahead: </p>
<hr />
<div>== Introduction ==<br />
Geeklog 1.4 has an engine to create tables from data. This engine can be used to make sure that all tabular information looks similar all over the site. It is also helpful to reduce the amount of code that has to be written for a table, including template files.<br />
<br />
To use this function, you have to choose between two main differences: Simple & Complex lists. The main difference is that the simple lists need an array of data and the complex lists need an SQL string of data. So if you do not have your data in a database table, you will need to use a simple list. Also, the simple lists only can be displayed several times on a page (such as used on the moderation screen). This guide will tell you first how to create a simple list, and then describe the aditional features of complex lists.<br />
<br />
== Simple Lists ==<br />
<br />
<br />
== Complex Lists ==</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=New_Installation&diff=4174New Installation2007-03-01T08:41:00Z<p>Tokyoahead: reformat</p>
<hr />
<div>== Folder/File Setup ==<br />
* First Download the latest Geeklog 1.4x<br />
* Download the tarball into any directory.<br />
* move the file to your webroot<br />
<pre>tar -zxvf geeklog*.tar.gz</pre><br />
*Change into the GeekLog directory <br />
<pre>cd geeklog-1.4.x</pre><br />
*Copy all files to your primary directory with <br />
<pre>cp -Rf * /home/username/public_html</pre><br />
*Change the access rights in the directories:<br />
<pre><br />
chown -R webuser:webuser *<br />
chmod -R 755 logs<br />
chmod -R 755 backups<br />
chmod -R 755 data<br />
chmod -R 755 public_html/backend<br />
chmod -R 755 public_html/images/articles<br />
chmod -R 755 pulic_html/images/topics<br />
chmod -R 755 public_html/images/userphotos/</pre><br />
<br />
== Configure == <br />
* Edit /home/username/public_html/lib-common.php and update your path to the GeekLog files (only one line).<br />
<pre>require_once( '/home/username/config.php' );</pre><br />
* Edit /home/username/config.php and enter your parameters for:<br />
<pre><br />
$_DB_host = 'localhost';<br />
$_DB_name = 'geeklog';<br />
$_DB_user = 'geeklog';<br />
$_DB_pass = 'your_password';<br />
$_DB_table_prefix = 'gl_';<br />
$_CONF['path'] = '/home/username/public_html/';<br />
</pre><br />
<br />
== Database ==<br />
* Create your mysql database, mysql account, grant privileges to mysql account.<br />
* As root create the mySQL database and access rights:<br />
<pre>$ mysql -u root<br />
mysql> create database geeklog_db;<br />
mysql>grant all on geeklog.* to geeklog@localhost identified by 'yourgeeklogpassword';<br />
mysql>quit</pre><br />
<br />
== Install ==<br />
* run www.yourdomain.foo/admin/install/install.php<br />
* click on desired options<br />
* login to your page using default Admin/password<br />
* change password<br />
* remove directory public_html/admin/install</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Uninstall_Function&diff=4163Uninstall Function2007-02-11T09:58:08Z<p>Tokyoahead: </p>
<hr />
<div>If you want to give your plugin the ability to uninstall itself then you must implement this function.</p><br />
<br />
<table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center"><br />
<caption align="bottom">Table 6. Uninstall function</caption><br />
<tr><br />
<th valign="top">Function</th><br />
<th valign="top">Description of Function</th><br />
</tr><br />
<tr><br />
<td valign="top" class="codeheader">plugin_uninstall_&lt;plugin <br />
name&gt;</td><br />
<td valign="top" class="code">This function does not take any parameters. The plugin should try and uninstall itself, especially removing all its tables and data structures from the database.<br><br />
The function should return <code>true</code> if the uninstall succeeded and <code>false</code> if it failed.</td><br />
</tr><br />
</table><br />
<br />
as of Geeklog 1.4.2 you can also use the internal plugin-uninstall function, "Autouninstall".<br />
<br />
<table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center"><br />
<caption align="bottom">Table 7. Autouninstall function</caption><br />
<tr><br />
<th valign="top">Function</th><br />
<th valign="top">Description of Function</th><br />
</tr><br />
<tr><br />
<td valign="top" class="codeheader">plugin_autouninstall_&lt;plugin <br />
name&gt;</td><br />
<td valign="top" class="code">This function does not take any parameters. The plugin has to return an array listing all the elemts that should be uninstalled. This array needs to have a specific format. Here is a sample for the links plugin:<br><br />
<code><br />
function plugin_autouninstall_links ()<br />
{<br />
$out = array (<br />
/* give the name of the tables, without $_TABLES[] */<br />
'tables' => array('links','linksubmission'),<br />
/* give the full name of the group, as in the db */<br />
'groups' => array('Links Admin'),<br />
/* give the full name of the feature, as in the db */<br />
'features' => array('links.edit', 'links.moderate', 'links.submit'),<br />
/* give the full name of the block, including 'phpblock_', etc */<br />
'php_blocks' => array(),<br />
/* give all vars with their name */<br />
'vars'=> array()<br />
);<br />
return $out;<br />
}<br />
</code><br />
If you have other things to remove then tables, groups, features, blocks and default values, please remove them before returning the array. If the removal fails, please return "false" instead of the array.<br />
</td><br />
</tr><br />
</table><br />
<br />
<br />
[[Category:Plugin Development]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:Plugins&diff=4001Talk:Plugins2006-01-31T08:45:01Z<p>Tokyoahead: </p>
<hr />
<div>Someone pointed out to me in IRC today that "restore the complete archive under plugins folder" is a stupid way to say "unzip all files in this folder". And I think he is correct. Restoring is done by someone who zipped something first. Normal users dont restore. They get something they perceive as new and unzip it. -- tokyoahead</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:Plugins&diff=4000Talk:Plugins2006-01-31T08:44:37Z<p>Tokyoahead: </p>
<hr />
<div>Someone pointed out to me in IRC today that "restore the complete archive under plugins folder" is a stupid way to say "unzip all files in this folder". And I think he is correct. Restoring is done by someone who zipped something first. Normal users dont restore. They get something they perceive as new and unzip it.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Language_Tips_And_Tricks&diff=3048Language Tips And Tricks2005-05-17T14:44:44Z<p>Tokyoahead: /* Multilingual Sites */</p>
<hr />
<div>== General Things ==<br />
<br />
<br />
When you switch to another language in Geeklog, not only the menu text changes, but also the character set might change. This means that certain international characters might not be readable anymore. So if your site has German, Japanese or eastern European content, switching the language might turn your complete content unreadable.<br />
<br />
<br />
== Multilingual Sites ==<br />
<br />
<br />
If you plan to run a site where the content will be in several languages, it is better to stick to languages that support UTF-8. Since they all use the same code, you will be able to display German Umlaut next to Japanese Characters for example. Otherwise, readers will always see unreadable characters next to readables, and will have to switch languages in order to read everything. Read below how to convert your favorite Language to UTF-8.<br />
<br />
Further, to support proper search and other functions, you should enable --with-mb_string functions in your PHP. In Linux, this might mean that you have to recompile linux! If you do this remember also to set your php.ini to have "mbstring.func_overload = 7". This makes php use multibyte-functions by default whenever a single-byte function is called.<br />
<br />
== Unwanted Languages ==<br />
<br />
<br />
You can remove unwanted languages by simply deleting the unwanted files from the /language/ -directory. Or you might want to create a subfolder there and move the unwanted files into it. Like this you can avoid that users choose Languages with character sets that will turn content unreadable.<br />
<br />
== How to convert Language file Character Sets ==<br />
<br />
<br />
First check in the download section of Geeklog.net if nobody already converted the language file after the last release of Geeklog!<br />
<br />
If you have Windows & MS Word, there is a very easy way to convert your language files to UTF-8 or other formats: Simply open the language-file with Word (rename it .doc and double-click for example). Then you will be asked what Character set the Source has. Choose the one that allows you to read the characters properly in the preview. Then save the file again as "Text Only"-Format. You will be asked again what Character Set you want to use. Choose your preferred ("Unicode UTF-8" for example). Make sure you also correct the line 32 of the file so that it represents the format you want:<br />
<br />
$LANG_CHARSET = "utf-8";<br />
<br />
Then, rename the file to "language_utf-8.php".<br />
<br />
If you have done so, you might want to publish the file also on the geeklog.net-website.<br />
<br />
<br />
== How to convert your complete Geeklog to Unicode/UTF-8 in 11 steps. ==<br />
<br />
<br />
If you started your server with one language, and want to move to a multilanguage system later on, it can be quite difficult if you need different charachter sets for the different languages. With UTF-8 you can display all langauges and letters at the same time in the same page without any problems. The best solution therefore would be to convert your _complete_ data into Unicode in one go. You dont want to go through each story and comment and edit letters by hand after you switched the encoding of the page.<br />
<br />
For this procedure to work you need (1) a text editor like notepad that can save raw text data while choosing the encoding (Notepad unter windows for example), (2) direct access to you MySQL executable (Windows cmd or Linux Shell) and (3) a NON-Unicode-Capable Editor (!) such as PHPEdit (or linux shell editors AFAIK). You can find out which editor cannot handle Unicode by saving a small text containing a "xxöxx" or similar with notepad as UTF-8 (See step 3) and opening it with the other editor. If you the letter "ö" appears now as "ö" you have the right one.<br />
<br />
Now let's start.<br />
<br />
1. Make a Backup of your database using the Geeklog Backup function.<br />
<br />
2. Download the created file from your server, zip it, burn it on a CD and send it to your lawyer. He should keep it as a backup in case you need it later to go back to step one.<br />
<br />
3. Open the file in Notepad/unicode-able editor (Notepad.exe). If your database is large, this will take some time, but its worth waiting for. Save the file again under a different (!) filename. Before you press the save-button, you have a field called "Encoding" below the field where you entered the filename. Choose "UTF-8".<br />
<br />
4. Now open the file in the non-Unicode-capable editor. You will see three strange letters "" in the beginning of the file. Remove them. They cause error-messages in the SQL later. Save the file again.<br />
<br />
5. Upload the file to your server. You might want to zip it first (also before downloading) to reduce transfer time.<br />
<br />
6. Create a new database if you can. If not delete all tables from your old one (call your lawyer to have your backup ready in an envelope).<br />
<br />
7. Write the data back into the database. Do this by typing<br />
<br />
mysql --user=root --password databasename file.txt<br />
<br />
replace "databasename" with the name of the newly created or emtpy database, and file.txt with the name of the file that you saved with notepad. The file has to be in the same directory as you are, if not move the file there. In Windows, it has to be in the /Mysql/bin-directory, where your MySQL.exe resides. If you do not want to move the files, prepend the path to the mysql.exe and/or the filename path.<br />
<br />
If you do not have root access to the database, exchange "root" with the username that you use to access your MySQL server.<br />
<br />
8. Hit enter. You will be prompted for the user's password. Enter it, and press return again. Now the database will be parsed back into the server.<br />
<br />
9. If you created a second database, edit your geeklog's config.php so that it accesses the new one.<br />
<br />
10. Switch your geeklog language to one of the _UTF-8 sets. If you want to reduce hassle with your users that have been using non-UTF-8 languages, convert all the language-files you have to UTF-8 with notepad (You dont need to remove the first three letter there) and change the encoding string in each file (Line 30) to $LANG_CHARSET = "utf-8";<br />
<br />
11. Change config.php so that the standard language file will be one of the UTF-8 sets also (somehwere line 239), $_CONF['language']="english_UTF-8";<br />
<br />
12. You might want to delete all non-utf-8 languages from your language folders.<br />
<br />
Thats all. Good luck :-)<br />
<br />
== Switching back to one language (1.3.9sr1 and before) ==<br />
<br />
<br />
If you set your config.php so that you use only one lanugage, you might run into trouble if you have users that already registered and selected another language. These users will continue to use their pre-set language. Even if you set their language manually to the standard or NULL (with a tool such as phpMyAdmin), the cookies on the user's computers will still call up the old one.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Visitor_Stats_Plugin&diff=2743Visitor Stats Plugin2004-11-10T15:04:14Z<p>Tokyoahead: </p>
<hr />
<div>Author: [[User:Tomw|TomW]] with modifications by John Hughes<br />
<br />
Latest Version: 1.3<br />
<br />
Geeklog Version: 1.3.8<br />
<br />
Release Date: 09-2003<br />
<br />
Description:<br />
<br />
The Stats plugin provides a complete visitor reporting and tracking program. <br />
<br />
On each page access it records: userid, username, user_agent, IP, host, browser type, computing platform, <br />
date and time, page viewed, referer, request type, and query_string.<br />
<br />
You can drill through all the report pages until you get to the individual accesses behind the statistics.<br />
<br />
Nearly all summary numbers are click-able.<br />
<br />
All URLs are click-able.<br />
<br />
Whenever a story, comment, or static page is displayed the title is displayed not the URL. These are <br />
click-able so that you can go directly to them.<br />
<br />
You trace every click of each of your visitors and their path through the website.<br />
<br />
You can associate users to IPs.<br />
<br />
The privilege system allows you to open up the statistics viewer to some or all of your users.<br />
<br />
You can open up non-sensitive portions of the statistics to anonymous users.<br />
<br />
Visitor Stats Block takes the place of Who's Online block and show daily stats - # of visitors # of pageviews<br />
registered users, new users and referers.<br />
<br />
The IP of anonymous visitors takes you to an online whois lookup on this ip.<br />
<br />
You should monitor the size of the log with a tool such as phpMyAdmin from time to time. the table "userstats" can grow quite large after some time. You can simply empty when it becomes too large.<br />
<br />
Links: [http://www.pigstye.net/gplugs/forum/index.php?forum=6 Support Forum] [http://prdownloads.sourceforge.net/gplugs/stats_1.3_1.3.8.tar.gz?download Download] [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gplugs/stats1.1/ CVS]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Administration&diff=488Administration2004-10-13T09:20:42Z<p>Tokyoahead: </p>
<hr />
<div>#[[IntroDoc|Introduction]]<br />
#[[Installing Geeklog]]<br />
#[[Administration]]<br />
##[[Configuration]]<br />
###[[The Geeklog Configuration File]]<br />
###[[Blocks]]<br />
####[[Official Blocks|Official]]<br />
#####[[Topics Block]]<br />
#####[[Admins Block]]<br />
#####[[User Settings & User Functions Block]]<br />
#####[[What's New Block]]<br />
#####[[Poll Block]]<br />
#####[[Events Block]]<br />
#####[[Older Stories Block]]<br />
####[[UnOfficial Blocks|UnOfficial]]<br />
#####[[Clock Block]]<br />
#####[[News Block]]<br />
####[[Block Types]]<br />
###[[Plugins]]<br />
####[[Official Plugins|Official]]<br />
#####[[Static Pages Plugin]]<br />
####[[UnOfficial Plugins|UnOfficial]]<br />
#####[[Ban Plugin]]<br />
#####[[Bookmarks Plugin]]<br />
#####[[Contacts Plugin]]<br />
#####[[EwikiPlugin]]<br />
#####[[External Pages Plugin]]<br />
#####[[FAQ Manager Plugin]]<br />
#####[[Multilanguage FAQ Plugin]]<br />
#####[[File Management Plugin]]<br />
#####[[Forum Plugin]]<br />
#####[[Geekary Plugin]]<br />
#####[[GlinksPlugin]]<br />
#####[[Glossary Plugin]]<br />
#####[[Mailing Lists Plugin]]<br />
#####[[Menu Plugin]]<br />
#####[[Net Tools]]<br />
#####[[Spamx Plugin]]<br />
#####[[ThingsToDoPlugin]]<br />
#####[[UpagePlugin|User Pages Plugin]]<br />
#####[[Visitor Stats Plugin]]<br />
#####[[Weather Plugin]]<br />
#####[[zClassified Ads Plugin]]<br />
####[[How To Install A Geeklog Plugin]] <br />
###[[Themes]]<br />
####[[Installing Themes]]<br />
####[[Custom Themes]]<br />
####[[Default Themes]]<br />
####[[Other Themes]]<br />
###[[Hacks]]<br />
####[[Admin Toolbox]]<br />
##[[Daily Administration]]<br />
###[[Users and Groups]]<br />
###[[Adding and Managing Content]]<br />
####[[Content Types]]<br />
#####[[Stories]]<br />
#####[[Links]]<br />
#####[[Events]]<br />
#####[[Polls]]<br />
####[[Editors and Admins]]<br />
####[[Submission Queues]]<br />
####[[Comments]]<br />
###[[Geeklog Permissions]]<br />
###[[Troubleshooting]]<br />
##[[Quick How-Tos]]<br />
##[[Security Guidelines]]<br />
#[[Users Documentation]]<br />
#[[Programmers/Developers Documentation]]<br />
<br />
[[Geeklog_1.3x_Documentation|Main TOC]]<br/><br />
[[Complete TOC]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=MultiFAQ_Plugin&diff=490MultiFAQ Plugin2004-10-13T09:14:55Z<p>Tokyoahead: </p>
<hr />
<div>{| border=1 cellspacing=0 width=100%<br />
|Author<br />
|Oliver Spiesshofer<br />
|-<br />
|Latest Version<br />
|2.0<br />
|-<br />
|Geeklog Version<br />
|1.3.9x<br />
|-<br />
|Release Date<br />
|Oct 13, 2004<br />
|-<br />
|Description<br />
|The Multilanguage FAQ Plugin allows you to create Topics, within those questions & answers along with an unlimited number of languages and therefore translations of the topics & Q&As<br />
|-<br />
|Features<br />
|The FAQ editor:<br />
*allows you to enter full HTML (Line breaks are converted into HTML)<br />
*it ncludes the integrated install, de-install, administration, upgrade, search, top ten, What's New Block, all wrapped inside the Geeklog portal<br />
*the default language of an entry is shown as long as there is no translation<br />
*the user sees the language of an entry according to his language-setting<br />
*the layout is taken 100% from the theme geeklog is using<br />
|}<br />
<br />
== Setup ==<br />
The setup of the plugin is the same as for all other plugins. Please follow the general instructions.<br />
<br />
== Upgrading ==<br />
The Plugin has it's own upgrade function. It will detect automatically which version of the plugin you are running right now and perform all the necessary steps to upgrade to the current version. In order to upgrade from one to any other version, you simply need to delete the old files, copy the new ones into the directory and then run /admin/plugins/multifaq/install.php<br />
You will see a notification that you need to upgrade. Press the upgrade button. If now you see an uninstall-button, the upgrade has been done. If you have any trouble, please check the error.log in your geeklog log directory.<br />
<br />
== Administration ==<br />
For users to be able to administer the plugin, you need to put them into the "Multifaq Admin" Group.<br />
<br />
The Admins can all Add & remove Topics, Languages and Q&A, all with the according translations.<br />
<br />
== Users ==<br />
The Plugin can be seen by all users. There is no function right now to hide it from certain users.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=MultiFAQ_Plugin&diff=466MultiFAQ Plugin2004-10-13T09:14:21Z<p>Tokyoahead: </p>
<hr />
<div>{| border=1 cellspacing=0 width=100%<br />
|Author<br />
|Oliver Spiesshofer<br />
|-<br />
|Latest Version<br />
|2.0<br />
|-<br />
|Geeklog Version<br />
|1.3.9x<br />
|-<br />
|Release Date<br />
|Oct 13, 2004<br />
|-<br />
|Description<br />
|The Multilanguage FAQ Plugin allows you to create Topics, within those questions & answers along with an unlimited number of languages and therefore translations of the topics & Q&As<br />
|-<br />
|Features<br />
|The FAQ editor:<br />
*allows you to enter full HTML (Line breaks are converted into <BR>)<br />
*it ncludes the integrated install, de-install, administration, upgrade, search, top ten, What's New Block, all wrapped inside the Geeklog portal<br />
*the default language of an entry is shown as long as there is no translation<br />
*the user sees the language of an entry according to his language-setting<br />
*the layout is taken 100% from the theme geeklog is using<br />
|}<br />
<br />
== Setup ==<br />
The setup of the plugin is the same as for all other plugins. Please follow the general instructions.<br />
<br />
== Upgrading ==<br />
The Plugin has it's own upgrade function. It will detect automatically which version of the plugin you are running right now and perform all the necessary steps to upgrade to the current version. In order to upgrade from one to any other version, you simply need to delete the old files, copy the new ones into the directory and then run /admin/plugins/multifaq/install.php<br />
You will see a notification that you need to upgrade. Press the upgrade button. If now you see an uninstall-button, the upgrade has been done. If you have any trouble, please check the error.log in your geeklog log directory.<br />
<br />
== Administration ==<br />
For users to be able to administer the plugin, you need to put them into the "Multifaq Admin" Group.<br />
<br />
The Admins can all Add & remove Topics, Languages and Q&A, all with the according translations.<br />
<br />
== Users ==<br />
The Plugin can be seen by all users. There is no function right now to hide it from certain users.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Administration&diff=469Administration2004-10-13T08:57:15Z<p>Tokyoahead: </p>
<hr />
<div>#[[IntroDoc|Introduction]]<br />
#[[Installing Geeklog]]<br />
#[[Administration]]<br />
##[[Configuration]]<br />
###[[The Geeklog Configuration File]]<br />
###[[Blocks]]<br />
####[[Official Blocks|Official]]<br />
#####[[Topics Block]]<br />
#####[[Admins Block]]<br />
#####[[User Settings & User Functions Block]]<br />
#####[[What's New Block]]<br />
#####[[Poll Block]]<br />
#####[[Events Block]]<br />
#####[[Older Stories Block]]<br />
####[[UnOfficial Blocks|UnOfficial]]<br />
#####[[Clock Block]]<br />
#####[[News Block]]<br />
####[[Block Types]]<br />
###[[Plugins]]<br />
####[[Official Plugins|Official]]<br />
#####[[Static Pages Plugin]]<br />
####[[UnOfficial Plugins|UnOfficial]]<br />
#####[[Ban Plugin]]<br />
#####[[Bookmarks Plugin]]<br />
#####[[Contacts Plugin]]<br />
#####[[EwikiPlugin]]<br />
#####[[External Pages Plugin]]<br />
#####[[FAQ Manager Plugin]]<br />
#####[[Multilanguage FAQ Plugin]]<br />
#####[[File Management Plugin]]<br />
#####[[Forum Plugin]]<br />
#####[[Geekary Plugin]]<br />
#####[[GlinksPlugin]]<br />
#####[[Glossary Plugin]]<br />
#####[[Mailing Lists Plugin]]<br />
#####[[Menu Plugin]]<br />
#####[[Net Tools]]<br />
#####[[Spamx Plugin]]<br />
#####[[ThingsToDoPlugin]]<br />
#####[[UpagePlugin|User Pages Plugin]]<br />
#####[[Visitor Stats Plugin]]<br />
#####[[Weather Plugin]]<br />
#####[[zClassified Ads Plugin]]<br />
####[[How To Install A Geeklog Plugin]] <br />
###[[Themes]]<br />
####[[Installing Themes]]<br />
####[[Custom Themes]]<br />
####[[Default Themes]]<br />
####[[Other Themes]]<br />
###[[Hacks]]<br />
####[[Admin Toolbox]]<br />
##[[Daily Administration]]<br />
###[[Users and Groups]]<br />
###[[Adding and Managing Content]]<br />
####[[Content Types]]<br />
#####[[Stories]]<br />
#####[[Links]]<br />
#####[[Events]]<br />
#####[[Polls]]<br />
####[[Editors and Admins]]<br />
####[[Submission Queues]]<br />
####[[Comments]]<br />
###[[Geeklog Permissions]]<br />
###[[Troubleshooting]]<br />
##[[Quick How-Tos]]<br />
###[[How to convert Geeklog to UTF-8]]<br />
##[[Security Guidelines]]<br />
#[[Users Documentation]]<br />
#[[Programmers/Developers Documentation]]<br />
<br />
[[Geeklog_1.3x_Documentation|Main TOC]]<br/><br />
[[Complete TOC]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Administration&diff=465Administration2004-10-13T08:50:30Z<p>Tokyoahead: </p>
<hr />
<div>#[[IntroDoc|Introduction]]<br />
#[[Installing Geeklog]]<br />
#[[Administration]]<br />
##[[Configuration]]<br />
###[[The Geeklog Configuration File]]<br />
###[[Blocks]]<br />
####[[Official Blocks|Official]]<br />
#####[[Topics Block]]<br />
#####[[Admins Block]]<br />
#####[[User Settings & User Functions Block]]<br />
#####[[What's New Block]]<br />
#####[[Poll Block]]<br />
#####[[Events Block]]<br />
#####[[Older Stories Block]]<br />
####[[UnOfficial Blocks|UnOfficial]]<br />
#####[[Clock Block]]<br />
#####[[News Block]]<br />
####[[Block Types]]<br />
###[[Plugins]]<br />
####[[Official Plugins|Official]]<br />
#####[[Static Pages Plugin]]<br />
####[[UnOfficial Plugins|UnOfficial]]<br />
#####[[Ban Plugin]]<br />
#####[[Bookmarks Plugin]]<br />
#####[[Contacts Plugin]]<br />
#####[[EwikiPlugin]]<br />
#####[[External Pages Plugin]]<br />
#####[[FAQ Manager Plugin]]<br />
#####[[File Management Plugin]]<br />
#####[[Forum Plugin]]<br />
#####[[Geekary Plugin]]<br />
#####[[GlinksPlugin]]<br />
#####[[Glossary Plugin]]<br />
#####[[Mailing Lists Plugin]]<br />
#####[[Menu Plugin]]<br />
#####[[Net Tools]]<br />
#####[[Spamx Plugin]]<br />
#####[[ThingsToDoPlugin]]<br />
#####[[UpagePlugin|User Pages Plugin]]<br />
#####[[Visitor Stats Plugin]]<br />
#####[[Weather Plugin]]<br />
#####[[zClassified Ads Plugin]]<br />
####[[How To Install A Geeklog Plugin]] <br />
###[[Themes]]<br />
####[[Installing Themes]]<br />
####[[Custom Themes]]<br />
####[[Default Themes]]<br />
####[[Other Themes]]<br />
###[[Hacks]]<br />
####[[Admin Toolbox]]<br />
##[[Daily Administration]]<br />
###[[Users and Groups]]<br />
###[[Adding and Managing Content]]<br />
####[[Content Types]]<br />
#####[[Stories]]<br />
#####[[Links]]<br />
#####[[Events]]<br />
#####[[Polls]]<br />
####[[Editors and Admins]]<br />
####[[Submission Queues]]<br />
####[[Comments]]<br />
###[[Geeklog Permissions]]<br />
###[[Troubleshooting]]<br />
##[[Quick How-Tos]]<br />
###[[How to convert Geeklog to UTF-8]]<br />
##[[Security Guidelines]]<br />
#[[Users Documentation]]<br />
#[[Programmers/Developers Documentation]]<br />
<br />
[[Geeklog_1.3x_Documentation|Main TOC]]<br/><br />
[[Complete TOC]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Links&diff=523Links2004-07-18T21:15:47Z<p>Tokyoahead: </p>
<hr />
<div>On the links page, the Top ten of all links are displayed below the cateogries.<br />
<br />
If you add links, you have to fill in all fields except the category field. You can add links without a category by selecting "Other" but dont enter any text in the field provided. If you add links without a category the top ten are not displayed. Instead, the links that dont have a category are displayed.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:Installing_Geeklog:System_Requirements&diff=2733Talk:Installing Geeklog:System Requirements2004-07-11T22:54:53Z<p>Tokyoahead: </p>
<hr />
<div>I am wondering what kind of system requirments should be put here. Are you going to be putting hardware specs here?<br />
<br />
[[User:Tomw|TomW]]<br />
<br />
Hardware is not really relevant unless you are talking about supporting lots of users. The software requirements are the main thing, you know php, mysql, webserver software, etc.<br />
<br />
[[User:Tokyoahead|Tokyoahead]]<br />
<br />
I copied the system reqs from the FAQ-page on geeklog.net into the page.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:Installing_Geeklog:System_Requirements&diff=383Talk:Installing Geeklog:System Requirements2004-07-11T22:54:21Z<p>Tokyoahead: </p>
<hr />
<div>I am wondering what kind of system requirments should be put here. Are you going to be putting hardware specs here?<br />
<br />
[[User:Tomw|TomW]]<br />
<br />
Hardware is not really relevant unless you are talking about supporting lots of users. The software requirements are the main thing, you know php, mysql, webserver software, etc.<br />
<br />
[[User:Tokyoahead]]<br />
<br />
I copied the system reqs from the FAQ-page on geeklog.net into the page.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Installing_Geeklog:System_Requirements&diff=541Installing Geeklog:System Requirements2004-07-11T22:53:18Z<p>Tokyoahead: </p>
<hr />
<div>Geeklog requires PHP, MySQL and a webserver that works with these.<br />
<br />
PHP: The minimum PHP version required is PHP 4.0.4. However, that version is very much out of date (and has security issues), so we suggest you use PHP 4.1.2 at the very least. Or, better yet, use the most up to date version available at the time you're reading this.<br />
<br />
At the time of this writing, PHP 5 is still in Beta. As one of the main goals of PHP 5 development was to keep compatibility with PHP 4, we do not expect any serious problems with PHP 5. We plan to be fully compatible with PHP 5 when it is released.<br />
<br />
MySQL: While we try to be compatible with MySQL down to version 3.22, we recommend using the most up to date version of the 3.23 or 4.0 variety available at the time you're reading this.<br />
<br />
Please note that because of possible SQL injection problems, we do not recommend using Geeklog on MySQL 4.1 (which is still in Alpha state at the time of this writing). We plan to resolve any outstanding issues with the release of Geeklog 1.3.9 in early 2004.<br />
<br />
Webserver: Geeklog is known to work with the Apache, Zeus, and Microsoft IIS webservers. As with the other components, it is suggested to use the most up to date version available at the time you're reading this.<br />
<br />
A note about Apache 2 compatibility: At the time of this writing, there was still no official word from the PHP developers regarding compatibility of PHP 4 and Apache 2. There are, however, several sites running without any problems on this combination. Again, it is suggested to use the most up to date version of both Apache and PHP.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=User:Tokyoahead&diff=2851User:Tokyoahead2004-07-09T11:01:40Z<p>Tokyoahead: </p>
<hr />
<div>http://tokyoahead.com</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Talk:Geeklog_1.3x_Documentation&diff=352Talk:Geeklog 1.3x Documentation2004-07-09T10:59:46Z<p>Tokyoahead: </p>
<hr />
<div>[[User:Netbuster]]<br />
I was excited to learn about this Wiki project and decided to add some personal experiences, as i just refreshed my memory by recent upgrade to 1.3.9 <br />
But, I started typing all little things I noticed and realized, doc page becomes clogged too much.<br />
<br />
I added one note here for obvious thing which happens with me always and under all hostings, and then thought one more note about checking permissions, under installation steps, there is an advise for check.php script. It is currently running not correctly, so first my move was to write it, like this <br />
NOTE: As of 1.3.9sr1 version, running check.php will help you to identify whether permissions are set correctly only till you get an error regarding SQL. Once SQL related error occurs, download error.log and read the error. It will mean that permissions for logs/ folder are set and geeklog writes to it. But errors regarding SQL are not for you to worry at that point, omit it for now and go to the step 4<br />
<br />
But then I removed it from there, since I started thinking that at the same spot I have to describe how to correct errors, which error is good and which is not, what to do etc. It may become a 2 page story just describing a current work of one script, while it may all change in the next version <br />
So, having said all of this, my questions are: <br />
<br />
# Should we have a version related errors file or how wiki doc will change if 1.3.10 will be released and function differently <br />
# If someone spots a bug or an error, is Documentation is a write space for describing it and if yes, what spot? Should it be under Problems? May be version differencies? I remember from previous installations, there are numerious little but important changes from version to version and automatic updates not always catch them <br />
# Not related, but ... What about security? I registered my account and even without proving an email I was logged on immediately to edit stuff. What if someone will delete or add advertisement entries all over the place?<br />
<br />
[[User:Tomw|TomW]] Here are my suggestions for these questions:<br />
# It is very easy to make a new page just refer to it. I would suggest that version specific notes be included on their own page like this <nowiki>[[ModulePageSubjectEtc 1.3.8 note]]</nowiki><br />
# It doesn't matter on things like this, perhaps we could add a page to each update page for gotcha's like this. Be the first and start the trend.<br />
#Security is not a big issue. I will keep an eye on it, as sysop I have the ability to ban users and ips and I will. The wiki keeps a history and I make a daily backup also, so I can get back to previous versions.<br />
<br />
== Still unclear how to post ==<br />
<br />
Hi ALL<br />
<br />
I went ahead and posted a gotcha for check.php<br />
<br />
http://wiki.geeklog.net/wiki/index.php/Talk:Installation_Instructions<br />
<br />
I thought, I did it right way, I went first to the page I wanted to add my gotcha, which is this one:<br />
<br />
http://www.pigstye.net/wiki/index.php/Installation_Instructions<br />
<br />
And pressed "Discuss this page"<br />
<br />
where I typed all my text and submitted<br />
<br />
But when I went back to the main page, nowhere it states that there is note linked to that page and of course no name mentioned, so it will be a real coinsidence if someone will click to "Discuss..." link to see my note and have a problem discussed there, so my note will be helpful<br />
<br />
I see some options used (like linked pages) but how I can link those notes?<br />
<br />
or, may be I can make a fresh page and position it under the page it discusses? The How?<br />
<br />
Please advise!<br />
<br />
== Adding pages so they're visible ==<br />
[[User:Robert|Robert]]<br />
Netbuster, if you want to add a subpage to any page in the wiki you do the following:<br />
#Go to this page e.g. [[Installation_Instructions|Installation Instructions]]<br />
#You read it and want to add some thoughts of yours and call it '''CHECK.PHP GOTCHA'''. OK<br />
#So you clik on Edit this page.<br />
#In the editor you go to the bottom of the text and enter e.g. this <nowiki>[[CHECK.PHP GOTCHA]]</nowiki><br />
#You save the page<br />
#After saving there will be a new link at the bottom of Installation Instructions page, called '''CHECK.PHP GOTCHA''' leading to a new page you gotta fill with the content<br />
#When you click on the link you will see an editor field waiting for you insights on any subject<br />
<br />
Hope that helps.<br />
<br />
PS<br />
I've started with wiki thing a year ago and I quit because couldn't understand how it works. Now after Tom has set this up I started slowly to read the wiki docs and found it very simple to use. Really after adding two or more pages you'll get there.<br />
<br />
== New Layout Of 1.3x Index Page ==<br />
<br />
[[User:Robert|Robert]]<br />
I was just wondering whether we could collapse the index page a little bit, and hide all subthings under the appropriate main sections. Something like I did for Introduction. <br />
<br />
That would make the navigation easier I guess. Any comments?<br />
<br />
Also I would like the list of plugins ordered alphabetically.<br />
<br />
[[User:Tokyoahead|Tokyoahead]]<br />
<br />
Good Idea. Both of them. Maybe there could be a sitemap however which lists all topics. The Wiki is providing this already, no? So maybe a link to that would be good.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Locale_Settings&diff=2818Locale Settings2004-07-09T10:56:26Z<p>Tokyoahead: </p>
<hr />
<div>;[[The_Geeklog_Configuration_File|Back to The Geeklog Configuration File]]<br />
<br />
== Language Setting ==<br />
The default language is set with the variable<br />
<br />
$_CONF['language']='english_utf-8'; <br />
<br />
The allowed values are the names of the language files without the ".php".<br />
<br />
If the users can change the language themselves is set in the [[Site_Settings|Site Settings]] with the variable $_CONF['allow_user_language'].<br />
<br />
The currently available languages are listed [[What Languages are Available?|here]]. If your chosen language exists in different formats, or if you decide to run your system in several languages, please read the [[Language_Tips_%26_Tricks|Language Tips & Tricks]].</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Locale_Settings&diff=350Locale Settings2004-07-09T10:56:09Z<p>Tokyoahead: </p>
<hr />
<div>;[[The_Geeklog_Configuration_File|Back to The Geeklog Configuration File]]<br />
<br />
== Language Setting ==<br />
The default language is set with the variable<br />
<br />
$_CONF['language']='english_utf-8'; <br />
<br />
The allowed values are the names of the language files without the ".php".<br />
<br />
If the users can change the language themselves is set in the [[Site_Settings|Site Settings]] with the variable $_CONF['allow_user_language'].<br />
<br />
The currently available languages are listed [[[[What Languages are Available?]]|here]]. If your chosen language exists in different formats, or if you decide to run your system in several languages, please read the [[Language_Tips_%26_Tricks|Language Tips & Tricks]].</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Locale_Settings&diff=349Locale Settings2004-07-09T10:53:56Z<p>Tokyoahead: </p>
<hr />
<div>;[[The_Geeklog_Configuration_File|Back to The Geeklog Configuration File]]<br />
<br />
== Language Setting ==<br />
The default language is set with the variable<br />
<br />
$_CONF['language']='english_utf-8'; <br />
<br />
The allowed values are the names of the language files without the ".php".<br />
<br />
If the users can change the language themselves is set in the [[Site_Settings|Site Settings]] with the variable $_CONF['allow_user_language'].<br />
<br />
The currently available languages are listed [[What_Languages_are_Available|here]]. If your chosen language exists in different formats, or if you decide to run your system in several languages, please read the [[Language_Tips_%26_Tricks|Language Tips & Tricks]].</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Polls&diff=2849Polls2004-07-09T10:30:25Z<p>Tokyoahead: </p>
<hr />
<div>To setup a new Poll, you have to use the Admin Feature "Polls". With the function "New Poll" you will get to a menu to set up the new Poll.<br />
<br />
A Poll is made of a Poll ID, which is used internally to identify the poll, and should not include spaces. <br />
<br />
Next, there is a Question which the Users will read and (hopefully) answer.<br />
<br />
Further, there are possible answers. The maximum allowable number of answers is setup in the config.php.<br />
<br />
You should predefine at least two answers and you can pre-set already a certain numbers of votes given to each answer. This is good in case you transfer a poll form another system. It also allows you to correct the poll later in case you think that there were some bogus votings.<br />
<br />
You can allow or disallow comments. Depending on the setting in the config.php, users will have to be logged in to give comments or not.<br />
<br />
Further, you can choose if you want this poll to be shown on the frontpage. If you DO NOT show a poll on the frontpage, no-one will be able to vote. Voting is only possible through the [[Poll_Block|Poll Block]]. If this block is not shown, there is also no voting possible.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Calendar_Settings&diff=2811Calendar Settings2004-07-09T09:59:03Z<p>Tokyoahead: </p>
<hr />
<div>{| border=1 cellspacing=0<br />
!Variable<br />
!Default Value<br />
!Description<br />
|-<br />
|personalcalendars<br />
|0<br />
|Allow account holders to have a personal calendar<br />
|-<br />
|showupcomingevents<br />
|1<br />
|Show up-coming events (0=no, 1=yes)<br />
|-<br />
|upcomingeventsrange<br />
|14<br />
|Number of days that &quot;Upcoming Events&quot; in the [[Events_Block|Events-block]] will look ahead.<br />
|-<br />
|event_types<br />
|Anniversary, Appointment, Birthday, Business, Education, Holiday, Meeting, Miscellaneous, Personal, Phone Call, Special Occasion, Travel, Vacation<br />
|The set of event types that are used both on the public calendar and the user's personal calendars<br />
|}<br />
;[[The_Geeklog_Configuration_File|Back to The Geeklog Configuration File]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Calendar_Settings&diff=341Calendar Settings2004-07-09T09:55:07Z<p>Tokyoahead: </p>
<hr />
<div>{| border=1 cellspacing=0<br />
!Variable<br />
!Default Value<br />
!Description<br />
|-<br />
|personalcalendars<br />
|0<br />
|Allow account holders to have a personal calendar<br />
|-<br />
|showupcomingevents<br />
|1<br />
|Show up-coming events (0=no, 1=yes)<br />
|-<br />
|upcomingeventsrange<br />
|14<br />
|Number of days that &quot;Upcoming Events&quot; in the What's New-block will look ahead.<br />
|-<br />
|event_types<br />
|Anniversary, Appointment, Birthday, Business, Education, Holiday, Meeting, Miscellaneous, Personal, Phone Call, Special Occasion, Travel, Vacation<br />
|The set of event types that are used both on the public calendar and the user's personal calendars<br />
|}<br />
;[[The_Geeklog_Configuration_File|Back to The Geeklog Configuration File]]</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Block_Types&diff=355Block Types2004-07-07T11:47:04Z<p>Tokyoahead: </p>
<hr />
<div>There are four different Block types that have completely independent functionalities:<br />
<br />
<h2>Default Blocks</h2><br />
These blocks are built-in and cannot be deleted. They can be deactivated however. Usually, only their name, helpfile and position can be changed.<br />
<br />
<h2>PHP Block</h2><br />
This block usually calls a function that is provided by a plugin or standart functionality of geeklog. The name of the php function is entered in the "Block Function:"-Field. Concerning the function entered, there is the following text displayed in the standard layouts:<br />
<br />
"If you would like to have one of your blocks use PHP code, enter the name of the function above. Your function name must start with the prefix "phpblock_" (e.g. phpblock_getweather). If it does not have this prefix, your function will NOT be called. We do this to keep people who may have hacked your Geeklog installation from putting arbitrary function calls that may be harmful to your system. Be sure not to put empty parenthesis "()" after your function name. Finally, it is recommended that you put all your PHP Block code in /path/to/geeklog/system/lib-custom.php. That will allow the code to stay with you even when you upgrade to a newer version of Geeklog."<br />
<br />
These blocks can provide a very large variety of functions, only depending on the function used.<br />
<br />
<h2>Portal Block</h2><br />
The Portal Block is diplaying an RSS/RDF feed. The content can not be changed since it is completely determined by the content of the RSS/RDF file. For a new block, at least the complete URL of the RSS/RDF-file has to be given.<br />
<br />
<h2>Normal Block</h2><br />
The Normal block usually is a simple HTML-text, that can contain announcements, links and even advertising. It can be used as a Navigation-tool and link to static pages as well as external sites.</div>Tokyoaheadhttp://wiki.geeklog.net/index.php?title=Poll_Block&diff=2835Poll Block2004-07-07T11:42:43Z<p>Tokyoahead: </p>
<hr />
<div><h2>Contents</h2><br />
The Poll block shows the current polls that are set to be shown on the frontpage. Depending if the user has voted already, it shows the result or the questions, and a link to the comments if applicable<br />
<br />
<h2>Customizing</h2><br />
The polls shown depend on the permission of the current user.<br />
Only polls are shown that are set with "Appears on Homepage:"-switch.</div>Tokyoahead