Functions

_buildnotifydata()

_buildnotifydata($notify) 
package bbsengine4

Parameters

$notify

custom session handler close function.

_closesession() 
package bbsengine4
since 20111228
access private

custom session handler destroy function

_destroysession($id) 
package bbsengine4
since 20111228
access private

Parameters

$id

_displaypage()

_displaypage($page = null, $data = array()
package bbsengine4
since 20150929

Parameters

$page

$data

returns footer.tmpl as a string with optional mantra

_fetchpagefooter(array $options = null
package bbsengine4
since 20110105
access private
deprecated since 20190805

Parameters

$options

array

dictionary of options

return the sidebar template as a string

_fetchsidebar(\dictionary $options = null) : string
package bbsengine4
since 20110413
since 20171121
access private

Parameters

$options

\dictionary

options keys 'menu' and 'template' accepted

Returns

string

custom session handler garbage collection function

_gcsession($maxlifetime) 
package bbsengine4
since 20111228
access private

Parameters

$maxlifetime

returns data for a given member id.

_getmember(integer $id) : array | \PEAR::Error
package bbsengine4
access public
since 19990102

Parameters

$id

integer

Returns

array\PEAR::Error

returns a lightly configured PEAR::HTML_Page2 instance

_getpage($title = null, $options = array()
package bbsengine4
since 20110725
fix rewrite to use page.tmpl

Parameters

$title

$options

return a smarty3 template object, configured for the website

_getsmarty(\dictionary $options = null
package bbsengine4
since 20140710

Parameters

$options

\dictionary

options an array of options: templatedir, pluginsdir, compiledir, compileid

custom session handler open function

_opensession($path, $name) 
package bbsengine4
since 20111228
access private

Parameters

$path

$name

custom session handler read function.

_readsession($id) 
package bbsengine4
since 20111228
access private

Parameters

$id

custom session handler write function

_writesession($id, $data) 
package bbsengine4
since 20111228
access private

Parameters

$id

$data

accesscart()

accesscart($op, $data = null
package bbsengine4
since 20160502

Parameters

$op

$data

accesscartitem()

accesscartitem($op, $cartitem = null
package bbsengine4
since 20160429

Parameters

$op

$cartitem

given an operation, return a boolean or null if the operation is not handled

accessmantra(string $op, \dictionary $data = null, integer $memberid = null) : boolean | null
package bbsengine4
since 20160910

Parameters

$op

string

op operation.. for example "summary" or "edit" or "delete"

$data

\dictionary

data optional data needed to resolve access check

$memberid

integer

memberid member id to check or null to use result of getcurrentmemberid()

Returns

booleannullTrue, False, or null if the operation is not handled

function to determine access to the "member" table

accessmember(string $op, array $data = null, integer $memberid = null
package bbsengine4
since 20130225

Parameters

$op

string

$data

array

$memberid

integer

determines if the given memberid is allowed to execute the given operation for the given notify data.

accessnotify(string $op, array $notify = null, integer $memberid = null) : boolean
package bbsengine4
since 20130411

Parameters

$op

string

$notify

array

$memberid

integer

Returns

boolean

accesssig()

accesssig(string $op, \dictionary $sig = null, integer $memberid = null) : boolean
package bbsengine4
since 20160202

Parameters

$op

string

op delete, edit, add, view

$sig

\dictionary

sig dictionary containing a sig record

$memberid

integer

memberid memberid to check or null to use currentmemberid

Returns

boolean

add a flag to the system

addflag($name, $description, $defaultvalue) 
package bbsengine4
since 20121029

Parameters

$name

$description

$defaultvalue

buildaccountfieldset()

buildaccountfieldset($form, $options) 
package bbsengine4

Parameters

$form

$options

return a list of dictionaries with keys 'title' and 'uri' for each part of $sigpath (ltree)

buildbreadcrumbs($sigpath) 
package bbsengine4
since 20151118

Parameters

$sigpath

buildbutton()

buildbutton($form, $name, $data) 
package bbsengine4

Parameters

$form

$name

$data

buildbuttonfieldset()

buildbuttonfieldset($form, $submitlabel = "NEEDINFO", $attributes = null
package bbsengine4
since 20150418

Parameters

$form

$submitlabel

$attributes

buildcartactions()

buildcartactions($data) 
package bbsengine4
since 20160429

Parameters

$data

buildcartitemactions()

buildcartitemactions($data = array()
package bbsengine4
since 20160429

Parameters

$data

buildcartrecord()

buildcartrecord() 
package bbsengine4
since 20151222

buildchangepasswordfieldset()

buildchangepasswordfieldset($form, $data = array()
package bbsengine4
since 20140831

Parameters

$form

$data

buildlabel()

buildlabel($buf) 
package bbsengine4
since 20120507

Parameters

$buf

given one or more URIs (the function has a variable number of arguments), compose a proper labelpath, calling normalizelabelpath() at the end.

buildlabelpath() 
package bbsengine4
since 20120312 re-written 20160115

buildloginfieldset()

buildloginfieldset($form) 
package bbsengine4

Parameters

$form

buildmantraactions()

buildmantraactions($data) 
package bbsengine4
since 20160910

Parameters

$data

buildmantrafieldset()

buildmantrafieldset($form) 
package bbsengine4
since 20160910

Parameters

$form

build a mantra record (dict) from html_quickform2 values

buildmantrarecord(array $values) : array
package bbsengine4
since 20160910

Parameters

$values

array

from PEAR::html_quickform2 results

Returns

arraymantra record

buildmemberfieldset()

buildmemberfieldset($form) 
package bbsengine4

Parameters

$form

buildmemberrecord()

buildmemberrecord($values) 
package bbsengine4

Parameters

$values

buildnewpasswordfieldset()

buildnewpasswordfieldset($form) 
package bbsengine4
since 20141016

Parameters

$form

buildnotifyactions()

buildnotifyactions($notify) 
package bbsengine4

Parameters

$notify

buildnotifydata()

buildnotifydata($notify) 
package bbsengine4

Parameters

$notify

buildnotifyrecord()

buildnotifyrecord($key, $notify) 
package bbsengine4
since 20160202

Parameters

$key

$notify

buildnotifytemplatename()

buildnotifytemplatename($type) 
package bbsengine4

Parameters

$type

buildpagerinfo()

buildpagerinfo($sql, $params) 
package bbsengine4
since 20151118

Parameters

$sql

$params

buildparentlabelpath()

buildparentlabelpath(\ltree $labelpath) : \ltree
package bbsengine4
since 20140829

Parameters

$labelpath

\ltree

ltree label path

Returns

\ltreelabelpath except for last element

transforms the given uri into something that can be used with the 'ltree' type.

buildpath(string $buf) : string
package bbsengine4
since 20121107

Parameters

$buf

string

Returns

string

buildsigactions()

buildsigactions($sig) 
package bbsengine4
since 20150203

Parameters

$sig

build a fieldset for handling the 'sig' table

buildsigfieldset($form) 
package bbsengine4
since 20140730

Parameters

$form

builds a uri from a given ltree labelpath

builduri(\labelpath $labelpath) 
package bbsengine4
since 20120507
see

Parameters

$labelpath

\labelpath

ltree

cartidexists()

cartidexists($cartid) 
package bbsengine4
since 20160430

Parameters

$cartid

cartitemexists()

cartitemexists($trailerid) 
package bbsengine4
since 20160502

Parameters

$trailerid

this function is intended to be used as part of an html_quickform2 callback rule

checklogin(\args $args) : boolean
package bbsengine4

Parameters

$args

\args

dictionary with 'username' and 'password' as keys

Returns

boolean

checknonce()

checknonce($secret, $nonce) 
package bbsengine4

Parameters

$secret

$nonce

checkpassword()

checkpassword(\text $password, integer $memberid) 
package bbsengine4
since 20140831
see

Parameters

$password

\text

plain text password i.e. from a quickform

$memberid

integer

memberid memberid to check against

checksession()

checksession() 
package bbsengine4

clearcart()

clearcart($cartid) 
package bbsengine4
since 20160503

Parameters

$cartid

function to clear the current action

clearcurrentaction() 
package bbsengine4
since 20150309

clearcurrentcart()

clearcurrentcart() 
package bbsengine4
since 20151214

unset the "current member id" for the session aka "logout"

clearcurrentmemberid() 
package bbsengine4
since 20121018

function to clear a flag, resetting it to the default value for the given user.

clearflag($name, $memberid = null
package bbsengine4
since 20121029

Parameters

$name

$memberid

clearpageprotocol()

clearpageprotocol() 
package bbsengine4
since 20140825
deprecated 20190724

datestamp()

datestamp($stamp, $format = null
package bbsengine4

Parameters

$stamp

$format

connect to a DSN using the MDB2 "singleton" static method, configures the object (quote_identifier set to true, fetchmode set to MDB2_FETCHMODE_ASSOC, and loading the "Extended" module), and returns a reference to it.

dbconnect(string $dsn) : object | \error
package bbsengine4

Parameters

$dsn

string

dsn

Returns

object\error

decodes given json data into a dictionary (associative array)

decodejson($data) 
package bbsengine4
since 20140730

Parameters

$data

function which displays the "delete confirmation" template.

displaydeleteconfirmation($message, $yesuri, $yestxt, $nouri, $notxt, $title = null
package bbsengine4
since 20110801

Parameters

$message

$yesuri

$yestxt

$nouri

$notxt

$title

display an error page template with message

displayerrorpage(string $message, integer $statuscode = 418, string $title = "error", string $template = "errormessage.tmpl"
package bbsengine4
access public
since 20120608

Parameters

$message

string

$statuscode

integer

http error code (i.e. 500, 404)

$title

string

$template

string

function which accepts a renderer instance converted to an array, a page title, and an optional template name. it composes an html_page2 instance and calls displaypage() which is part of bbsengine3

displayform(\html_renderer $renderer, string $title, array $data = array()
package bbsengine4
since 20150629

Parameters

$renderer

\html_renderer

$title

string

$data

array

displaypage()

displaypage($page, $options = null
package bbsengine4
since 20151203

Parameters

$page

$options

display the permission denied template

displaypermissiondenied($message = "permission denied", $title = "permission denied"
package bbsengine4
access public
since 20121008

Parameters

$message

$title

display a redirect page template with message and optional url

displayredirectpage(string $message, string $url = null, integer $delay = 5
package bbsengine4
access public

Parameters

$message

string

$url

string

$delay

integer

an html_quickfom rule which returns True if the given email address is in the database.

emailaddressformrule(string $value, integer $id = 0
package bbsengine4
todo is this a duplicate?
see

Parameters

$value

string

$id

integer

calls json_encode() with default parameters

encodejson($data) 
package bbsengine4
since 20140730

Parameters

$data

endsession()

endsession() 
package bbsengine4

explodesiglabelpaths()

explodesiglabelpaths($siglabelpaths) 
package bbsengine4
since 20160207

Parameters

$siglabelpaths

accepts a string of comma separated label paths and returns an array.

explodesigmap($sigmap) : array
package bbsengine4
since 20150703
deprecated

Parameters

$sigmap

Returns

arrayof siglabelpaths

explodeuri()

explodeuri($uri) 
package bbsengine4
since 20160319

Parameters

$uri

return a html_page2 instance populated with the errormessage.tmpl smarty template

fetcherrorpage($message) 
package bbsengine4
since 20120823

Parameters

$message

returns the maturecontentwarning smarty template as a string.

fetchmaturecontentwarning() 
package bbsengine4
since 20110601

a function which normally returns a fetch of 'pagefooter.tmpl', but can be overridden by the app

fetchpagefooter() : string
package bbsengine4
since 20190805

Returns

string

return a configured html_page2 instance using the 'message' and 'url' parameters. this function should be used in cases where content or css files need to be added.

fetchredirectpage($message, $url = null, $delay = 3
package bbsengine4
since 20120823
deprecated

Parameters

$message

$url

$delay

accepts an optional array of menu options and calls _fetchsidebar()

fetchsidebar(array $menu = null) : string
package bbsengine4
since 20190805

Parameters

$menu

array

Returns

string

permission checking function

flag(string $name, integer $memberid = 0) : boolean

permissions "PUBLIC" and "AUTHENTICATED" are built-in and checked for specially before any database connection is made. other permissions are in uppercase and must be listed in the flag table. if the member being checked does not have a value set for a particular flag, the default value will be returned.

package bbsengine4
since 20080324

Parameters

$name

string

$memberid

integer

Returns

boolean

generatenonce()

generatenonce($secret, $timeoutSeconds = 180
package bbsengine4

Parameters

$secret

$timeoutSeconds

generatesalt()

generatesalt() 
package bbsengine4

get_request_scheme()

get_request_scheme() 
package bbsengine4
since 20170505

get_request_url()

get_request_url() 
package bbsengine4
since 20170505

getcart()

getcart($cartid) 
package bbsengine4
since 20151220

Parameters

$cartid

getcartitems()

getcartitems($cartid) 
package bbsengine4

Parameters

$cartid

function to get the current "action" so that "view" can be hidden when in view mode, etc

getcurrentaction() 
package bbsengine4
since 20110803

getcurrentcart()

getcurrentcart() 
package bbsengine4
since 20151214

getcurrentcartid()

getcurrentcartid() 
package bbsengine4

returns the member record for the currentmemberid

getcurrentmember() : array
package bbsengine4
since 20190805

Returns

array

getcurrentmembercredits()

getcurrentmembercredits() 
package bbsengine4
since 20150903

return the "current member id" for the session

getcurrentmemberid(string $key = null) : integer
package bbsengine4

Parameters

$key

string

key optional key to use when accessing $_SESSION, defaults to "currentmemberid"

Returns

integer

get current page

getcurrentpage() 
package bbsengine4
author Zoid Technologies
since 20100510

getcurrentpath()

getcurrentpath($uri = null
package bbsengine4
since 20151204

Parameters

$uri

getcurrentsig()

getcurrentsig() 
package bbsengine4
since 20160427

getcurrentsite()

getcurrentsite() 
package bbsengine4
since 20131031

function that returns the current url (protocol, hostname, etc)

getcurrenturi() 
package bbsengine4
since 20110804

returns flag value given the flag name and member id.

getflag(string $flag, integer $memberid) : boolean
package bbsengine4

Parameters

$flag

string

flag name

$memberid

integer

member id

Returns

boolean

return the set of flags and their values for a given memberid.

getflags(integer $memberid) : array

rewritten 2011-jun-23 so it actually works without smarty3 throwing notices about undefined vars

package bbsengine4
since 20081002

Parameters

$memberid

integer

Returns

arrayor PEAR_Error

getlastlogin()

getlastlogin() 
package bbsengine4
since 20141223

getlastloginfrom()

getlastloginfrom() 
package bbsengine4
since 20141223

getmantra()

getmantra($mantraid) 
package bbsengine4
since 20140512

Parameters

$mantraid

returns a member record for the given id by calling _getmember()

getmember(integer $id) : array
package bbsengine4
since 20190805

Parameters

$id

integer

Returns

array

getmembercredits()

getmembercredits($id) 
package bbsengine4
since 20150903

Parameters

$id

getmemberid()

getmemberid($name) : mixed
package bbsengine4
since 20140901

Parameters

$name

text handle

Returns

mixedmemberid for $name, NULL if name doesn't exist, PEAR::Error for errors

getmemberidfrom()

getmemberidfrom($name, $value, $type) 
package bbsengine4
since 20150420

Parameters

$name

$value

$type

getmemberidfromemail()

getmemberidfromemail($email) 
package bbsengine4
since 20150410

Parameters

$email

getmemberidfromusername()

getmemberidfromusername($username) 
package bbsengine4

Parameters

$username

getnotify()

getnotify($notifyid) 
package bbsengine4
since 20130411

Parameters

$notifyid

getpage()

getpage($title = null, $options = null
package bbsengine4

Parameters

$title

$options

getpageprotocol()

getpageprotocol() : string
package bbsengine4
since 20140822
deprecated 20190724

Returns

string$pageproto

returns a configured PEAR::HTML_QuickForm2 instance.

getquickform(string $id, string $method = "post", string $attributes = "", boolean $tracksubmit = true) : \a

'pageprotocol' is set to 'standard'. if javascript is running the field value will be changed to 'enhanced'.

the 'tracksubmit' param defaults to True because I cannot think of a reason not to use it that way but it should be a knob.

there is a recursive filter automagically added that calls 'trim'.

package bbsengine4
since 20130209

Parameters

$id

string

name of the form which should be unique to the app

$method

string

"post" or "get" defaults to "post"

$attributes

string

attributes for the

tag

$tracksubmit

boolean

defines whether or not to add a hidden field that tracks if the form has been submitted.

Returns

\aconfigured html_quickform2 instance

function which returns a configured Array renderer for use by quickform2

getquickformrenderer($options = null) : \QF2
package bbsengine4
since 20140902

Parameters

$options

array optional dictionary containing renderer options

Returns

\QF2Array renderer

getrandommantra()

getrandommantra() 
package bbsengine4
since 20140512

get the 'returnto' session var which contains 'url' and 'title', falling back to SITEURL and SITETITLE from config

getreturnto() : array
package bbsengine4
since 20150722

Returns

arraywith two keys 'url' and 'title'

return the returnto.title session variable, or the SITETITLE define

getreturntotitle() : string
package bbsengine4
since 20190805

Returns

string

returns the returntourl as a string if it has been set, else uses SITEURL define

getreturntourl() 
package bbsengine4

getsig()

getsig($labelpath) 
package bbsengine4
since 20140727

Parameters

$labelpath

get sigid for a given labelpath

getsigidfromlabelpath($labelpath) 
package bbsengine4
since 20140713 moved from zoidweb2 2015nov22

Parameters

$labelpath

getsigmap()

getsigmap($maptablename, $idfield, $id, $ltreefield = "siglabelpath"
package bbsengine4
since 20160206

Parameters

$maptablename

$idfield

$id

$ltreefield

getsitevar()

getsitevar($name) 
package bbsengine4
since 20161022

Parameters

$name

getsitevardefault()

getsitevardefault($name) 
package bbsengine4
since 20161023

Parameters

$name

getsitevars()

getsitevars() 
package bbsengine4
since 20161023

define getsmarty() in case an upper layer did not define it

getsmarty($options = null
package bbsengine4
since 20140710

Parameters

$options

gettotalnotifications()

gettotalnotifications($id) 
package bbsengine4
since 20130401

Parameters

$id

gettotalunreadnotifications()

gettotalunreadnotifications($id) 
package bbsengine4
since 20130401

Parameters

$id

getunreadnotifycount()

getunreadnotifycount(integer $memberid) : integer | \pear_error
package bbsengine4
package bbsengine4
since 20170621

Parameters

$memberid

integer

memberid

Returns

integer\pear_erroreither integer count of undisplayed notifies or a pear_error

handle a form given an html_quickform2 instance, a callback function and a page title. if the form validates, the callback function is called.

handleform(\html_quickform2 $form, callback $callback) : mixed
package bbsengine4
since 20150408

Parameters

$form

\html_quickform2

$callback

callback

called if form validates

Returns

mixed

hashpassword()

hashpassword($plaintext) 
package bbsengine4
since 20150109

Parameters

$plaintext

implodesigmap()

implodesigmap($sigmap) 
package bbsengine4

Parameters

$sigmap

iscartowner()

iscartowner($cart) 
package bbsengine4

Parameters

$cart

put $message into syslog at the given priority

logentry(string $message, \enum $priority = LOG_INFO
package bbsengine4
since 20080105

Parameters

$message

string

$priority

\enum

normalizecart()

normalizecart() 
package bbsengine4
since 20151214

normalizelabelpath()

normalizelabelpath() : string
package bbsengine4
since 20140903

Returns

string

function to add a trailing slash if needed. also removes duplicate slashes.

normalizepath($path) 
package bbsengine4
since 20140511

Parameters

$path

normalizeuri()

normalizeuri($uri) 
package bbsengine4
since 20140910

Parameters

$uri

this deprecated function calls the flag() function

permission(string $name, integer $memberid = 0
package bbsengine4
since 20110722
deprecated since 20190805

Parameters

$name

string

$memberid

integer

process an uploaded file

processupload($value, $destinationdir) 

rewritten based on code in register.php 2010-10-20

changed on 2015-09-01 so it accepts a dictionary (values) as a parameter, because most times this function is called from an update() or insert() function. this change is a COMPAT BUSTER.

package bbsengine4
since 20100730

Parameters

$value

$destinationdir

invalidate session cookie. from {@link https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet#Cookies OWASP Cookies}

removesessioncookie() 
package bbsengine4
since 20140724

only strip slashes from a string if get_magic_quotes_gpc() returns True

safestripslashes(string $value) : string

this function was ripped from PEAR::Services_Amazon.

package bbsengine4

Parameters

$value

string

Returns

stringwith slashes stripped if get_magic_quotes_gpc returns True

sendnotify()

sendnotify(\type $type, \memberid $memberid, \data $data = null
package bbsengine4
since 20140513

Parameters

$type

\type

string

$memberid

\memberid

integer

$data

\data

dictionary automagically converted to json

function to set the current "action" so that "view" can be hidden when in view mode, etc

setcurrentaction($action) 
package bbsengine4
since 20110803

Parameters

$action

setcurrentcart()

setcurrentcart($cart) 
package bbsengine4
since 20151214

Parameters

$cart

setcurrentcartid()

setcurrentcartid($cartid) 
package bbsengine4

Parameters

$cartid

setcurrentmembercredits()

setcurrentmembercredits($credits) 
package bbsengine4
since 20150903

Parameters

$credits

set the "current member id" for the session

setcurrentmemberid(integer $id) : integer
package bbsengine4

Parameters

$id

integer

Returns

integerprevious value

set current page

setcurrentpage(string $page) 
package bbsengine4
since 20100510

Parameters

$page

string

setcurrentsig()

setcurrentsig($sig = null
package bbsengine4
since 20160427

Parameters

$sig

setcurrentsite()

setcurrentsite($site) 
package bbsengine4
since 20131031

Parameters

$site

set a flag on the given memberid to the given value

setflag(string $flag, boolean $value, integer $id = null
package bbsengine4
since 20120409

Parameters

$flag

string

$value

boolean

$id

integer

setlastlogin()

setlastlogin($lastlogin) 
package bbsengine4
since 20141223

Parameters

$lastlogin

setlastloginfrom()

setlastloginfrom($lastloginfrom) 
package bbsengine4
since 20141223

Parameters

$lastloginfrom

setmembercredits()

setmembercredits($id, $credits) 
package bbsengine4
since 20150903

Parameters

$id

$credits

set the session variable 'pageprotocol' to the given value

setpageprotocol(string $pageprotocol) 
package bbsengine4
deprecated 20190724
deprecated since 20190805
since 20140822

Parameters

$pageprotocol

string

setpassword()

setpassword($memberid, $hashedpassword) 
package bbsengine4

Parameters

$memberid

$hashedpassword

set the 'returnto' session variable used by redirectpage()

setreturnto(string $url = null, string $title = null) : \old
package bbsengine4

Parameters

$url

string

$title

string

Returns

\oldvalue

setsitevar()

setsitevar($name, $value) 
package bbsengine4
since 20161022

Parameters

$name

$value

startsession()

startsession() 
package bbsengine4
since 20111215

toboolean()

toboolean($field, $label = "field"
package bbsengine4

Parameters

$field

$label

html_quickform callback function to check if an email address is already in use in the db

uniqueemailaddresscallback($value) : True
package bbsengine4
todo is this a duplicate?
see
since 20101011

Parameters

$value

Returns

Trueif address is _not_ in the database

uniqueusernamecallback()

uniqueusernamecallback($value) 
package bbsengine4
since 20121017 a quickform2 callback to see if the given $value exists in the name field of the member table

Parameters

$value

update user record in database

updatemember($memberid, $member) 
package bbsengine4
since 20111128

Parameters

$memberid

$member

moved from zoidweb2 to bbsengine

updatesigmap(\sigs $sigs, \tablename $tablename, \idfield $idfield, \id $id, $ltreefield = "siglabelpath") : null

this function will update a sig mapping given the table name, the name of the id field, and the value of the idfield.

package bbsengine4
since 20151114

Parameters

$sigs

\sigs

string|array if string, call explodesiglabelpaths()

$tablename

\tablename

name of mapping table

$idfield

\idfield

name of id field marked unique in the db (example: "linkid")

$id

\id

the actual id of the item (example: 42)

$ltreefield

Returns

nullif all is well else PEAR::Error

calls buildsiglist(), then steps through the result making sure every sig in the list exists.

validatesigs(string $sigs) : boolean
package bbsengine4

Parameters

$sigs

string

Returns

boolean

validsitevar()

validsitevar($name) 
package bbsengine4
since 20161023

Parameters

$name

Classes, interfaces, and traits

login

this module accepts a username and password and validates it against the member database.

« More »

logout

« More »

register

« More »

Constants

 

LOGENTRYPREFIX

LOGENTRYPREFIX = "define-logentryprefix" 
package bbsengine4