<?php if (!defined('PmWiki')) exit(); if (!defined('pmwiki_PFC')) die("ERROR: \"".__FILE__."\" was included before the main pmwiki_PFC recipe!!!"); /* * phpfreechat_pmwiki_markup - Integration of phpfreechat into pmwiki * * Author: Frank Graffagnino - frankie@graffagnino.net * * Copyright 2007 by Frank Graffagnino * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ $RecipeInfo['phpfreechat_pmwiki_markup']['Version'] = '2007-07-09'; # Add markup Markup('phpfreechat', '_begin', '/\\(:phpfreechat(.*?):\\)/ei', "PrintphpfreechatLink( PSS('$1') )"); # Return the phpfreechat html text when requested function PrintphpfreechatLink( $arg_string ) { global $chat; global $pmwiki_PFC_UseAuthName; global $pmwiki_PFC_params; global $AuthId, $Author; $pmwiki_PFC_nick = $pmwiki_PFC_params["nick"]; # Get the current authid using priortized sources # please let me know if there is a better way to do this if ($pmwiki_PFC_UseAuthName) { if (isset ($AuthId)) { $pmwiki_PFC_nick = $AuthId; } else { if (isset ($Author)) { $pmwiki_PFC_nick = $Author; } } } # Hack the output to work around these insane session/path issues. # Man... I'm pretty embarrassed by this, but I can't fight with this thing # any longer... maybe somebody else can fix it. $pfc_output = $chat->printChat(1); $pfc_nick_pattern = '/_nickname\s+=\s+\"(.*)\"/'; $pfc_nick_replace = '_nickname = "'.$pmwiki_PFC_nick.'"'; $hacked_pfc_output = preg_replace($pfc_nick_pattern, $pfc_nick_replace, $pfc_output); return Keep($hacked_pfc_output); }