Exemple #1
0
/**
 * 指定したアクションにリダイレクトする
 *
 * 引数 $tail は文字列と配列の両方を許容する。
 * 文字列を指定した場合、URLに $tail がそのまま付加される。
 * 配列を指定した場合、キーと要素を元にパラメータを生成し、URLに付加する。
 *
 * @param string $p    リダイレクト先のページ
 * @param string $msg    エラーメッセージ
 * @param mixied $tail    URLに付加する文字列かパラメータ
 */
function admin_client_redirect($p, $msg = '', $tail = '')
{
    if (is_array($tail)) {
        $_tail_list = array();
        foreach ($tail as $key => $value) {
            $_tail_list[] = $key . '=' . urlencode($value);
        }
        $tail = '';
        $tail = implode('&', $_tail_list);
    }
    if (OPENPNE_ADMIN_URL) {
        $url = OPENPNE_ADMIN_URL;
    } else {
        $url = openpne_gen_url_head('admin', 'page_' . $p, true);
    }
    if (need_ssl_param('admin', 'page_' . $p)) {
        if ($tail) {
            $tail .= '&';
        }
        $tail .= 'ssl_param=1';
    }
    $hash_tbl =& AdminHashTable::singleton();
    $m = ADMIN_MODULE_NAME;
    $p = $hash_tbl->hash($p);
    $url .= "?m={$m}&a=page_{$p}";
    if ($tail) {
        $url .= "&{$tail}";
    }
    if ($msg) {
        $url .= '&msg=' . urlencode($msg);
    }
    client_redirect_absolute($url);
}
 function execute($requests)
 {
     $hash_tbl =& AdminHashTable::singleton();
     $hash_tbl->deleteTable();
     admin_client_redirect('top', '管理用ページ名を元に戻しました');
 }