2 * 表示データ作成用テンプレート(patTemplate)
\r
4 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
\r
6 * @package Magic3 Framework
\r
7 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
\r
8 * @copyright Copyright 2006-2013 Magic3 Project.
\r
9 * @license http://www.gnu.org/copyleft/gpl.html GPL License
\r
10 * @version SVN: $Id: main_list.tmpl.html 5632 2013-02-10 13:53:17Z fishbone $
\r
11 * @link http://www.magic3.org
\r
13 <patTemplate:tmpl name="_widget">
\r
14 <script type="text/javascript">
\r
16 var photoCount = {PHOTO_COUNT};
\r
17 var photoInfo = new Array();
\r
21 m3_ajax_request('photo_main', '{AJAX_URL}', ajax_success_func, ajax_failure_func);
\r
22 <patTemplate:tmpl name="category_script" visibility="hidden">
\r
24 $("#category_add").click(function(){
\r
25 $("#gallery_category").slideToggle(300);
\r
28 $("#password_submit").click(function(){
\r
29 $("#gallery_category").slideToggle(300);
\r
30 document.main.act.value = 'addcategory';
\r
31 document.main.password.value = hex_md5(document.main.access_password.value);
\r
32 document.main.submit();
\r
36 <patTemplate:tmpl name="search_script" visibility="hidden">
\r
38 $('#{SEARCH_TEXT_ID}').val('{KEYWORD}');
\r
39 $('#{SEARCH_SORT_ID}').val('{SORT}');
\r
40 $('#{SEARCH_SORT_ID}').change(function(){
\r
42 $('#{SEARCH_TEXT_ID}').attr('disabled', 'disabled');
\r
43 $('#{SEARCH_BUTTON_ID}').attr('disabled', 'disabled');
\r
45 url = '{SEARCH_URL}';
\r
46 value = $('#{SEARCH_SORT_ID}').val();
\r
47 if (value && value != '') url += '&sort=' + encodeURIComponent(value);
\r
50 value = $('select.photo_main_category option:selected').map(function(){ return $(this).val() ? $(this).val() : null; }).get();
\r
51 value = jQuery.unique(value).join('+');
\r
52 if (value && value != '') category += value;
\r
54 value = $('input:checked.photo_main_category').map(function(){return $(this).val();}).get();
\r
55 value = jQuery.unique(value).join(',');
\r
56 if (value && value != ''){
\r
57 if (category && category != '') category += '+';
\r
60 if (category && category != '') url += '&category=' + encodeURI(category);
\r
61 value = $('.photo_main_author').map(function(){return $(this).val();}).get();
\r
62 value = jQuery.unique(value);
\r
63 if (value && value != '') url += '&author=' + encodeURI(value);
\r
64 window.location.href = url;
\r
66 $('#{SEARCH_BUTTON_ID}').click(function(){
\r
68 $('#{SEARCH_TEXT_ID}').attr('disabled', 'disabled');
\r
69 $('#{SEARCH_BUTTON_ID}').attr('disabled', 'disabled');
\r
71 url = '{SEARCH_URL}';
\r
72 value = $('#{SEARCH_TEXT_ID}').val();
\r
73 if (value && value != '') url += '&keyword=' + encodeURIComponent(value);
\r
74 value = $('#{SEARCH_SORT_ID}').val();
\r
75 if (value && value != '') url += '&sort=' + encodeURIComponent(value);
\r
78 value = $('select.photo_main_category option:selected').map(function(){ return $(this).val() ? $(this).val() : null; }).get();
\r
79 value = jQuery.unique(value).join('+');
\r
80 if (value && value != '') category += value;
\r
82 value = $('input:checked.photo_main_category').map(function(){return $(this).val();}).get();
\r
83 value = jQuery.unique(value).join(',');
\r
84 if (value && value != ''){
\r
85 if (category && category != '') category += '+';
\r
88 if (category && category != '') url += '&category=' + encodeURI(category);
\r
89 value = $('.photo_main_author').map(function(){return $(this).val();}).get();
\r
90 value = jQuery.unique(value);
\r
91 if (value && value != '') url += '&author=' + encodeURI(value);
\r
92 window.location.href = url;
\r
94 $('#{SEARCH_RESET_ID}').click(function(){
\r
95 $('#{SEARCH_FORM_ID} :input').each(function(){
\r
96 var type = this.type;
\r
97 var tag = this.tagName.toLowerCase();
\r
98 if (type == 'text' || type == 'password' || tag == 'textarea'){
\r
100 } else if (type == 'checkbox' || type == 'radio'){
\r
101 this.checked = false;
\r
102 } else if (tag == 'select'){
\r
103 this.selectedIndex = 0;
\r
107 </patTemplate:tmpl>
\r
109 function ajax_success_func(request, retcode, jsondata)
\r
111 if (jsondata.items){
\r
112 photoCount = jsondata.items.length < photoCount ? jsondata.items.length : photoCount;
\r
115 var thumbnail_area = '';
\r
116 thumbnail_area += '<ul id="thumbs_ul">';
\r
117 for (var i = 0; i < photoCount; i++){
\r
118 thumbnail_area += '<li>';
\r
119 thumbnail_area += '<div class="thumb_cont">';
\r
120 thumbnail_area += '<div id="image_wrap' + i + '" class="image_wrap"><img class="thumb_img" src="{LOAD_ICON_URL}" /></div>';
\r
121 thumbnail_area += '<div id="title_wrap' + i + '" class="title_wrap"> </div>';
\r
122 thumbnail_area += '<div id="score_wrap' + i + '" class="score_wrap"></div>';
\r
123 thumbnail_area += '</div>';
\r
124 thumbnail_area += '</li>';
\r
126 thumbnail_area += '</ul>';
\r
127 $('#gallery_cont').html(thumbnail_area);
\r
129 for (var i = 0; i < photoCount; i++){
\r
130 var obj = new Object();
\r
131 obj.id = jsondata.items[i].id;
\r
132 obj.no = jsondata.items[i].no;
\r
133 obj.image_url = jsondata.items[i].image_url;
\r
134 obj.title = jsondata.items[i].title;
\r
135 obj.title_short = jsondata.items[i].title_short;
\r
136 obj.score = jsondata.items[i].score;
\r
137 photoInfo.push(obj);
\r
142 function ajax_failure_func(request)
\r
144 // alert('ajax failure!');
\r
146 function loadPhoto(index)
\r
148 if (index >= photoCount) return;
\r
150 var image = new Image();
\r
151 image.title = photoInfo[index].title;
\r
152 image.alt = photoInfo[index].title;
\r
155 $(image).load(function (){
\r
156 var imageTag = $('<a href="{PHOTO_DETAIL_URL}?photoid=' + photoInfo[index].id + '&no=' + photoInfo[index].no + '{PHOTO_DETAIL_URL_OTHERS}"></a>').html(this);
\r
157 var titleTag = $('<a href="{PHOTO_DETAIL_URL}?photoid=' + photoInfo[index].id + '&no=' + photoInfo[index].no + '{PHOTO_DETAIL_URL_OTHERS}"></a>').text(photoInfo[index].title_short);
\r
158 $('#image_wrap' + index).html(imageTag);
\r
159 $('#title_wrap' + index).html(titleTag);
\r
161 loadPhoto(index +1);
\r
163 $('#score_wrap' + index).raty({
\r
164 path: '{RATY_IMAGE_URL}',
\r
165 start: photoInfo[index].score,
\r
169 }).error(function (){
\r
170 $('#image_wrap' + index).html("Error!");
\r
171 loadPhoto(index +1);
\r
172 }).attr('src', photoInfo[index].image_url);
\r
176 <!-- m3:ErrorMessage -->
\r
177 <div id="photo_gallery">
\r
178 <patTemplate:tmpl name="category_area" visibility="hidden">
\r
179 <form method="post" name="main">
\r
180 <input type="hidden" name="act" />
\r
181 <input type="hidden" name="password" />
\r
182 <div class="gallery_category">表示可能なカテゴリー:{AUTH_CATEGORY_LIST} <input id="category_add" type="button" class="button" value="追加" /></div>
\r
183 <div id="gallery_category" style="display:none;">
\r
184 <div class="gallery_message">
\r
185 画像を表示するにはカテゴリーのパスワードを入力する必要があります。<br />
\r
186 目的のカテゴリーを選択し、パスワードを送信して下さい。</div>
\r
187 <label><span class="gallery_title">カテゴリー</span>
\r
188 <select name="access_category">
\r
189 <option value="0">-- 未選択 --</option>
\r
190 <patTemplate:tmpl name="access_category_list">
\r
191 <option value="{VALUE}" {SELECTED}>{NAME}</option>
\r
192 </patTemplate:tmpl>
\r
195 <label><span class="gallery_title">パスワード</span><input type="password" name="access_password" size="10" maxlength="10" /></label>
\r
196 <div class="photo_button"><input id="password_submit" type="button" class="button" value="送信" /></div>
\r
199 </patTemplate:tmpl>
\r
200 <patTemplate:tmpl name="single_category_area" visibility="hidden">
\r
201 <form method="post" name="main">
\r
202 <input type="hidden" name="act" />
\r
203 <input type="hidden" name="password" />
\r
204 <input type="hidden" name="access_category" value="{VALUE}" />
\r
205 <label><span class="gallery_title">パスワード</span><input type="password" name="access_password" size="10" maxlength="10" /></label>
\r
206 <div class="photo_button"><input id="password_submit" type="button" class="button" value="送信" /></div>
\r
208 </patTemplate:tmpl>
\r
209 <patTemplate:tmpl name="search_area" visibility="hidden"><form id="{SEARCH_FORM_ID}" name="custom_search_box" method="get" class="form"><div class="gallery_search">{HTML}</div></form></patTemplate:tmpl>
\r
210 <patTemplate:tmpl name="page_link_top" visibility="hidden"><div class="gallery_nav">{PAGE_LINK}</div></patTemplate:tmpl>
\r
211 <div id="gallery_cont"></div>
\r
212 <patTemplate:tmpl name="page_link_bottom" visibility="hidden"><div class="gallery_nav">{PAGE_LINK}</div></patTemplate:tmpl>
\r
214 </patTemplate:tmpl>
\r