Nucleus

NP_msgbox

2007年6月4日

以前書いた msgbox() 関数の、スキン変数版。

使い方:
『OK』を表示させたいとき
<%msgbox('OK')%>

$_GET['foo']を表示させたいとき
<%msgbox($_GET['foo'])%>

$_GETをすべて表示させたいとき
<%msgbox(var_dump,$_GET)%>


ソースコード:
<?php 
class NP_msgbox extends NucleusPlugin { 
    function getName() { return 'NP_msgbox'; }
    function getMinNucleusVersion() { return 220; }
    function getAuthor()  { return 'Katsumi'; }
    function getVersion() { return '0.1'; }
    function getURL() {return 'http://www.recfor.net/nucleus/index.php?itemid=324';}
    function getDescription() { return $this->getName().' plugin'; } 
    function supportsFeature($what) { return ($what=='SqlTablePrefix')?1:0; }
    function getEventList() { return array(); }
    function doSkinVar() {
        global $member;
        if (!($member->isLoggedIn() && $member->isAdmin())) return;
        $args=func_get_args();
        $skinType=array_shift($args);
        $modes=array('var_dump','print_r');
        if (in_array($args[0],$modes)) $mode=array_shift($args);
        else $mode='';
        $var=implode(',',$args);
        switch($mode){
        case 'var_dump':
        case 'print_r':
            ob_start();
            eval($mode."($var);");
            $text=ob_get_contents();
            ob_end_clean();
            break;
        default:
            eval('$text='."$var;");
        }
?><script type="text/javascript">
/*<![CDATA[*/
var confirm_canceled;
if (confirm_canceled!="yes") {
  if (!confirm(unescape("<?php echo rawurlencode($text); ?>"))) confirm_canceled="yes";
}
/*]]>*/</script>
<!--<?php echo str_replace('-->','--&gt;',$text); ?>-->
<?php
    }
}
?>

コメント

コメントはありません

コメント送信