示例#1
0
function plugin_ref_convert()
{
    if (!func_num_args()) {
        return '<div class="alert alert-warning">' . Utility::htmlsc('#ref(): Usage:' . PLUGIN_REF_USAGE) . '</div>' . "\n";
    }
    $params = plugin_ref_body(func_get_args());
    if (isset($params['_error'])) {
        return '<div class="alert alert-warning">' . Utility::htmlsc('#ref(): ERROR: ' . $params['_error']) . '</div>' . "\n";
    }
    if (!isset($params['_body'])) {
        return '<div class="alert alert-warning">' . Utility::htmlsc('#ref(): ERROR: No _body') . '</div>' . "\n";
    }
    $class = array();
    if ($params['around']) {
        $class[] = $params['_align'] == 'right' ? 'pull-right' : 'pull-left';
    } else {
        //		$class[] = 'text-' . $params['_align'];
    }
    if ($params['rounded']) {
        $class[] = 'img-rounded';
    } else {
        if ($params['circle']) {
            $class[] = 'img-circle';
        }
    }
    if ($params['thumbnail']) {
        $class[] = 'img-thumbnail';
    }
    return '<figure class="' . join(' ', $class) . '">' . $params['_body'] . '</figure>' . "\n";
}
示例#2
0
文件: show.inc.php 项目: big2men/qhm
function plugin_show_inline()
{
    global $script, $vars, $digest, $username;
    static $numbers = array();
    $qm = get_qm();
    $args = func_get_args();
    //添付ファイル番号を付ける
    if (!array_key_exists($vars['page'], $numbers)) {
        $numbers[$vars['page']] = 0;
    }
    $show_no = $numbers[$vars['page']]++;
    $btn_text = $qm->m['plg_attachref']['btn_submit'];
    $editable = edit_auth($vars['page'], FALSE, FALSE);
    if ($editable && has_swfu()) {
        $btn_text = '(' . $btn_text . '-swfu)';
        // SWFUを持っている人用
    }
    //添付用のリンクを表示
    if ($args[0] == '') {
        if (isset($vars['page_alt'])) {
            return '<a href="' . $script . '?' . rawurlencode($vars['page_alt']) . '" style="font-size:80%;">' . $qm->m['plg_attachref']['btn_submit_alt'] . '</a>';
        }
        $s_args = trim(rtrim(join(",", $args), ','));
        $f_page = rawurlencode($vars['page']);
        $f_args = rawurlencode($s_args);
        $ret = <<<EOD
<a href="{$script}?plugin=show&amp;show_no={$show_no}&amp;show_opt={$f_args}&amp;refer={$f_page}&amp;digest={$digest}" title="{$btn_text}" style="display:inline-block;width:300px;height:200px;background-color:#eee;text-align:center;line-height:200px;text-decoration:none;" class="img-rounded text-muted">300 x 200</a>
EOD;
        return $ret;
    }
    $params = plugin_show_body($args);
    //error check
    if (isset($params['_error']) && $params['_error'] != '') {
        //attachフォルダにないか確認
        require_once PLUGIN_DIR . "ref.inc.php";
        $params = plugin_ref_body($args, $vars['page']);
        if (isset($params['_error']) && $params['_error'] != '') {
            // Error
            return '&amp;show(): ' . $params['_error'] . ';';
        }
    }
    return $params['_body'];
}
示例#3
0
文件: ref.inc.php 项目: big2men/qhm
function plugin_ref_convert()
{
    $qm = get_qm();
    if (!func_num_args()) {
        return "<p>" . $qm->m['plg_ref']['err_usage'] . "</p>\n";
    }
    $params = plugin_ref_body(func_get_args());
    if (isset($params['_error']) && $params['_error'] != '') {
        return $qm->replace('fmt_err_cvt', 'ref', $params['_error']);
    }
    if (PLUGIN_REF_WRAP_TABLE && !$params['nowrap'] || $params['wrap']) {
        // 枠で包む
        // margin:auto
        //	Mozilla 1.x  = x (wrap,aroundが効かない)
        //	Opera 6      = o
        //	Netscape 6   = x (wrap,aroundが効かない)
        //	IE 6         = x (wrap,aroundが効かない)
        // margin:0px
        //	Mozilla 1.x  = x (wrapで寄せが効かない)
        //	Opera 6      = x (wrapで寄せが効かない)
        //	Netscape 6   = x (wrapで寄せが効かない)
        //	IE6          = o
        $margin = $params['around'] ? '0px' : 'auto';
        $margin_align = $params['_align'] == 'center' ? '' : ";margin-{$params['_align']}:0px";
        $params['_body'] = <<<EOD
<table class="style_table" style="margin:{$margin}{$margin_align}">
 <tr>
  <td class="style_td">{$params['_body']}</td>
 </tr>
</table>
EOD;
    }
    if ($params['around']) {
        $param_ard = $params['_align'] == 'right' ? 'right' : 'left';
        $style = "float:{$param_ard};z-index:2;";
        $style_ard = "_" . $param_ard;
    } else {
        $style = "text-align:{$params['_align']}";
    }
    // divで包む
    return "<div class=\"img_margin{$style_ard}\" style=\"{$style}\">{$params['_body']}</div>\n";
}
示例#4
0
function plugin_ref_convert()
{
    if (!func_num_args()) {
        return '<p>#ref(): Usage:' . PLUGIN_REF_USAGE . "</p>\n";
    }
    $params = plugin_ref_body(func_get_args());
    if (isset($params['_error']) && $params['_error'] != '') {
        return "<p>#ref(): {$params['_error']}</p>\n";
    }
    if (PLUGIN_REF_WRAP_TABLE && !$params['nowrap'] || $params['wrap']) {
        // 枠で包む
        // margin:auto
        //	Mozilla 1.x  = x (wrap,aroundが効かない)
        //	Opera 6      = o
        //	Netscape 6   = x (wrap,aroundが効かない)
        //	IE 6         = x (wrap,aroundが効かない)
        // margin:0px
        //	Mozilla 1.x  = x (wrapで寄せが効かない)
        //	Opera 6      = x (wrapで寄せが効かない)
        //	Netscape 6   = x (wrapで寄せが効かない)
        //	IE6          = o
        $margin = $params['around'] ? '0px' : 'auto';
        $margin_align = $params['_align'] == 'center' ? '' : ";margin-{$params['_align']}:0px";
        $params['_body'] = <<<EOD
<table class="style_table" style="margin:{$margin}{$margin_align}">
 <tr>
  <td class="style_td">{$params['_body']}</td>
 </tr>
</table>
EOD;
    }
    if ($params['around']) {
        $style = $params['_align'] == 'right' ? 'float:right' : 'float:left';
    } else {
        $style = "text-align:{$params['_align']}";
    }
    // divで包む
    if ($params['nomargin']) {
        return "<div class=\"img_nomargin\" style=\"{$style}\">{$params['_body']}</div>\n";
    }
    return "<div class=\"img_margin\" style=\"{$style}\">{$params['_body']}</div>\n";
}
function plugin_ref_convert()
{
    //戻り値
    $ret = '';
    //エラーチェック
    if (!func_num_args()) {
        return 'no argument(s).';
    }
    //添付ファイル名を取得
    $args = func_get_args();
    $name = array_shift($args);
    //パラメータ変換
    $params = array('left' => FALSE, 'center' => FALSE, 'right' => FALSE, 'wrap' => FALSE, 'nowrap' => FALSE, 'around' => FALSE, '_args' => array(), '_done' => FALSE, 'nocache' => FALSE, '_size' => FALSE, '_w' => 0, '_h' => 0, '_%' => '');
    array_walk($args, 'ref_check_arg', &$params);
    $rets = plugin_ref_body($name, $args, $params);
    if (!empty($rets['_error'])) {
        $ret = $rets['_error'];
    } else {
        $ret = $rets['_body'];
    }
    //アラインメント判定
    if ($params['right']) {
        $align = 'right';
    } else {
        if ($params['left']) {
            $align = 'left';
        } else {
            if ($params['center']) {
                $align = 'center';
            } else {
                $align = MOD_PUKI_REF_DEFAULT_ALIGN;
            }
        }
    }
    if (MOD_PUKI_REF_WRAP_TABLE and !$params['nowrap'] or $params['wrap']) {
        $ret = wrap_table($ret, $align, $params['around']);
    }
    $ret = wrap_div($ret, $align, $params['around']);
    unset($name, $args, $params, $rets);
    return $ret;
}
示例#6
0
function plugin_attachref_inline()
{
    global $script, $vars, $digest, $username;
    static $numbers = array();
    static $no_flag = 0;
    $qm = get_qm();
    if (!array_key_exists($vars['page'], $numbers)) {
        $numbers[$vars['page']] = 0;
    }
    $attachref_no = $numbers[$vars['page']]++;
    //戻り値
    $ret = '';
    $dispattach = 1;
    $button = 0;
    $args = func_get_args();
    $btn_text = array_pop($args);
    $btn_text = $btn_text ? $btn_text : $qm->m['plg_attachref']['btn_submit'];
    //SWFUを持っている人用
    if ($username == $_SESSION['usr'] && has_swfu()) {
        $btn_text = '(swfu' . $btn_text . ')';
    }
    $options = array();
    foreach ($args as $opt) {
        if ($opt === 'button') {
            $button = 1;
        } else {
            if ($opt === 'number') {
                $no_flag = 1;
            } else {
                if ($opt === 'nonumber') {
                    $no_flag = 0;
                } else {
                    array_push($options, $opt);
                }
            }
        }
    }
    if ($no_flag == 1) {
        $btn_text .= "[{$attachref_no}]";
    }
    $args = $options;
    if (count($args) and $args[0] != '') {
        //		if( fopen($args[0], 'r') ){ // http:..., swfu/d/hogehoge.png.. などなど
        if (!is_url($args[0]) && file_exists($args[0])) {
            // http:..., swfu/d/hogehoge.png.. などなど
            require_once PLUGIN_DIR . "show.inc.php";
            $params = plugin_show_body($args, $vars['page']);
        } else {
            require_once PLUGIN_DIR . "ref.inc.php";
            $params = plugin_ref_body($args, $vars['page']);
        }
        if ($params['_error'] != '') {
            $ret = $params['_error'];
            $dispattach = 1;
        } else {
            $ret = $params['_body'];
            $dispattach = 0;
        }
    }
    if ($dispattach) {
        //XSS脆弱性問題 - 外部から来た変数をエスケープ
        $s_args = trim(join(",", $args));
        if ($button) {
            $s_args .= ",button";
            $f_page = htmlspecialchars($vars['page']);
            $f_args = htmlspecialchars($s_args);
            $ret = <<<EOD
  <form action="{$script}" method="post">
  <div>
  <input type="hidden" name="encode_hint" value="ぷ" />
  <input type="hidden" name="attachref_no" value="{$attachref_no}" />
  <input type="hidden" name="attachref_opt" value="{$f_args}" />
  <input type="hidden" name="digest" value="{$digest}" />
  <input type="hidden" name="plugin" value="attachref" />
  <input type="hidden" name="refer" value="{$f_page}" />
  {$ret}
  <input type="submit" value="{$btn_text}" />
  </div>
  </form>
EOD;
        } else {
            $f_btn_text = preg_replace('/<[^<>]+>/', '', $btn_text);
            //		echo '[debug]btn=',$f_btn_text;
            $f_page = rawurlencode($vars['page']);
            $f_args = rawurlencode($s_args);
            $ret = <<<EOD
  {$ret}<a href="{$script}?plugin=attachref&amp;attachref_no={$attachref_no}&amp;attachref_opt={$f_args}&amp;refer={$f_page}&amp;digest={$digest}" title="{$f_btn_text}">{$btn_text}</a>
EOD;
        }
    }
    return $ret;
}
示例#7
0
function plugin_attachref_inline()
{
    global $vars, $digest;
    global $_attachref_messages;
    #	static $numbers = array();
    #	static $no_flag = 0;
    #	if (!array_key_exists($vars['page'],$numbers))
    #	{
    #		$numbers[$vars['page']] = 0;
    #	}
    #	$attachref_no = $numbers[$vars['page']]++;
    $ret = '';
    $dispattach = 1;
    $extra_options = array();
    $args = func_get_args();
    $btn_text = array_pop($args);
    $btn_text = $btn_text ? $btn_text : $_attachref_messages['btn_submit'];
    $options = plugin_attachref_options($extra_options, $args);
    $button = $extra_options['button'];
    $attachref_no = $extra_options['refnum'];
    $btn_text .= $extra_options['text'];
    #	$button = 0;
    $args = func_get_args();
    #   $btn_text = array_pop($args);
    #   $btn_text = $btn_text ? $btn_text : $_attachref_messages['btn_submit'];
    #   $options = array();
    #   foreach ( $args as $opt ){
    #	    if ( $opt === 'button' ){
    #	        $button = 1;
    #	    }
    #	    else if ( $opt === 'number' ){
    #		$no_flag = 1;
    #	    }
    #	    else if ( $opt === 'nonumber' ){
    #		$no_flag = 0;
    #	    }
    #	    else {
    #	        array_push($options, $opt);
    #	    }
    #	}
    #   $btn_text .= ( $no_flag == 1 ) ? "[$attachref_no]" : '';
    $args = $options;
    if (count($args) && $args[0] != '') {
        require_once PLUGIN_DIR . 'ref.inc.php';
        $params = plugin_ref_body($args, $vars['page']);
        if (isset($params['_error'])) {
            $ret = $params['_error'];
            $dispattach = 1;
        } else {
            $ret = $params['_body'];
            $dispattach = 0;
        }
    }
    if ($dispattach) {
        // Escape foreign value
        $s_args = trim(join(",", $args));
        if ($button) {
            $script = Router::get_script_uri();
            $s_args .= ',button';
            $f_page = Utility::htmlsc($vars['page']);
            $f_args = Utility::htmlsc($s_args);
            $ret = <<<EOD
<form action="{$script}" method="post" class="plugin-attacherf-form">
\t<input type="hidden" name="attachref_no" value="{$attachref_no}" />
\t<input type="hidden" name="attachref_opt" value="{$f_args}" />
\t<input type="hidden" name="digest" value="{$digest}" />
\t<input type="hidden" name="cmd" value="attachref" />
\t<input type="hidden" name="refer" value="{$f_page}" />
\t{$ret}
\t<input class="btn btn-secondary" type="submit" value="{$btn_text}" />
</form>
EOD;
        } else {
            $f_btn_text = preg_replace('/<[^<>]+>/', '', $btn_text);
            $btn_url = get_cmd_uri('attachref', $vars['page'], '', array('attachref_no' => $attachref_no, 'attachref_opt' => $s_args, 'refer' => $vars['page'], 'digest' => $digest));
            $ret .= '<a href="' . $btn_url . '" title="' . $f_btn_text . '"><small><span class="fa fa-paperclip">' . $btn_text . '</span></small></a>';
        }
    }
    return $ret;
}
function plugin_attachref_inline()
{
    global $script, $vars, $digest;
    global $_attachref_messages;
    #	static $numbers = array();
    #	static $no_flag = 0;
    #	if (!array_key_exists($vars['page'],$numbers))
    #	{
    #		$numbers[$vars['page']] = 0;
    #	}
    #	$attachref_no = $numbers[$vars['page']]++;
    $ret = '';
    $dispattach = 1;
    $extra_options = array();
    $args = func_get_args();
    $btn_text = array_pop($args);
    $btn_text = $btn_text ? $btn_text : $_attachref_messages['btn_submit'];
    $options = plugin_attachref_options($extra_options, $args);
    $button = $extra_options['button'];
    $attachref_no = $extra_options['refnum'];
    $btn_text .= $extra_options['text'];
    #	$button = 0;
    #	$args = func_get_args();
    #   $btn_text = array_pop($args);
    #   $btn_text = $btn_text ? $btn_text : $_attachref_messages['btn_submit'];
    #   $options = array();
    #   foreach ( $args as $opt ){
    #	    if ( $opt === 'button' ){
    #	        $button = 1;
    #	    }
    #	    else if ( $opt === 'number' ){
    #		$no_flag = 1;
    #	    }
    #	    else if ( $opt === 'nonumber' ){
    #		$no_flag = 0;
    #	    }
    #	    else {
    #	        array_push($options, $opt);
    #	    }
    #	}
    #   if ( $no_flag == 1 ) $btn_text .= "[$attachref_no]";
    $args = $options;
    if (count($args) && $args[0] != '') {
        require_once PLUGIN_DIR . 'ref.inc.php';
        $params = plugin_ref_body($args, $vars['page']);
        if ($params['_error'] != '') {
            $ret = $params['_error'];
            $dispattach = 1;
        } else {
            $ret = $params['_body'];
            $dispattach = 0;
        }
    }
    if ($dispattach) {
        // Escape foreign value
        $s_args = trim(join(",", $args));
        if ($button) {
            $s_args .= ',button';
            $f_page = htmlspecialchars($vars['page']);
            $f_args = htmlspecialchars($s_args);
            $ret = <<<EOD
  <form action="{$script}" method="post">
  <div>
  <input type="hidden" name="encode_hint" value="ぷ" />
  <input type="hidden" name="attachref_no" value="{$attachref_no}" />
  <input type="hidden" name="attachref_opt" value="{$f_args}" />
  <input type="hidden" name="digest" value="{$digest}" />
  <input type="hidden" name="plugin" value="attachref" />
  <input type="hidden" name="refer" value="{$f_page}" />
  {$ret}
  <input type="submit" value="{$btn_text}" />
  </div>
  </form>
EOD;
        } else {
            $f_btn_text = preg_replace('/<[^<>]+>/', '', $btn_text);
            $f_page = rawurlencode($vars['page']);
            $f_args = rawurlencode($s_args);
            $ret = <<<EOD
  {$ret}<a href="{$script}?plugin=attachref&amp;attachref_no={$attachref_no}&amp;attachref_opt={$f_args}&amp;refer={$f_page}&amp;digest={$digest}" title="{$f_btn_text}">{$btn_text}</a>
EOD;
        }
    }
    return $ret;
}