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"; }
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&show_no={$show_no}&show_opt={$f_args}&refer={$f_page}&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 '&show(): ' . $params['_error'] . ';'; } } return $params['_body']; }
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"; }
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; }
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&attachref_no={$attachref_no}&attachref_opt={$f_args}&refer={$f_page}&digest={$digest}" title="{$f_btn_text}">{$btn_text}</a> EOD; } } return $ret; }
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&attachref_no={$attachref_no}&attachref_opt={$f_args}&refer={$f_page}&digest={$digest}" title="{$f_btn_text}">{$btn_text}</a> EOD; } } return $ret; }