a:8:{s:4:"name";s:11:"poe_bbclone";s:6:"author";s:14:"Gernot Poetsch";s:10:"author_uri";s:18:"http://poetsch.org";s:7:"version";s:3:"0.4";s:11:"description";s:44:"Includes the BBClone counter into your pages";s:4:"help";s:473:"

	<p> Before you can use this plugin you have to tell it where to find the bbclone directory. If you don't know the absolute path of your bbclone directory you can find it out by pasting the following lines into a file, saving it as <code>finddirectory.php</code> into your bbclone directory and opening it in your browser: </p>
    
    <code><ul>
    &lt;?php<br />
    echo getcwd();<br />
    ?&gt;
    </ul></code>
	
	<p><b>Usage:</b> &lt;txp:poe_bbclone /&gt;</p>
	
";s:4:"code";s:2834:"
	function poe_bbclone($atts) {

/*---- Configuration parameters ----*/

// Set this to the *absolute* path of bbclone and don't forget the last "/"
// Example: $bbcdirectory = "/myvolume/webserver/mywebsite/docs/bbclone/";
$bbcdirectory = "";

// This is the Prefix to the Page's name:
$bbcprefix = "Txp: ";

// If you don't want the title of the Start page to be empty enter a value here
$bbcstartpagetitle = "Start page";

/*---- Do not configure anything below this line ----*/

GLOBAL $sitename;

//Make a beautiful title String
$bbcsubtitle = substr(page_title(array()), strlen($sitename)+2);
if ($bbcsubtitle == "") { $bbcsubtitle = $bbcstartpagetitle; }
$bbctitle = $bbcprefix.$bbcsubtitle;

//Recreate the global environment, so bbclone can find what it needs          
$globalvars = array("PWD", "PGCLIENTENCODING", "USER", "MAIL", "LANG", "SSH_CLIENT", "LOGNAME", "SHLVL", "LC_CTYPE", "SHELL", "HOME", "TERM", "PATH", "SSH_TTY", "_", "DOCUMENT_ROOT", "HTTP_ACCEPT", "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_CONNECTION", "HTTP_HOST", "HTTP_USER_AGENT", "REMOTE_ADDR", "REMOTE_PORT", "SCRIPT_FILENAME", "SERVER_ADDR", "SERVER_ADMIN", "SERVER_NAME", "SERVER_PORT", "SERVER_SIGNATURE", "SERVER_SOFTWARE", "UNIQUE_ID", "GATEWAY_INTERFACE", "SERVER_PROTOCOL", "REQUEST_METHOD", "QUERY_STRING", "REQUEST_URI", "SCRIPT_NAME", "PATH_TRANSLATED", "PHP_SELF", "argv", "argc", "HTTP_POST_VARS", "_POST", "HTTP_GET_VARS", "_GET", "HTTP_COOKIE_VARS", "_COOKIE", "HTTP_SERVER_VARS", "_SERVER", "HTTP_ENV_VARS", "_ENV", "HTTP_POST_FILES", "_FILES", "_REQUEST", "GLOBALS", "vars", "val", "BBC_ROOT_PATH", "BBC_VERSION", "BBC_LIB_PATH", "BBC_LANGUAGE_PATH", "BBC_CACHE_PATH", "BBC_DOC_PATH", "BBC_IP2EXT_PATH", "BBC_IMAGES_PATH", "BBC_CONF_PATH", "BBC_CONFIG_FILE", "BBC_LOG_PROCESSOR", "BBC_LOCK", "BBC_COUNTER_PREFIX", "BBC_COUNTER_SUFFIX", "BBC_COUNTER_COLUMNS", "BBC_COUNTER_COLUMN_NAMES", "BBC_COUNTER_FILES", "BBC_SEP", "BBC_TIMESTAMP", "BBC_LAST_FILE", "BBC_ACCESS_FILE", "BBC_MAINSITE", "BBC_SHOW_CONFIG", "BBC_TITLEBAR", "BBC_LANGUAGE", "BBC_MAXTIME", "BBC_MAXVISIBLE", "BBC_MAXOS", "BBC_MAXBROWSER", "BBC_MAXEXTENSION", "BBC_MAXROBOT", "BBC_MAXPAGE", "BBC_MAXORIGIN", "BBC_MAXHOST", "BBC_DETAILED_STAT_FIELDS", "BBC_TITLE_SIZE", "BBC_SUBTITLE_SIZE", "BBC_TEXT_SIZE", "BBC_NUM_SIZE", "BBC_TIME_OFFSET", "BBC_NO_DNS", "BBC_NO_STRING", "BBC_NO_HITS", "BBC_IGNORE_IP", "BBC_IGNORE_REFER", "BBC_IGNORE_BOTS", "BBC_IGNORE_AGENT", "BBC_KILL_STATS", "BBC_ENT_REV", "page", "browser", "os", "robot", "msg", "al", "access", "last", "af", "name");                       
foreach ($globalvars as $globalvar) {
     GLOBAL $$globalvar;
}

//call bbclone
define("_BBC_PAGE_NAME", $bbctitle);
define("_BBCLONE_DIR", $bbcdirectory);
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);

}
";s:3:"md5";s:32:"87e899b8f962e174bc4097b7a0c9de55";}