ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 3440


Ignore:
Timestamp:
Jul 19, 2007, 4:43:53 PM (12 years ago)
Author:
maruyama
Message:

携帯自動リンク機能追加

Location:
OpenPNE/branches/work/maruyama/prj_link_ktai/webapp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/maruyama/prj_link_ktai/webapp/init.inc

    r1858 r3440  
    119119include_once 'PHP/Compat/Function/http_build_query.php';
    120120
     121//PC版URLを携帯版に変換して自動リンクするアクション
     122$GLOBALS['AUTO_LINK_ACTION_PC2KTAI'] = array(
     123    'page_fh_diary'         => 'page_fh_diary',
     124    'page_c_home'           => 'page_c_home',
     125    'page_c_topic_detail'   => 'page_c_bbs',
     126    'page_c_event_detail'   => 'page_c_bbs',
     127    'page_f_home'           => 'page_f_home',
     128);
     129
    121130?>
  • OpenPNE/branches/work/maruyama/prj_link_ktai/webapp/lib/smarty_plugins/modifier.t_url2a_ktai.php

    r2734 r3440  
    1616    $openpne_url = $parts['host'] . $parts['path'];
    1717
    18     $url_pattern = sprintf('/https?:\/\/%s\?m=pc&a=(page_fh_diary(?:[a-zA-Z0-9_=]|&)*)/', preg_quote($openpne_url, '/'));
     18    $url_pattern = sprintf('/(https?:\/\/%s)(index.php)?\?m=pc&a=(\w+)((?:[a-zA-Z0-9_=]|&)*)/', preg_quote($openpne_url, '/'));
    1919    return preg_replace_callback($url_pattern, 'smarty_modifier_t_url2a_ktai_callback', $string);
    2020}
     
    2222function smarty_modifier_t_url2a_ktai_callback($matches)
    2323{
    24     $url = str_replace('&', '&', $matches[0]);
     24    $raw_url    = $matches[0];
     25    $host       = $matches[1];
     26    $raw_action = $matches[3];
     27    $param      = $matches[4];
     28   
     29    //自動リンクのアクションリストにない場合は変換なし
     30    if (!$converted_action = $GLOBALS['AUTO_LINK_ACTION_PC2KTAI'][$raw_action]) {
     31        return $raw_url;
     32    }
     33    $param = str_replace('&', '&', $param);
    2534
    2635    // 携帯用URLに置換、ksid 追加
    27     $ktai_url = str_replace('?m=pc', '?m=ktai', $url) . '&' . $GLOBALS['KTAI_URL_TAIL'];
     36    $ktai_url = $host . '?m=ktai&a=' . $converted_action . $param . '&' . $GLOBALS['KTAI_URL_TAIL'];
    2837
    2938    // 表示上は page_ 以降を最大40文字で縮める
    30     $urlstr = str_replace('&', '&', $matches[1]);
     39    $urlstr = $converted_action . $param;
    3140
    3241    $length = 40;
Note: See TracChangeset for help on using the changeset viewer.