コード例 #1
0
ファイル: multilang.inc.php プロジェクト: logue/pukiwiki_adv
function plugin_multilang_action()
{
    global $vars, $language;
    $page = isset($vars['page']) ? $vars['page'] : '';
    $lang = isset($vars['lang']) ? $vars['lang'] : '';
    if ($lang) {
        setcookie('lang', $lang, 0, get_baseuri('abs'));
        $_COOKIE['lang'] = $lang;
        /* To effective promptly */
        // UPDATE
        $language = Lang::getLanguage(1);
    }
    // Location ヘッダーで飛ばないような環境の場合は、この部分を
    // 有効にして対応下さい。
    // if(exist_plugin_action('read')) return plugin_read_action();
    header('Location: ' . get_page_location_uri($page));
    exit;
}
コード例 #2
0
function greybox_set_head_tags()
{
    global $head_tags, $greybox_set;
    if (isset($greybox_set) && $greybox_set) {
        return;
    }
    $greybox_set = true;
    $head_tags[] = ' <script type="text/javascript">';
    $head_tags[] = ' <!--';
    $head_tags[] = '  var GB_ROOT_DIR = "' . get_baseuri('abs') . SKIN_URI . 'greybox/' . '";';
    $head_tags[] = ' // -->';
    $head_tags[] = ' </script>';
    $css_charset = 'utf-8';
    switch (UI_LANG) {
        case 'ja_JP':
            $css_charset = 'Shift_JIS';
            break;
    }
    $head_tags[] = ' <script type="text/javascript" src="' . SKIN_URI . 'greybox/AJS.js"></script>';
    $head_tags[] = ' <script type="text/javascript" src="' . SKIN_URI . 'greybox/AJS_fx.js"></script>';
    $head_tags[] = ' <script type="text/javascript" src="' . SKIN_URI . 'greybox/gb_scripts.js"></script>';
    $head_tags[] = ' <link rel="stylesheet" href="' . SKIN_URI . 'greybox/gb_styles.css" type="text/css" media="all" charset="' . $css_charset . '" />';
}
コード例 #3
0
function plugin_skin_convert()
{
    global $vars, $skin_file, $_skin_msg;
    if (!PLUGIN_SKIN_USE) {
        return $_skin_msg['err_not_use'];
    }
    if (func_num_args() == 0) {
        return skin_make_filelist();
    }
    $argv = func_get_args();
    $parm = skin_set_parm($argv);
    if (count($parm['list']) > 1) {
        $skin_list = array();
        foreach ($parm['list'] as $skin) {
            $skin_list[$skin] = '';
        }
        return skin_make_filelist($skin_list);
    }
    $val = explode('.', $parm['list'][0]);
    $val[1] = empty($val[1]) ? $val[0] : $val[1];
    $skin_file = add_skindir($val[0]);
    if (!file_exists($skin_file) || !is_readable($skin_file)) {
        die_message($skin_file . ' (skin file) is not found.');
    }
    $expire = PLUGIN_SKIN_EXPIRE > 0 ? time() + 60 * 60 * 24 * PLUGIN_SKIN_EXPIRE : PLUGIN_SKIN_EXPIRE;
    setcookie('skin_file', $skin_file, $expire, get_baseuri('abs'));
    $_COOKIE['skin_file'] = $skin_file;
    if ($val[0] == 'tdiary') {
        setcookie('tdiary_theme', $val[1], $expire, get_baseuri('abs'));
        $_COOKIE['tdiary_theme'] = $val[1];
    } else {
        setcookie('tdiary_theme', '', time() - 3600);
        // tdiary じゃないので削除
    }
    header('Location: ' . get_page_location_uri($vars['page']));
}
コード例 #4
0
ファイル: guiedit.inc.php プロジェクト: logue/pukiwiki_adv
function plugin_guiedit_action()
{
    // global $vars, $_title_edit, $load_template_func;
    global $vars, $load_template_func;
    global $menubar, $sidebar, $topicpath, $_string;
    // if (PKWK_READONLY) Utility::dieMessage( sprintf($_string['error_prohibit'],'PKWK_READONLY') );
    if (Auth::check_role('readonly')) {
        Utility::dieMessage(sprintf($_string['error_prohibit'], 'PKWK_READONLY'));
    }
    if (PKWK_READONLY == Auth::ROLE_AUTH && Auth::get_role_level() > Auth::ROLE_AUTH) {
        Utility::dieMessage(sprintf($_string['error_prohibit'], 'PKWK_READONLY'));
    }
    $page = isset($vars['page']) ? $vars['page'] : '';
    $wiki = Factory::Wiki($page);
    if (!$wiki->isEditable()) {
        Utility::dieMessage('You have not permission to edit this page.');
    }
    if (!is_page($page) && Auth::is_check_role(PKWK_CREATE_PAGE)) {
        Utility::dieMessage(sprintf($_string['error_prohibit'], 'PKWK_CREATE_PAGE'));
    }
    global $guiedit_use_fck;
    $guiedit_use_fck = isset($vars['text']) ? false : true;
    if ($guiedit_use_fck) {
        global $guiedit_pkwk_root;
        $guiedit_pkwk_root = get_baseuri('abs');
    }
    if (GUIEDIT_FULL_SIZE) {
        $menubar = $sidebar = '';
        $topicpath = false;
    }
    if (isset($vars['edit'])) {
        return plugin_guiedit_edit_data($page);
    } else {
        if ($load_template_func && isset($vars['template'])) {
            return plugin_guiedit_template();
        } else {
            if (isset($vars['preview'])) {
                return plugin_guiedit_preview();
            } else {
                if (isset($vars['write'])) {
                    return plugin_guiedit_write();
                } else {
                    if (isset($vars['cancel'])) {
                        return plugin_guiedit_cancel();
                    }
                }
            }
        }
    }
    $postdata = $vars['original'] = $wiki->get(true);
    if (isset($vars['text'])) {
        if (!empty($vars['id'])) {
            exist_plugin('edit');
            $postdata = plugin_edit_parts($vars['id'], $source);
            if ($postdata === FALSE) {
                unset($vars['id']);
                $postdata = $vars['original'];
            }
        }
        if ($postdata == '') {
            $postdata = $wiki->auto_template();
        }
    }
    return array('msg' => 'GUI Edit', 'body' => plugin_guiedit_edit_form($page, $postdata));
}
コード例 #5
0
ファイル: legacy.php プロジェクト: logue/pukiwiki_adv
function change_uri($cmd = '', $force = 0)
{
    global $script, $script_abs, $absolute_uri, $script_directory_index;
    static $onece, $bkup, $bkup_script, $bkup_script_abs, $bkup_absolute_uri;
    static $target_fields = array('script' => 'bkup_script', 'script_abs' => 'bkup_script_abs', 'absolute_uri' => 'bkup_absolute_uri');
    if (!isset($bkup)) {
        $bkup = true;
        foreach ($target_fields as $org => $bkup) {
            if (!isset(${$bkup}) && isset($org)) {
                ${$bkup} = ${$org};
            }
        }
    }
    if (isset($onece)) {
        return;
    }
    switch ($cmd) {
        case 'reset':
            foreach ($target_fields as $org => $bkup) {
                if (isset(${$bkup})) {
                    ${$org} = ${$bkup};
                } else {
                    if (isset(${$org})) {
                        unset(${$org});
                    }
                }
            }
            return;
        case 'net':
        case 'abs':
        case 'rel':
            change_uri('reset');
            $absolute_uri = 0;
            break;
        default:
            $absolute_uri = 1;
    }
    $script = get_baseuri($cmd);
    if (!isset($script_directory_index)) {
        $script .= init_script_filename();
    }
    if ($force === 1) {
        $onece = 1;
    }
    return;
}
コード例 #6
0
function plugin_guiedit_edit_form($page, $postdata, $digest = FALSE, $b_template = TRUE)
{
    global $vars;
    global $load_template_func, $whatsnew;
    global $_button;
    global $notimeupdate;
    global $head_tags, $javascript;
    global $guiedit_use_fck;
    // Newly generate $digest or not
    if ($digest === FALSE) {
        $digest = md5(get_source($page, TRUE, TRUE));
    }
    $s_id = isset($vars['id']) ? htmlspecialchars($vars['id']) : '';
    if (!$guiedit_use_fck) {
        $body = edit_form($page, $postdata, $digest, $b_template);
        $pattern = "/(<input\\s+type=\"hidden\"\\s+name=\"cmd\"\\s+value=\")edit(\"\\s*\\/?>)/";
        $replace = "\$1guiedit\$2\n" . '  <input type="hidden" name="id"     value="' . $s_id . '" />' . '  <input type="hidden" name="text"     value="1" />';
        $body = preg_replace($pattern, $replace, $body);
        return $body;
    }
    require_once GUIEDIT_LIB_PATH . 'guiedit.ini.php';
    //	フォームの値の設定
    $s_digest = htmlspecialchars($digest);
    $s_page = htmlspecialchars($page);
    $s_original = htmlspecialchars($vars['original']);
    $s_ticket = md5(MUTIME);
    if (function_exists('pkwk_session_start') && pkwk_session_start() != 0) {
        // BugTrack/95 fix Problem: browser RSS request with session
        $_SESSION[$s_ticket] = md5(get_ticket() . $digest);
        $_SESSION['origin' . $s_ticket] = md5(get_ticket() . str_replace("\r", '', $s_original));
    }
    // テンプレート
    $template = '';
    if ($load_template_func) {
        global $guiedit_non_list;
        $pages = array();
        foreach (get_existpages() as $_page) {
            if ($_page == $whatsnew || check_non_list($_page)) {
                continue;
            }
            foreach ($guiedit_non_list as $key) {
                $pos = strpos($_page . '/', $key . '/');
                if ($pos !== FALSE && $pos == 0) {
                    continue 2;
                }
            }
            $_s_page = htmlspecialchars($_page);
            $pages[$_page] = '   <option value="' . $_s_page . '">' . $_s_page . '</option>';
        }
        ksort($pages);
        $s_pages = join("\n", $pages);
        $template = <<<EOD
  <select name="template_page" onchange="Template()">
   <option value="">-- {$_button['template']} --</option>
{$s_pages}
  </select>
  <br />
EOD;
    }
    // チェックボックス「タイムスタンプを変更しない」
    $add_notimestamp = '';
    if ($notimeupdate != 0) {
        $checked_time = isset($vars['notimestamp']) ? ' checked="checked"' : '';
        // if ($notimeupdate == 2) {
        if ($notimeupdate == 2 && auth::check_role('role_adm_contents')) {
            $add_notimestamp = '   ' . '<input type="password" name="pass" size="12" />' . "\n";
        }
        $add_notimestamp = '<input type="checkbox" name="notimestamp" ' . 'id="_edit_form_notimestamp" value="true"' . $checked_time . ' />' . "\n" . '   ' . '<label for="_edit_form_notimestamp"><span class="small">' . $_button['notchangetimestamp'] . '</span></label>' . "\n" . $add_notimestamp . '&nbsp;';
    }
    //	フォーム
    $body = <<<EOD

<div class="edit_form">
 <form id="edit_form" action="{$script}" method="post" style="margin-bottom:0px;">
{$template}
  <input type="hidden" name="cmd"    value="guiedit" />
  <input type="hidden" name="page"   value="{$s_page}" />
  <input type="hidden" name="digest" value="{$s_digest}" />
  <input type="hidden" name="ticket" value="{$s_ticket}" />
  <input type="hidden" name="id"     value="{$s_id}" />
  <textarea name="msg" rows="1" cols="1" style="display:none"></textarea>
  <div style="float:left;">
   <input type="submit" name="write"   value="{$_button['update']}" accesskey="s" onclick="Write()" />
   <input type="button" name="preview" value="{$_button['preview']}" accesskey="p" onclick="Preview()" />
   {$add_notimestamp}
  </div>
  <textarea name="original" rows="1" cols="1" style="display:none">{$s_original}</textarea>
 </form>
 <form action="{$script}" method="post" style="margin-top:0px;">
  <input type="hidden" name="cmd"    value="guiedit" />
  <input type="hidden" name="page"   value="{$s_page}" />
  <input type="submit" name="cancel" value="{$_button['cancel']}" accesskey="c" />
 </form>
</div>
<div id="preview_indicator" style="display:none"></div>
<div id="preview_area" style="display:none"></div>

EOD;
    //	JavaScript を有効にする
    $javascript = 1;
    $root = get_baseuri('abs');
    //	ヘッダの設定
    $head_tags[] = ' <link rel="stylesheet" type="text/css" href="' . GUIEDIT_LIB_PATH . 'guiedit.css" charset="UTF-8" />';
    $head_tags[] = ' <script type="text/javascript" src="' . GUIEDIT_FCK_PATH . 'fckeditor.js" charset="UTF-8"></script>';
    $head_tags[] = ' <script type="text/javascript" src="' . GUIEDIT_LIB_PATH . 'ajax.js" charset="UTF-8"></script>';
    $head_tags[] = ' <script type="text/javascript" src="' . GUIEDIT_LIB_PATH . 'guiedit.js" charset="UTF-8"></script>';
    $head_tags[] = ' <script type="text/javascript">';
    $head_tags[] = ' <!-- <![CDATA[';
    $head_tags[] = ' var SMILEY_PATH="' . $root . IMAGE_URI . "face/" . '";';
    $head_tags[] = ' var FCK_PATH="' . $root . GUIEDIT_FCK_PATH . '";';
    $head_tags[] = ' var GUIEDIT_PATH="' . $root . GUIEDIT_LIB_PATH . '";';
    $head_tags[] = ' //]]>-->';
    $head_tags[] = ' </script>';
    return $body;
}
コード例 #7
0
ファイル: dav.inc.php プロジェクト: logue/pukiwiki_adv
function dav_get_fullpath_page()
{
    $pos = strpos($_SERVER['REQUEST_URI'], 'index.php');
    $filename = $pos === false ? '' : 'index.php';
    $pref = get_baseuri('abs') . $filename;
    return substr(rawurldecode($_SERVER['REQUEST_URI']), strlen($pref));
}
コード例 #8
0
ファイル: func.php プロジェクト: aterai/pukiwiki-plus-i18n
function get_script_uri($path = '')
{
    global $absolute_uri, $script_directory_index;
    if ($absolute_uri) {
        return get_script_absuri();
    }
    $uri = get_baseuri($path);
    if (!isset($script_directory_index)) {
        $uri .= init_script_filename();
    }
    return $uri;
}