7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
9 * @package Magic3 Framework
10 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11 * @copyright Copyright 2006-2010 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: ajax_sample2WidgetContainer.php 3351 2010-07-08 02:12:05Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
18 class ajax_sample2WidgetContainer extends BaseWidgetContainer
25 function __construct()
28 parent::__construct();
31 $this->itemArray = array(
32 array( 'no' => '1', 'title' => 'title1', 'user' => '',
33 'thumbnail' => '1.png', 'message' => 'png image'),
34 array( 'no' => '2', 'title' => 'title2', 'user' => '',
35 'thumbnail' => '2.png', 'message' => 'png image'),
36 array( 'no' => '3', 'title' => 'title3', 'user' => '',
37 'thumbnail' => '3.png', 'message' => 'png image'),
38 array( 'no' => '4', 'title' => 'title4', 'user' => '',
39 'thumbnail' => '4.gif', 'message' => 'gif image'),
40 array( 'no' => '5', 'title' => 'title5', 'user' => '',
41 'thumbnail' => '5.gif', 'message' => 'gif image'),
42 array( 'no' => '6', 'title' => 'title6', 'user' => '',
43 'thumbnail' => '6.gif', 'message' => 'gif image'),
44 array( 'no' => '7', 'title' => 'title7', 'user' => '',
45 'thumbnail' => '7.png', 'message' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'),
46 array( 'no' => '8', 'title' => 'title8', 'user' => '',
47 'thumbnail' => '8.png', 'message' => '88888'),
48 array( 'no' => '9', 'title' => 'title9', 'user' => '',
49 'thumbnail' => '9.png', 'message' => '99999999'),
50 array( 'no' => '10', 'title' => 'title10', 'user' => '',
51 'thumbnail' => '10.png', 'message' => '0000000000000000000000'),
52 array( 'no' => '11', 'title' => 'title11', 'user' => '',
53 'thumbnail' => '11.png', 'message' => 'あいうえお,かきくけこ'),
54 array( 'no' => '12', 'title' => 'title12', 'user' => '',
55 'thumbnail' => '12.png', 'message' => 'あいうえお,かきくけこ、[1234567890]'),
56 array( 'no' => '13', 'title' => 'title13', 'user' => '',
57 'thumbnail' => '13.png', 'message' => 'あいうえお,かきくけこ'),
58 array( 'no' => '14', 'title' => 'title14', 'user' => '',
59 'thumbnail' => '14.png', 'message' => 'あいうえお,かきくけこあいうえお,かきくけこあいうえお,かきくけこあいうえお,かきくけこ'),
60 array( 'no' => '15', 'title' => 'title15', 'user' => '',
61 'thumbnail' => '15.png', 'message' => 'あいうえお,かきくけこ'),
62 array( 'no' => '16', 'title' => 'title16', 'user' => '',
63 'thumbnail' => '16.png', 'message' => 'あいうえお,かきくけこ'),
64 array( 'no' => '17', 'title' => 'title17', 'user' => '',
65 'thumbnail' => '17.png', 'message' => 'あいうえお,かきくけこ'),
66 array( 'no' => '18', 'title' => 'title18', 'user' => '',
67 'thumbnail' => '18.png', 'message' => 'あいうえお,かきくけこ'),
68 array( 'no' => '19', 'title' => 'title19', 'user' => '',
69 'thumbnail' => '19.png', 'message' => 'あいうえお,かきくけこ'),
70 array( 'no' => '20', 'title' => 'title20', 'user' => '',
71 'thumbnail' => '20.png', 'message' => 'あいうえお,かきくけこ')
77 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
78 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
80 * @param RequestManager $request HTTPリクエスト処理クラス
81 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
82 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
84 function _setTemplate($request, &$param)
86 if ($request->trimValueOf('act') == 'getdata'){ // Ajaxインターフェイスでの対応
88 return ''; // テンプレートは使用しない
90 return 'index.tmpl.html';
96 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
98 * @param RequestManager $request HTTPリクエスト処理クラス
99 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
102 function _assign($request, &$param)
104 if ($param == 'ajax'){ // Ajaxインターフェイスでの対応の場合
105 $no = $request->trimValueOf('no'); // 開始番号
106 if ($no == '') $no = 1;
107 $count = $request->trimValueOf('count'); // 取得数
109 $imagePath = $this->getUrl($this->gEnv->getCurrentWidgetRootUrl() . '/images');
111 if ($no + $count -1 <= count($this->itemArray)){
112 for ($i = 0; $i < $count; $i++){
113 $line = $this->itemArray[$i + $no -1];
116 $line['thumbnail'] = $imagePath . '/' . $line['thumbnail'];
121 $this->gInstance->getAjaxManager()->addData('message', "サーバからの応答\n現在の日時は" . date(" Y年m月d日 H:i:s"));
122 $this->gInstance->getAjaxManager()->addData('items', $sendData);
123 } else { // HTML表示の場合
124 $this->tmpl->addVar("_widget", "IMG_URL", $this->getUrl($this->gEnv->getCurrentWidgetRootUrl() . '/images'));