[geeklog-devel] Brainstorming: Admin Toolbox?

Tony Bibbs tony at tonybibbs.com
Mon Jul 12 17:47:21 EDT 2004

>Not sure about this one, but do we want to support more than one function
>per scriptlet? Or would those go into separate scriptlets?
runScriptlet() can act as a proxy method.  It is the starting point for 
processing so you could have:

function runScriptlet()
    global $HTTP_POST_VARS;

    if (isset($HTTP_POST_VARS['someVariable'])) {
    } else {

function _runFunctionA()
    // Custom process for handling POST data

function _runFunctionB()
    // Default (i.e. non-POST) processing

>Also, what about POST requests? How do they come back into the scriptlet?
Above example should address this too.

>Outside of the webtree makes sense. Not sure about the database, as it
>also beats the "simple installation" idea.
Uh, I don't agree.  The only attributes in a database table would be:
been_ran (bit) -> this indicates the script has been ran at least once
enabled_flag (bit)
[insert security fields here]

All that stuff would come right out of the class definition so the 
installation would be easy:


// Get tmp file location
$fileToInclude = [..];

// Include it
require_once $fileToInclude;

// Get class name
$className = [...];

// Instantiate class
$myObj = new $className();

// Delete scriptlet if it already exists
DB_query("DELETE FROM {$_TABLES['scriptlet']} WHERE script_className = 

//Add it to scriptlet table:
$sql = sprintf("INSERT INTO ? (script_className, script_version, 
script_author, script_long_desc, script_short_desc, been_ran, enabled) 
values ('?','?','?','?','?',?,?)",
    $_TABLES['scriptlet'], $className, $myObj->getVersion(), 
$myObj->getAuthor(), $myObj->getLongDesc(), $myObj->getShortDesc(), 0, 1);


>I don't really see any file permission issues. The scriptlets are
>probably included(?) or they're simple .php files.
Well, the directory they'd go in would need to be writeable.  Again, I'd 
prefer the database if for no other than to make upgrades easier, but 
that's just my to cents.


More information about the geeklog-devel mailing list