Cloud computing platform
Revisión | b539c9e64b17c29609ce9ae87d101f2b4554007b (tree) |
---|---|
Tiempo | 2014-09-25 16:12:01 |
Autor | naoki hirata <naoki@magi...> |
Commiter | naoki hirata |
「リンク情報」アドオン更新。
@@ -24,6 +24,11 @@ class linkInfo | ||
24 | 24 | private $contentType; // コンテンツタイプ |
25 | 25 | private $contentTypeArray; // 主要コンテンツタイプ |
26 | 26 | private $accessPointType; // アクセスポイント種別 |
27 | + // URL作成用 | |
28 | + private $_urlParamOrder; // URLパラメータの並び順 | |
29 | + private $_useHierPage; // 階層化ページを使用するかどうか | |
30 | + private $_isMultiDomain; // マルチドメイン運用かどうか | |
31 | + // タイトルリスト、プレビュー用定数 | |
27 | 32 | const DEFAULT_CONTENT_COUNT = 300; // コンテンツリスト取得数 |
28 | 33 | const CONTENT_LENGTH = 300; // プレビュー用コンテンツサイズ |
29 | 34 |
@@ -33,6 +38,7 @@ class linkInfo | ||
33 | 38 | function __construct() |
34 | 39 | { |
35 | 40 | global $gEnvManager; |
41 | + global $gPageManager; | |
36 | 42 | |
37 | 43 | // DBオブジェクト作成 |
38 | 44 | $this->db = new linkInfoDb(); |
@@ -49,6 +55,8 @@ class linkInfo | ||
49 | 55 | $this->accessPointType = array( array('', 'PC用「/」'), |
50 | 56 | array('m', '携帯用「/m」'), |
51 | 57 | array('s', 'スマートフォン用「/s」')); // アクセスポイント種別 |
58 | + // URLパラメータ並び順 | |
59 | + $this->_urlParamOrder = $gPageManager->getUrlParamOrder(); | |
52 | 60 | } |
53 | 61 | /** |
54 | 62 | * リンク情報を作成し、Ajaxデータとして出力 |
@@ -472,5 +480,244 @@ class linkInfo | ||
472 | 480 | } |
473 | 481 | return $langs; |
474 | 482 | } |
483 | + /** | |
484 | + * URLを作成 | |
485 | + * | |
486 | + * ・ページのSSL設定状況に応じて、SSL用URLに変換 | |
487 | + * | |
488 | + * @param string $path URL作成用のパス | |
489 | + * @param bool $isLink 作成するURLがリンクかどうか。リンクの場合はリンク先のページのSSLの状態に合わせる | |
490 | + * @param string,array $param URLに付加するパラメータ | |
491 | + * @return string 作成したURL | |
492 | + */ | |
493 | + function getUrl($path, $isLink = false, $param = '') | |
494 | + { | |
495 | + global $gEnvManager; | |
496 | + global $gPageManager; | |
497 | + | |
498 | + $destPath = ''; | |
499 | + $path = trim($path); | |
500 | + | |
501 | + // URLの示すファイルタイプを取得 | |
502 | + if ($gEnvManager->getUseSsl()){ // SSLを使用する場合 | |
503 | + // 現在のページがSSL使用設定になっているかどうかを取得 | |
504 | + $currentPageId = $gEnvManager->getCurrentPageId(); | |
505 | + $currentPageSubId = $gEnvManager->getCurrentPageSubId(); | |
506 | + $isSslPage = $gPageManager->isSslPage($currentPageId, $currentPageSubId); | |
507 | + | |
508 | + $baseUrl = $gEnvManager->getRootUrl(); | |
509 | + $sslBaseUrl = $gEnvManager->getSslRootUrl(); // SSL用URLが設定されている場合、設定値を使用 | |
510 | + | |
511 | + // パスを解析 | |
512 | + if (strStartsWith($path, M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END)){ // Magic3のルートURLマクロのとき | |
513 | + $relativePath = str_replace(M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END, '', $path); | |
514 | + if (empty($relativePath)){ // Magic3のルートURLの場合 | |
515 | + if ($isLink){ // リンクタイプのとき | |
516 | + $destPath = $baseUrl; | |
517 | + } else { // リンクでないとき | |
518 | + // 現在のページのSSLの状態に合わせる | |
519 | + if ($isSslPage){ | |
520 | + $destPath = $sslBaseUrl; | |
521 | + } else { | |
522 | + $destPath = $baseUrl; | |
523 | + } | |
524 | + } | |
525 | + // トップページへのリンクの場合とどう区別するか→トップページへのリンクの場合はフルパスで指定? | |
526 | + } else { | |
527 | + $destPath = $this->_createUrlByRelativePath($isSslPage, $baseUrl, $sslBaseUrl, $relativePath, $param, $isLink); | |
528 | + } | |
529 | + } else if (strncasecmp($path, 'http://', strlen('http://')) == 0 || strncasecmp($path, 'https://', strlen('https://')) == 0){ // 絶対パスURLのとき | |
530 | + // パスを解析 | |
531 | + $relativePath = str_replace($baseUrl, '', $path); // ルートURLからの相対パスを取得 | |
532 | + if (empty($relativePath)){ // Magic3のルートURLの場合 | |
533 | + if ($isLink){ // リンクタイプのとき | |
534 | + $destPath = $baseUrl; | |
535 | + } else { // リンクでないとき | |
536 | + // 現在のページのSSLの状態に合わせる | |
537 | + if ($isSslPage){ | |
538 | + $destPath = $sslBaseUrl; | |
539 | + } else { | |
540 | + $destPath = $baseUrl; | |
541 | + } | |
542 | + } | |
543 | + // トップページへのリンクの場合とどう区別するか→トップページへのリンクの場合はフルパスで指定? | |
544 | + } else if (strStartsWith($relativePath, '/') || strStartsWith($relativePath, '?')){ // ルートURL配下のとき | |
545 | + $destPath = $this->_createUrlByRelativePath($isSslPage, $baseUrl, $sslBaseUrl, $relativePath, $param, $isLink); | |
546 | + } else { // ルートURL以外のURLのとき | |
547 | + $destPath = $path; | |
548 | + } | |
549 | + } else { // 相対パスのとき | |
550 | + } | |
551 | + } else { // SSLを使用しない場合 | |
552 | + if ($this->_useHierPage){ // 階層化ページ使用のとき | |
553 | + $createPath = true; // パスを生成するかどうか | |
554 | + $baseUrl = $gEnvManager->getRootUrl(); | |
555 | + $sslBaseUrl = $gEnvManager->getSslRootUrl(); // SSL用URLが設定されている場合、設定値を使用 | |
556 | + if (strStartsWith($path, M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END)){ // Magic3のルートURLマクロのとき | |
557 | + $relativePath = str_replace(M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END, '', $path); | |
558 | + } else if (strncasecmp($path, 'http://', strlen('http://')) == 0 || strncasecmp($path, 'https://', strlen('https://')) == 0){ // 絶対パスURLのとき | |
559 | + $relativePath = str_replace($baseUrl, '', $path); // ルートURLからの相対パスを取得 | |
560 | + if (strStartsWith($relativePath, '/') || strStartsWith($relativePath, '?')){ // ルートURL配下のとき | |
561 | + } else { // ルートURL以外のURLのとき | |
562 | + $createPath = false; // パスを生成するかどうか | |
563 | + } | |
564 | + } | |
565 | + if ($createPath){ // パスを生成するかどうか | |
566 | + $destPath = $this->_createUrlByRelativePath(false, $baseUrl, $sslBaseUrl, $relativePath, $param); | |
567 | + } else { | |
568 | + $destPath = $path; | |
569 | + } | |
570 | + } else { | |
571 | + if (strStartsWith($path, M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END)){ // Magic3のルートURLマクロのとき | |
572 | + $destPath = str_replace(M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END, $gEnvManager->getRootUrl(), $path); | |
573 | + } else { | |
574 | + $destPath = $path; | |
575 | + } | |
576 | + } | |
577 | + } | |
578 | + // マルチドメイン運用の場合はパスを修正 | |
579 | + if ($this->_isMultiDomain){ | |
580 | + if ($gEnvManager->getIsSmartphoneSite()){ // スマートフォンサイトの場合 | |
581 | + $domainUrl = $gEnvManager->getDefaultSmartphoneUrl(false/*ファイル名なし*/); | |
582 | + $relativePath = str_replace($domainUrl . '/' . M3_DIR_NAME_SMARTPHONE, '', $destPath); | |
583 | + if (strStartsWith($relativePath, '/')){ | |
584 | + $destPath = $domainUrl . $relativePath; | |
585 | + } else { | |
586 | + // メインのドメインの場合はアクセスポイント用ドメインに変換 | |
587 | + $relativePath = str_replace(M3_SYSTEM_ROOT_URL . '/' . M3_DIR_NAME_SMARTPHONE, '', $destPath); | |
588 | + if (strStartsWith($relativePath, '/')) $destPath = $domainUrl . $relativePath; | |
589 | + } | |
590 | + } else if ($gEnvManager->getIsMobileSite()){ // 携帯サイトの場合 | |
591 | + $domainUrl = $gEnvManager->getDefaultMobileUrl(false, false/*ファイル名なし*/); | |
592 | + $relativePath = str_replace($domainUrl . '/' . M3_DIR_NAME_MOBILE, '', $destPath); | |
593 | + if (strStartsWith($relativePath, '/')){ | |
594 | + $destPath = $domainUrl . $relativePath; | |
595 | + } else { | |
596 | + // メインのドメインの場合はアクセスポイント用ドメインに変換 | |
597 | + $relativePath = str_replace(M3_SYSTEM_ROOT_URL . '/' . M3_DIR_NAME_MOBILE, '', $destPath); | |
598 | + if (strStartsWith($relativePath, '/')) $destPath = $domainUrl . $relativePath; | |
599 | + } | |
600 | + } | |
601 | + } | |
602 | + return $destPath; | |
603 | + } | |
604 | + /** | |
605 | + * 相対パスからURLを作成 | |
606 | + * | |
607 | + * @param bool $isSslPage 現在のページがSSL使用になっているかどうか | |
608 | + * @param string $baseUrl ルートURL | |
609 | + * @param string $sslBaseUrl SSL使用時のルートURL | |
610 | + * @param string $path 相対パス | |
611 | + * @param string,array $param URLに付加するパラメータ | |
612 | + * @param bool $isLink 作成するURLがリンクかどうか。リンクの場合はリンク先のページのSSLの状態に合わせる | |
613 | + * @return string 作成したURLパラメータ | |
614 | + */ | |
615 | + function _createUrlByRelativePath($isSslPage, $baseUrl, $sslBaseUrl, $path, $param = '', $isLink = false) | |
616 | + { | |
617 | + $destPath = ''; | |
618 | + | |
619 | + // ファイル名を取得 | |
620 | + $paramArray = array(); | |
621 | + list($filename, $query) = explode('?', basename($path)); | |
622 | + $saveFilename = $filename; // ファイル名を退避 | |
623 | + if (empty($filename)) $filename = M3_FILENAME_INDEX; | |
624 | + | |
625 | + if (!empty($query)) parse_str($query, $paramArray); | |
626 | + if (is_array($param)){ | |
627 | + $paramArray = array_merge($paramArray, $param); | |
628 | + } else if (is_string($param) && !empty($param)){ | |
629 | + parse_str($param, $addArray); | |
630 | + $paramArray = array_merge($paramArray, $addArray); | |
631 | + } | |
632 | + // ページIDを取得 | |
633 | + if (strEndsWith($filename, '.php')){ // PHPスクリプトのとき | |
634 | + if ($isLink){ // リンクタイプのとき | |
635 | + // ページIDを取得 | |
636 | + $pageId = basename($filename, '.php'); | |
637 | + $pageSubId = $paramArray[M3_REQUEST_PARAM_PAGE_SUB_ID]; | |
638 | + | |
639 | + // 目的のページのSSL設定状況を取得 | |
640 | + $isSslSelPage = $gPageManager->isSslPage($pageId, $pageSubId); | |
641 | + if ($isSslSelPage){ | |
642 | + $destPath = $sslBaseUrl; | |
643 | + } else { | |
644 | + $destPath = $baseUrl; | |
645 | + } | |
646 | + } else { | |
647 | + // 現在のページのSSLの状態に合わせる | |
648 | + if ($isSslPage){ | |
649 | + //$destPath = $sslBaseUrl . $path; | |
650 | + $destPath = $sslBaseUrl; | |
651 | + } else { | |
652 | + //$destPath = $baseUrl . $path; | |
653 | + $destPath = $baseUrl; | |
654 | + } | |
655 | + } | |
656 | + // 階層化パスで出力のとき | |
657 | + if ($this->_useHierPage && $filename == M3_FILENAME_INDEX){ | |
658 | + $subId = $paramArray[M3_REQUEST_PARAM_PAGE_SUB_ID]; | |
659 | + $dirName = dirname($path); | |
660 | + if ($dirName == '/'){ | |
661 | + $destPath .= $dirName; | |
662 | + } else { | |
663 | + $destPath .= $dirName . '/'; | |
664 | + } | |
665 | + if (!empty($subId)){ | |
666 | + $destPath .= $subId . '/'; | |
667 | + unset($paramArray[M3_REQUEST_PARAM_PAGE_SUB_ID]); | |
668 | + } | |
669 | + } else { | |
670 | + $dirName = dirname($path); | |
671 | + if ($dirName == '/'){ | |
672 | + $destPath .= $dirName . $saveFilename; | |
673 | + } else { | |
674 | + $destPath .= $dirName . '/' . $saveFilename; | |
675 | + } | |
676 | + } | |
677 | + // ページサブIDがデフォルト値のときはページサブIDを省略 | |
678 | + //if ($paramArray[M3_REQUEST_PARAM_PAGE_SUB_ID] == | |
679 | + $paramStr = $this->_createParamStr($paramArray); | |
680 | + if (!empty($paramStr)) $destPath .= '?' . $paramStr; | |
681 | + } else { | |
682 | + // 現在のページのSSLの状態に合わせる | |
683 | + if ($isSslPage){ | |
684 | + $destPath = $sslBaseUrl . $path; | |
685 | + } else { | |
686 | + $destPath = $baseUrl . $path; | |
687 | + } | |
688 | + } | |
689 | + return $destPath; | |
690 | + } | |
691 | + /** | |
692 | + * URLパラメータ文字列作成 | |
693 | + * | |
694 | + * @param array $paramArray URL作成用のパス | |
695 | + * @return string 作成したURLパラメータ | |
696 | + */ | |
697 | + function _createParamStr($paramArray) | |
698 | + { | |
699 | + $destParam = ''; | |
700 | + if (count($paramArray) == 0) return $destParam; | |
701 | + | |
702 | + $sortParam = array(); | |
703 | + $keys = array_keys($paramArray); | |
704 | + $keyCount = count($keys); | |
705 | + for ($i = 0; $i < $keyCount; $i++){ | |
706 | + $key = $keys[$i]; | |
707 | + $value = $paramArray[$key]; | |
708 | + $orderNo = $this->_urlParamOrder[$key]; | |
709 | + if (!isset($orderNo)) $orderNo = 100; | |
710 | + $sortParam[] = array('key' => $key, 'value' => $value, 'no' => $orderNo); | |
711 | + } | |
712 | + usort($sortParam, create_function('$a,$b', 'return $a["no"] - $b["no"];')); | |
713 | + | |
714 | + // 文字列を作成 | |
715 | + $sortCount = count($sortParam); | |
716 | + for ($i = 0; $i < $sortCount; $i++){ | |
717 | + if ($i > 0) $destParam .= '&'; | |
718 | + $destParam .= rawurlencode($sortParam[$i]['key']) . '=' . rawurlencode($sortParam[$i]['value']); | |
719 | + } | |
720 | + return $destParam; | |
721 | + } | |
475 | 722 | } |
476 | 723 | ?> |
@@ -74,95 +74,7 @@ class BaseWidgetContainer extends Core | ||
74 | 74 | $this->_db = $this->gInstance->getSytemDbObject(); |
75 | 75 | |
76 | 76 | // URLパラメータ並び順 |
77 | - $this->urlParamOrder = array( | |
78 | - // コンテンツID | |
79 | - M3_REQUEST_PARAM_CONTENT_ID => -20, // 汎用コンテンツID | |
80 | - M3_REQUEST_PARAM_CONTENT_ID_SHORT => -19, // 汎用コンテンツID(略式) | |
81 | - M3_REQUEST_PARAM_PRODUCT_ID => -18, // 製品ID | |
82 | - M3_REQUEST_PARAM_PRODUCT_ID_SHORT => -17, // 製品ID(略式) | |
83 | - M3_REQUEST_PARAM_BLOG_ID => -16, // ブログID | |
84 | - M3_REQUEST_PARAM_BLOG_ID_SHORT => -15, // ブログID(略式) | |
85 | - M3_REQUEST_PARAM_BLOG_ENTRY_ID => -14, // ブログ記事ID | |
86 | - M3_REQUEST_PARAM_BLOG_ENTRY_ID_SHORT => -13, // ブログ記事ID(略式) | |
87 | - M3_REQUEST_PARAM_BBS_ID => -12, // 掲示板投稿記事ID | |
88 | - M3_REQUEST_PARAM_BBS_ID_SHORT => -11, // 掲示板投稿記事ID(略式) | |
89 | - M3_REQUEST_PARAM_BBS_THREAD_ID => -10, // 掲示板投稿スレッドID | |
90 | - M3_REQUEST_PARAM_BBS_THREAD_ID_SHORT => -9, // 掲示板投稿スレッドID(略式) | |
91 | - M3_REQUEST_PARAM_USER_ID => -8, // ユーザ作成コンテンツID | |
92 | - M3_REQUEST_PARAM_USER_ID_SHORT => -7, // ユーザ作成コンテンツID(略式) | |
93 | - M3_REQUEST_PARAM_ROOM_ID => -6, // ユーザ作成コンテンツ区画ID | |
94 | - M3_REQUEST_PARAM_ROOM_ID_SHORT => -5, // ユーザ作成コンテンツ区画ID(略式) | |
95 | - M3_REQUEST_PARAM_EVENT_ID => -4, // イベントID | |
96 | - M3_REQUEST_PARAM_EVENT_ID_SHORT => -3, // イベントID(略式) | |
97 | - M3_REQUEST_PARAM_PHOTO_ID => -2, // 画像ID | |
98 | - M3_REQUEST_PARAM_PHOTO_ID_SHORT => -1, // 画像ID(略式) | |
99 | - // URLパラメータ | |
100 | - M3_REQUEST_PARAM_PAGE_SUB_ID => 1, // ページサブID | |
101 | - M3_REQUEST_PARAM_PAGE_CONTENT_ID => 2, // ページコンテンツID | |
102 | - M3_REQUEST_PARAM_WIDGET_ID => 3, // ウィジェットID | |
103 | - M3_REQUEST_PARAM_TEMPLATE_ID => 4, // テンプレートID | |
104 | - M3_REQUEST_PARAM_URL => 5, // リンク先等のURL | |
105 | - M3_REQUEST_PARAM_STAMP => 6, // 公開発行ID | |
106 | - M3_REQUEST_PARAM_OPTION => 7, // 通信オプション | |
107 | - M3_REQUEST_PARAM_OPERATION_COMMAND => 8, // 実行処理 | |
108 | - M3_REQUEST_PARAM_OPERATION_WIKI_COMMAND => 9, // Wikiコマンド実行 | |
109 | - M3_REQUEST_PARAM_OPERATION_TASK => 10, // ウィジェット間共通処理 | |
110 | - M3_REQUEST_PARAM_OPERATION_ACT => 11, // クライアントからの実行処理 | |
111 | - M3_REQUEST_PARAM_OPERATION_LANG => 12, // 言語指定表示 | |
112 | - M3_REQUEST_PARAM_SERIAL_NO => 13, // シリアル番号 | |
113 | - M3_REQUEST_PARAM_PAGE_NO => 14, // ページ番号 | |
114 | - M3_REQUEST_PARAM_LIST_NO => 15, // 一覧番号 | |
115 | - M3_REQUEST_PARAM_ITEM_NO => 16, // 項目番号 | |
116 | - M3_REQUEST_PARAM_OPERATION_TODO => 17, // 指定ウィジェットに実行させる処理 | |
117 | - M3_REQUEST_PARAM_FROM => 18, // メッセージの送信元ウィジェットID | |
118 | - M3_REQUEST_PARAM_VIEW_STYLE => 19, // 表示スタイル | |
119 | - M3_REQUEST_PARAM_FORWARD => 20, // 画面遷移用パラメータ | |
120 | - M3_REQUEST_PARAM_ADMIN_KEY => 21, // 管理者一時キー | |
121 | - M3_REQUEST_PARAM_OPEN_BY => 22, // ウィンドウの開き方 | |
122 | - M3_REQUEST_PARAM_SHOW_HEADER => 23, // ヘッダ部表示制御 | |
123 | - M3_REQUEST_PARAM_SHOW_FOOTER => 24, // フッタ部表示制御 | |
124 | - M3_REQUEST_PARAM_SHOW_MENU => 25, // メニュー部表示制御 | |
125 | - M3_REQUEST_PARAM_KEYWORD => 26, // 検索キーワード | |
126 | - M3_REQUEST_PARAM_HISTORY => 27, // 履歴インデックスNo | |
127 | - M3_REQUEST_PARAM_DEF_PAGE_ID => 28, // ページID(画面編集用) | |
128 | - M3_REQUEST_PARAM_DEF_PAGE_SUB_ID => 29, // ページサブID(画面編集用) | |
129 | - M3_REQUEST_PARAM_PAGE_DEF_SERIAL => 30, // ページ定義のレコードシリアル番号(設定画面起動時) | |
130 | - M3_REQUEST_PARAM_PAGE_DEF_CONFIG_ID => 31, // ページ定義のウィジェット定義ID(設定画面起動時) | |
131 | - M3_REQUEST_PARAM_BACK_URL => 32, // 戻り先URL | |
132 | - M3_REQUEST_PARAM_BACKUP_URL => 33, // URL退避用(画面編集時) | |
133 | - M3_REQUEST_PARAM_SERVER => 34, // サーバ指定 | |
134 | - M3_REQUEST_PARAM_CATEGORY_ID => 35, // カテゴリID(共通) | |
135 | - M3_REQUEST_PARAM_WIDTH => 36, // 幅 | |
136 | - M3_REQUEST_PARAM_HEIGHT => 37); // 高さ | |
137 | -/* $this->urlParamOrder = array( | |
138 | - M3_REQUEST_PARAM_PAGE_SUB_ID => 1, // ページサブID | |
139 | - M3_REQUEST_PARAM_PAGE_CONTENT_ID => 2, // ページコンテンツID | |
140 | - M3_REQUEST_PARAM_WIDGET_ID => 3, // ウィジェットID | |
141 | - M3_REQUEST_PARAM_TEMPLATE_ID => 4, // テンプレートID | |
142 | - M3_REQUEST_PARAM_URL => 5, // リンク先等のURL | |
143 | - M3_REQUEST_PARAM_STAMP => 6, // 公開発行ID | |
144 | - M3_REQUEST_PARAM_OPTION => 7, // 通信オプション | |
145 | - M3_REQUEST_PARAM_OPERATION_COMMAND => 8, // 実行処理 | |
146 | - M3_REQUEST_PARAM_OPERATION_WIKI_COMMAND => 9, // Wikiコマンド実行 | |
147 | - M3_REQUEST_PARAM_OPERATION_TASK => 10, // ウィジェット間共通処理 | |
148 | - M3_REQUEST_PARAM_OPERATION_ACT => 11, // クライアントからの実行処理 | |
149 | - M3_REQUEST_PARAM_OPERATION_LANG => 12, // 言語指定表示 | |
150 | - M3_REQUEST_PARAM_PAGE_NO => 13, // ページ番号 | |
151 | - M3_REQUEST_PARAM_LIST_NO => 14, // 一覧番号 | |
152 | - M3_REQUEST_PARAM_ITEM_NO => 15, // 項目番号 | |
153 | - M3_REQUEST_PARAM_OPERATION_TODO => 16, // 指定ウィジェットに実行させる処理 | |
154 | - M3_REQUEST_PARAM_FROM => 17, // メッセージの送信元ウィジェットID | |
155 | - M3_REQUEST_PARAM_VIEW_STYLE => 18, // 表示スタイル | |
156 | - M3_REQUEST_PARAM_FORWARD => 19, // 画面遷移用パラメータ | |
157 | - M3_REQUEST_PARAM_ADMIN_KEY => 20, // 管理者一時キー | |
158 | - M3_REQUEST_PARAM_OPEN_BY => 21, // ウィンドウの開き方 | |
159 | - M3_REQUEST_PARAM_DEF_PAGE_ID => 22, // ページID(画面編集用) | |
160 | - M3_REQUEST_PARAM_DEF_PAGE_SUB_ID => 23, // ページサブID(画面編集用) | |
161 | - M3_REQUEST_PARAM_PAGE_DEF_SERIAL => 24, // ページ定義のレコードシリアル番号(設定画面起動時) | |
162 | - M3_REQUEST_PARAM_PAGE_DEF_CONFIG_ID => 25, // ページ定義のウィジェット定義ID(設定画面起動時) | |
163 | - M3_REQUEST_PARAM_CONTENT_ID => 26, // コンテンツID | |
164 | - M3_REQUEST_PARAM_CONTENT_ID_SHORT => 27); // コンテンツID(略式) | |
165 | - */ | |
77 | + $this->urlParamOrder = $this->gPage->getUrlParamOrder(); | |
166 | 78 | |
167 | 79 | // 各種設定取得 |
168 | 80 | $this->_useHierPage = $this->gSystem->hierarchicalPage(); // 階層化ページ |
@@ -363,7 +363,9 @@ class PageManager extends Core | ||
363 | 363 | M3_REQUEST_PARAM_BACK_URL => 32, // 戻り先URL |
364 | 364 | M3_REQUEST_PARAM_BACKUP_URL => 33, // URL退避用(画面編集時) |
365 | 365 | M3_REQUEST_PARAM_SERVER => 34, // サーバ指定 |
366 | - M3_REQUEST_PARAM_CATEGORY_ID => 35); // カテゴリID(共通) | |
366 | + M3_REQUEST_PARAM_CATEGORY_ID => 35, // カテゴリID(共通) | |
367 | + M3_REQUEST_PARAM_WIDTH => 36, // 幅 | |
368 | + M3_REQUEST_PARAM_HEIGHT => 37); // 高さ | |
367 | 369 | } |
368 | 370 | /** |
369 | 371 | * メインコンテンツタイプを取得 |
@@ -5233,6 +5235,15 @@ class PageManager extends Core | ||
5233 | 5235 | return $url; |
5234 | 5236 | } |
5235 | 5237 | /** |
5238 | + * URLパラメータの並び順を取得 | |
5239 | + * | |
5240 | + * @return array パラメータ文字列の配列 | |
5241 | + */ | |
5242 | + function getUrlParamOrder() | |
5243 | + { | |
5244 | + return $this->urlParamOrder; // URLパラメータの並び順 | |
5245 | + } | |
5246 | + /** | |
5236 | 5247 | * キャッシュ制御用の付加パラメータを取得 |
5237 | 5248 | * |
5238 | 5249 | * @return string パラメータ |