portalcp_block.htm 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776
  1. <!--{template common/header}-->
  2. <!--{if !$_G['inajax'] && in_array($op, array('block', 'data', 'itemdata'))}-->
  3. <div id="pt" class="bm cl">
  4. <div class="z">
  5. <a href="./" class="nvhm" title="{lang homepage}">$_G[setting][bbname]</a> <em>&rsaquo;</em>
  6. <a href="$_G[setting][navs][1][filename]">{lang portal}</a> <em>&rsaquo;</em>
  7. <a href="portal.php?mod=portalcp"><!--{if $_G['setting']['portalstatus'] }-->{lang portal_manage}<!--{else}-->{lang portal_block_manage}<!--{/if}--></a> <em>&rsaquo;</em>
  8. <a href="portal.php?mod=portalcp&ac=portalblock">{lang block_management}</a>
  9. <!--{if $bid}--> <em>&rsaquo;</em><a href="portal.php?mod=portalcp&ac=block&op=block&bid=$bid"><!--{if $block[name]}-->$block[name]<!--{else}--># $block[bid]<!--{/if}--></a><!--{/if}-->
  10. </div>
  11. </div>
  12. <div id="ct" class="ct2_a wp cl">
  13. <div class="mn">
  14. <div class="bm bw0">
  15. <div id="block_selection">
  16. <ul class="tb cl">
  17. <!--{if $allowmanage}-->
  18. <li id="li_setting"{if $op=="block"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=block{if $_GET[from]}&from=$_GET[from]{/if}">{lang block_properties}</a></li>
  19. <!--{/if}-->
  20. <!--{if $bid && !$is_htmlblock}-->
  21. <!--{if $allowmanage || $allowdata}-->
  22. <li id="li_data"{if $op=="data"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=data{if $_GET[from]}&from=$_GET[from]{/if}">{lang block_data}</a></li>
  23. <!--{/if}-->
  24. <!--{/if}-->
  25. <!--{if $is_recommendable}-->
  26. <li id="li_itemdata"{if $op=="itemdata"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=itemdata{if $_GET[from]}&from=$_GET[from]{/if}">{lang block_itemdata}</a></li>
  27. <!--{/if}-->
  28. <!--{if $op == 'data' && ($allowmanage || $allowdata)}-->
  29. <button class="pn pnc y" title="{lang block_adddata_comment}" onclick="showWindow('$_GET[handlekey]', 'portal.php?mod=portalcp&ac=block&bid=$bid&op=additem{if $_G[inajax]}&itemfrom=ajax{/if}{if $_GET[from]}&from=$_GET[from]{/if}')"><em>{lang block_adddata}</em></button>
  30. <!--{/if}-->
  31. </ul>
  32. <!--{/if}-->
  33. <!--{if $_G['inajax'] && in_array($op, array('block', 'data', 'style', 'moreurl'))}-->
  34. <script type="text/javascript" reload="1">
  35. function succeedhandle_$_GET[handlekey] (url, message, values) {
  36. <!--{if $_GET[from]=='cp'}-->
  37. location.reload();
  38. <!--{else}-->
  39. var bid = values['bid'];
  40. var eleid = typeof values['eleid'] == 'undefined' ? 0 : values['eleid'];
  41. var x = new Ajax();
  42. var openTitle = 0;
  43. drag.setClose();
  44. x.get('portal.php?mod=portalcp&ac=block&op=getblock&forceupdate=1&bid='+bid+'&tpl=$_GET[tpl]&inajax=1<!--{if $_GET[from]}-->&from=$_GET[from]<!--{/if}-->', function(s) {
  45. var obj = document.createElement('div');
  46. bid = 'portal_block_'+bid;
  47. obj.innerHTML = s;
  48. if ($(bid) != null) {
  49. drag.stopSlide(bid);
  50. if($(bid+'_content')) $(bid+'_content').parentNode.removeChild($(bid+'_content'));
  51. $(bid).innerHTML = obj.childNodes[0].innerHTML;
  52. if(s.indexOf('runslideshow();') > 0) {
  53. runslideshow();
  54. }
  55. } else {
  56. $(eleid).parentNode.replaceChild(obj.childNodes[0],$(eleid));
  57. openTitle = 1;
  58. }
  59. drag.initPosition();
  60. evalscript(s);
  61. if (openTitle == 1) drag.openTitleEdit(bid);
  62. });
  63. <!--{/if}-->
  64. hideWindow('$_GET[handlekey]');
  65. }
  66. </script>
  67. <!--{block blocknav}-->
  68. <!--{if $allowmanage}-->
  69. <li id="li_setting"{if $op=="block"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=block{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('$_GET[handlekey]', this.getAttribute('href'));">{lang block_properties}</a></li>
  70. <!--{/if}-->
  71. <!--{if $bid && !$is_htmlblock}-->
  72. <!--{if $allowmanage || $allowdata}-->
  73. <li id="li_data"{if $op=="data"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=data{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('$_GET[handlekey]', this.getAttribute('href'));">{lang block_data}</a></li>
  74. <!--{/if}-->
  75. <!--{if $allowmanage}-->
  76. <li id="li_style"{if $op=="style"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=style{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('$_GET[handlekey]', this.getAttribute('href'));">{lang block_template}</a></li>
  77. <!--{if $block['moreurl']}-->
  78. <li id="li_moreurl"{if $op=="moreurl"} class="a"{/if}><a href="portal.php?mod=portalcp&ac=block&bid=$bid&op=moreurl{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('$_GET[handlekey]', this.getAttribute('href'));">{lang block_moreurl}</a></li>
  79. <!--{/if}-->
  80. <!--{/if}-->
  81. <!--{/if}-->
  82. <!--{/block}-->
  83. <!--{/if}-->
  84. <!--{if $op == 'block'}-->
  85. <!--{if $_G[inajax]}-->
  86. <h3 class="flb">
  87. <em id="return_$_GET[handlekey]">{lang block_edit}</em>
  88. <span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');{if empty($bid) && $_GET['from']!='cp'}drag.removeBlock('$_GET[eleid]',true);{/if}return false;" title="{lang close}">{lang close}</a></span>
  89. </h3>
  90. <ul class="tb cl">
  91. $blocknav
  92. </ul>
  93. <!--{/if}-->
  94. <form id="blockformsetting" name="blockformsetting" method="post" enctype="multipart/form-data" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=block&classname=$_GET[classname]&bid=$block[bid]&blocktype=$blocktype&eleid=$_GET['eleid']&tpl=$_GET[tpl]"{if $_G[inajax]} onsubmit="if(checkblockname(this)){ajaxpost('blockformsetting','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');} else {return false;}"{else} onsubmit="return checkblockname(this);"{/if} class="fdiy">
  95. <div class="c diywin"{if $_G[inajax]} style="width: 490px; {if $_GET[from]=='cp'}max-height:260px;{else}max-height:380px;{/if}height:auto !important; {if $_GET[from]=='cp'}height:260px;{else}height:380px;{/if} _padding-right: 17px; overflow-x: hidden; overflow-y: auto;"{/if}>
  96. <div id="block_setting">
  97. <table class="tfm mbm">
  98. <!--{if $showhtmltip}-->
  99. <tr>
  100. <td colspan="2" style="color: red">
  101. {lang block_properties_comment}</td>
  102. </tr>
  103. <!--{/if}-->
  104. <tr>
  105. <th width="80">{lang block_id}</th>
  106. <td>
  107. <input type="text" id="name" name="name" value="$block[name]" class="px" />
  108. <script type="text/javascript">document.forms['blockformsetting']['name'].focus();</script>
  109. </td>
  110. </tr>
  111. <tr>
  112. <th width="80">{lang block_type}</th>
  113. <td>
  114. <!--{eval list($bigclass) = explode('_',$block['blockclass']);}-->
  115. <!--{if !empty($_G['cache']['blockconvert']) && !empty($_G['cache']['blockconvert'][$bigclass][$block['blockclass']])}-->
  116. <select name="toblockclass" onchange="blockconver(this, '$block[bid]');" class="ps">
  117. <option value="$block[blockclass]">$blockclassname</option>
  118. <!--{loop $_G['cache']['blockconvert'][$bigclass][$block['blockclass']] $bblockclass $convertarr}-->
  119. <option value="$bblockclass">$convertarr[name]</option>
  120. <!--{/loop}-->
  121. </select>
  122. <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang block_type_convert_tips}" />
  123. <!--{else}-->
  124. $blockclassname
  125. <!--{/if}-->
  126. </td>
  127. </tr>
  128. <tr>
  129. <th width="80">{lang block_data_source}</th>
  130. <td>
  131. <select name="script" onchange="block_get_setting('$_GET[classname]', this.value, '$block[bid]');" class="ps">
  132. <!--{loop $theclass[script] $bkey $bname}-->
  133. <option value="$bkey"{$scriptarr[$bkey]}>$bname</option>
  134. <!--{/loop}-->
  135. </select>
  136. <!--{if $is_recommendable}-->
  137. &nbsp;<label><input type="checkbox" name="isblank" id="isblank" class="pc" value="1" {if $block[isblank]} checked{/if} onclick="switchSetting();" />{lang block_isblank}</label>
  138. <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang block_isblank_tips}" />
  139. <!--{/if}-->
  140. </td>
  141. </tr>
  142. <tr class="l">
  143. <th></th>
  144. <td>
  145. <a id="a_setting_show" href="javascript:;" onclick="toggleSettingShow();"class="xi2">{lang hide_setting}</a>
  146. </td>
  147. </tr>
  148. <tbody id="tbody_setting"{if $block[isblank]} style="display:none;"{/if}>
  149. <!--{subtemplate portal/portalcp_block_setting}-->
  150. </tbody>
  151. <!--{if !$is_htmlblock}-->
  152. <tr>
  153. <th>{lang block_item_display_num}</th>
  154. <td><input type="text" name="shownum" value="$block[shownum]" class="px" /></td>
  155. </tr>
  156. <!--{/if}-->
  157. <!--{if !$nocachetime}-->
  158. <tr>
  159. <th width="80">{lang block_data_update_cache}</th>
  160. <td>
  161. <span><input type="text" name="cachetime" id="txt_cachetime" class="px" size="4" maxlength="6" value="$block[cachetime_min]" /> {lang minute}</span>
  162. <span id="tbody_range"{if $block[punctualupdate]} style="visibility:hidden;"{/if}>
  163. &nbsp; {lang cachetimerange}
  164. <select name="cachetimerangestart" class="ps vm" >
  165. <!--{loop $cachetimerange $value}-->
  166. <option value="$value" {if $value == $block['cachetimerange'][0]} selected="selected"{/if}>{$value}{lang point}</option>
  167. <!--{/loop}-->
  168. </select> -
  169. <select name="cachetimerangeend" class="ps vm" >
  170. <!--{loop $cachetimerange $value}-->
  171. <option value="$value" {if $value == $block['cachetimerange'][1]} selected="selected"{/if}>{$value}{lang point}</option>
  172. <!--{/loop}-->
  173. </select>
  174. </span>
  175. </p>
  176. <p class="ptn xi2">
  177. <a href="javascript:;" onclick="blockSetCacheTime(10);this.blur();">10{lang minute}</a>&nbsp;
  178. <a href="javascript:;" onclick="blockSetCacheTime('60');this.blur();">1{lang hour}</a>&nbsp;
  179. <a href="javascript:;" onclick="blockSetCacheTime('1440');this.blur();">1{lang day}</a>&nbsp;
  180. <label for="ckpunctualupdate"><input type="checkbox" name="punctualupdate" id="ckpunctualupdate" class="pc" onclick="$('tbody_range').style.visibility = (this.checked ? 'hidden' : 'visible');" value="1"{if $block[punctualupdate]} checked="checked"{/if} />{lang punctualupdate}</label>
  181. <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang punctualupdate_tips}" />
  182. <span class="pipe">|</span>
  183. <a href="javascript:;" onclick="blockSetCacheTime('0');this.blur();">{lang not_auto_update}</a>&nbsp;
  184. <a href="javascript:;" onclick="blockSetCacheTime('-1');this.blur();">{lang never_update}</a>
  185. </p>
  186. </td>
  187. </tr>
  188. <!--{/if}-->
  189. <!--{if !$is_htmlblock}-->
  190. <tr>
  191. <th width="80">{lang block_display_style}</th>
  192. <td>
  193. <select name="styleid" onchange="block_show_thumbsetting('$_GET[classname]', this.value, '$block[bid]')" class="ps">
  194. <!--{if $bid && $block[styleid]==0}-->
  195. <option value="0" selected>{lang diy_module}</option>
  196. <!--{/if}-->
  197. <!--{loop $theclass[style] $key $value}-->
  198. <!--{eval $thestyle = count($thestyle) > 1 ? $thestyle : $theclass['style'][$key];}-->
  199. <option value="$key"{$stylearr[$key]}>$value[name]</option>
  200. <!--{/loop}-->
  201. </select>
  202. <!--{if $blocktype}-->
  203. &nbsp;&nbsp;
  204. <label for="ck_hidedisplay"><input type="checkbox" name="hidedisplay" id="ck_hidedisplay" class="pc" value="1"{if $block[hidedisplay]} checked="checked"{/if} />{lang hidedisplay}</label>
  205. <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang hidedisplay_tips}" />
  206. <!--{/if}-->
  207. </td>
  208. </tr>
  209. <!--{/if}-->
  210. <tbody id="tbody_thumbsetting">
  211. <!--{subtemplate portal/portalcp_block_thumbsetting}-->
  212. </tbody>
  213. <!--{if !$is_htmlblock}-->
  214. <tr>
  215. <th width="80">{lang block_data_custom}</th>
  216. <td>
  217. <textarea name="summary" id="block_sumamry_content" cols="40" rows="3" class="pt mbn" style="display:none">$block[summary]</textarea>
  218. <p class="pns">
  219. <button type="button" id="a_summary_show" class="pn" onclick="showBlockSummary();"><em>{lang edit_diy_content}</em></button>
  220. <button type="button" id="a_summary_hide" class="pn" onclick="hideBlockSummary();" style="display:none;"><span>{lang hide}</span></a>
  221. </p>
  222. </td>
  223. </tr>
  224. <!--{/if}-->
  225. </table>
  226. </div>
  227. </div>
  228. <div class="o pns">
  229. <input type="hidden" name="blocksubmit" value="true" />
  230. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  231. <input type="hidden" name="eleid" value="$_GET['eleid']" />
  232. <input type="hidden" name="formhash" value="{FORMHASH}" />
  233. <button type="submit" class="pn pnc"><strong>{lang confirms}</strong></button>
  234. <!--{if $_G[inajax]}--><button type="button" class="pn" onclick="hideWindow('$_GET[handlekey]');{if empty($bid) && $_GET['from']!='cp'}drag.removeBlock('$_GET[eleid]',true);{/if}return false;"><strong>{lang cancel}</strong></button><!--{/if}-->
  235. </div>
  236. </form>
  237. <!--{elseif $op == 'data'}-->
  238. <!--{if $_G[inajax]}-->
  239. <h3 class="flb">
  240. <em id="return_$_GET[handlekey]">{lang block_data}</em>
  241. <span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');{if empty($bid)}drag.removeBlock('$_GET[eleid]',true);{/if}return false;" title="{lang close}">{lang close}</a></span>
  242. </h3>
  243. <ul class="tb cl">
  244. $blocknav
  245. <button class="pn pnc y" title="{lang block_adddata_comment}" onclick="showWindow('$_GET[handlekey]', 'portal.php?mod=portalcp&ac=block&bid=$bid&op=additem{if $_G[inajax]}&itemfrom=ajax{/if}{if $_GET[from]}&from=$_GET[from]{/if}')"><em>{lang block_adddata}</em></button>
  246. </ul>
  247. <!--{/if}-->
  248. <form id="blockformdata" name="blockformdata" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=data&classname=$_GET[classname]&bid=$block[bid]&eleid=$_GET['eleid']&tpl=$_GET[tpl]"{if $_G[inajax]} onsubmit="ajaxpost('blockformdata','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');"{/if}>
  249. <div class="c"{if $_G[inajax]} style="width:490px; {if $_GET[from]=='cp'}max-height:260px;{else}max-height:380px;{/if}height:auto !important;{if $_GET[from]=='cp'}height:260px;{else}height:380px;{/if} _padding-right: 17px; overflow-x: hidden; overflow-y: auto;"{/if}>
  250. <div id="block_data">
  251. <table class="dt mtm mbm" style="table-layout:fixed">
  252. <tr>
  253. <th width="34">{lang locked}</th>
  254. <th width="50">{lang position}</th>
  255. <th>{lang title}</th>
  256. <th width="80">{lang operation}</th>
  257. </tr>
  258. <!--{if $itemlist}-->
  259. <!--{loop $itemlist $item}-->
  260. <tr>
  261. <!--{if $item[ispreorder]}-->
  262. <td>{lang preorder}</td>
  263. <td>$item[displayorder]</td>
  264. <!--{else}-->
  265. <td><input type="checkbox" name="locked[{$item[itemid]}]" value="1"{if $item[itemtype]=='1'} checked="checked"{/if} /></td>
  266. <td><input type="text" name="displayorder[{$item[itemid]}]" class="px" size="2" maxlength="2" value="$item[displayorder]" /></td>
  267. <!--{/if}-->
  268. <td>[{$item['itemtypename']}] $item['title']</td>
  269. <td>
  270. <a href="portal.php?mod=portalcp&ac=block&op=item&bid=$block[bid]&itemid=$item[itemid]{if $_G[inajax]}&itemfrom=ajax{/if}{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('showblock', this.getAttribute('href'));">{lang edit}</a><span class="pipe">|</span>
  271. <!--{if $item[itemtype]=='1'}-->
  272. <a href="javascript:;" onclick="block_delete_item('$block[bid]', '$item[itemid]', 1, '{if $_G[inajax]}ajax{/if}', '{if $_GET[from]}$_GET[from]{/if}'); return false;">{lang delete}</a>
  273. <!--{else}-->
  274. <a href="javascript:;" onclick="block_delete_item('$block[bid]', '$item[itemid]', 0, '{if $_G[inajax]}ajax{/if}', '{if $_GET[from]}$_GET[from]{/if}'); return false;">{lang block_stop}</a>
  275. <!--{/if}-->
  276. </td>
  277. </tr>
  278. <!--{/loop}-->
  279. <!--{else}-->
  280. <tr>
  281. <td colspan="4"><p class="emp">{lang no_data}</p></td>
  282. </tr>
  283. <!--{/if}-->
  284. </table>
  285. <!--{if $block[param][bannedids]}-->
  286. <h4><a href="javascript:;" onclick="display('p_bannedids');return false;">{lang block_view_banned_data}</a></h4>
  287. <p id="p_bannedids" style="display:none;">
  288. <label>{lang block_data_block}</label>
  289. <input type="text" name="bannedids" id="bannedids" class="px" value="$block[param][bannedids]" />
  290. <button type="button" class="pn pnc" id="bannedidssubmit" onclick="blockbanids('$block[bid]');" ><strong>{lang save}</strong></button>
  291. </p>
  292. <!--{/if}-->
  293. </div>
  294. </div>
  295. <!--{if $_G[inajax] || $itemlist}-->
  296. <div class="o pns">
  297. <input type="hidden" name="eleid" value="$_GET['eleid']" />
  298. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  299. <input type="hidden" name="updatesubmit" value="true" />
  300. <input type="hidden" name="modifiedids" value="" />
  301. <input type="hidden" name="formhash" value="{FORMHASH}" />
  302. <button type="submit" class="pn xg1" id="blockformdatasubmit" disabled="disabled"><strong>{lang save}</strong></button>
  303. <!--{if $_G[inajax]}--><button type="button" class="pn" onclick="hideWindow('$_GET[handlekey]');return false;"><strong>{lang cancel}</strong></button><!--{/if}-->
  304. </div>
  305. <!--{/if}-->
  306. </form>
  307. <script type="text/javascript" reload="1">
  308. var formoldvalue = {'checkbox':[], 'text':[]};
  309. var inputs = $('blockformdata').getElementsByTagName('table')[0].getElementsByTagName('input');
  310. for(var i = 0; i < inputs.length; i++){
  311. if(inputs[i]['type'].toLowerCase() == 'checkbox') {
  312. formoldvalue['checkbox'][inputs[i]['name']] = inputs[i].checked;
  313. _attachEvent(inputs[i], 'click', formcheckvalue);
  314. } else if(inputs[i]['type'].toLowerCase() == 'text') {
  315. formoldvalue['text'][inputs[i]['name']] = inputs[i].value;
  316. _attachEvent(inputs[i], 'keyup', formcheckvalue);
  317. _attachEvent(inputs[i], 'blur', formcheckvalue);
  318. }
  319. }
  320. function formcheckvalue(){
  321. var modifiedids = [];
  322. var enabled = false;
  323. for(i = 0; i < inputs.length; i++){
  324. if(inputs[i]['type'].toLowerCase() == 'checkbox') {
  325. if(formoldvalue['checkbox'][inputs[i]['name']] != inputs[i].checked){
  326. enabled = true;
  327. }
  328. } else if(inputs[i]['type'].toLowerCase() == 'text') {
  329. if(formoldvalue['text'][inputs[i]['name']] != inputs[i].value){
  330. enabled = true;
  331. var itemid = inputs[i]['name'].match(/\d+/);
  332. if(itemid && itemid[0]) {
  333. modifiedids.push(itemid[0]);
  334. }
  335. }
  336. }
  337. }
  338. if(enabled) {
  339. $('blockformdatasubmit').disabled = '';
  340. $('blockformdatasubmit').className = $('blockformdatasubmit').className.replace(' xg1', ' pnc');
  341. } else{
  342. $('blockformdatasubmit').disabled = 'disabled';
  343. $('blockformdatasubmit').className = $('blockformdatasubmit').className.replace(' pnc', ' xg1');
  344. }
  345. $('blockformdata')['modifiedids'].value = modifiedids+'';
  346. }
  347. function blockbanids(bid) {
  348. var x = new Ajax();
  349. x.get('portal.php?mod=portalcp&ac=block&op=banids&inajax=1&bid='+bid+'&bannedids='+$('bannedids').value, function(s){
  350. <!--{if $_G[inajax]}-->
  351. succeedhandle_$_GET[handlekey] ('', '', {'bid':bid});
  352. showWindow('showblock', 'portal.php?mod=portalcp&ac=block&op=data&bid='+bid+'&tpl='+document.diyform.template.value, 'get', -1);
  353. <!--{else}-->
  354. location.reload();
  355. <!--{/if}-->
  356. });
  357. }
  358. </script>
  359. <!--{elseif $op == 'style'}-->
  360. <!--{if $_G[inajax]}-->
  361. <h3 class="flb">
  362. <em id="return_$_GET[handlekey]">{lang block_template}</em>
  363. <span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');{if empty($bid)}drag.removeBlock('$_GET[eleid]',true);{/if}return false;" title="{lang close}">{lang close}</a></span>
  364. </h3>
  365. <ul class="tb cl">
  366. $blocknav
  367. </ul>
  368. <!--{/if}-->
  369. <form id="blockstyleform" name="blockformdata" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=style&classname=$_GET[classname]&bid=$block[bid]&eleid=$_GET['eleid']&tpl=$_GET[tpl]{if $_GET[from]}&from=$_GET[from]{/if}"{if $_G[inajax]} onsubmit="ajaxpost('blockstyleform','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');"{/if}>
  370. <div class="c"{if $_G[inajax]} style="width:490px; {if $_GET[from]=='cp'}max-height:260px;{else}max-height:380px;{/if}height:auto !important; {if $_GET[from]=='cp'}height:260px;{else}height:380px;{/if} _padding-right: 17px; overflow-x: hidden; overflow-y: auto;"{/if}>
  371. <!--{if $block[hidedisplay]}-->
  372. <div>
  373. <p style="color:red;">{lang portalcp_block_message1}</p>
  374. <p> <b>{lang reference_call_data}:</b></p>
  375. <p>$samplecode</p>
  376. <p><b>{lang reference_call_field}:</b></p>
  377. <table width="100%">
  378. <!--{loop $theclass[fields] $key $value}-->
  379. <tr>
  380. <td>$value[name]</td>
  381. <td><!--{echo '$'}-->$key</td>
  382. </tr>
  383. <!--{/loop}-->
  384. </table>
  385. </div>
  386. <!--{else}-->
  387. <div id="block_style">
  388. <p class="pns mtn mbn"><button type="button" id="a_summary_show" onclick="$('stylename').style.display='';" class="pn"><em>{lang mod_save_to}</em></button></p>
  389. <p class="mtn mbm" id="stylename" style="display:none;">
  390. {lang mod_name}: <input type="text" name="name" class="px" />
  391. <br />
  392. {lang portalcp_block_message2}
  393. </p>
  394. <textarea name="template" rows="8" class="pt" style="width: 98%;">$template</textarea>
  395. </div>
  396. <table class="dt mtm mbm">
  397. <tr>
  398. <th>{lang grammar}</th>
  399. <th>{lang statements}</th>
  400. </tr>
  401. <!--{loop $theclass[fields] $key $value}-->
  402. <tr>
  403. <td>$value[name]</td>
  404. <td>{{$key}}</td>
  405. </tr>
  406. <!--{/loop}-->
  407. <!--{if in_array($block['blockclass'], array('forum_thread', 'portal_article', 'group_thread'), true)}-->
  408. <tr>
  409. <td>{lang more_url}</td>
  410. <td>{{moreurl}}</td>
  411. </tr>
  412. <!--{/if}-->
  413. <tr>
  414. <td>{lang current_data_order}</td>
  415. <td>{{currentorder}}</td>
  416. </tr>
  417. <tr>
  418. <td>{lang current_data_odd}</td>
  419. <td>{{parity}}</td>
  420. </tr>
  421. <tr>
  422. <td>{lang default_loop_content}</td>
  423. <td>[loop]...[/loop]</td>
  424. </tr>
  425. <tr>
  426. <td>{lang replace_loop_content}</td>
  427. <td>[order=N]...[/order]</td>
  428. </tr>
  429. <tr>
  430. <td>{lang special_data_content}</td>
  431. <td>[index=N]...[/index]</td>
  432. </tr>
  433. <tr>
  434. <td>{lang set_open_link}</td>
  435. <td>&lt;a href="{{url}}"{{target}}&gt;{{title}}&lt;/a&gt;</td>
  436. </tr>
  437. <tr>
  438. <td>{lang set_small_pic}</td>
  439. <td>&lt;img src="{{pic}}" width="{{picwidth}}" height="{{picheight}}" /&gt;</td>
  440. </tr>
  441. <tr>
  442. <td>{lang more_introduction}</td>
  443. <td>{lang reference_message}</td>
  444. </tr>
  445. </table>
  446. <!--{/if}-->
  447. </div>
  448. <div class="o pns">
  449. <input type="hidden" name="eleid" value="$_GET['eleid']" />
  450. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  451. <input type="hidden" name="stylesubmit" value="true" />
  452. <input type="hidden" name="formhash" value="{FORMHASH}" />
  453. <button type="submit" class="pn pnc"><strong>{lang update}</strong></button>
  454. <!--{if $_G[inajax]}--><button type="button" class="pn" onclick="hideWindow('$_GET[handlekey]');return false;"><strong>{lang cancel}</strong></button><!--{/if}-->
  455. </div>
  456. </form>
  457. <!--{elseif $op == 'itemdata'}-->
  458. <!--{if $datalist}-->
  459. <form id="blockformitemdata" name="blockformitemdata" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=itemdata&bid=$block[bid]{if $_GET[from]}&from=$_GET[from]{/if}">
  460. <table class="dt mtm mbm">
  461. <tr>
  462. <th width="40">{lang delete}</th>
  463. <th>{lang display_order}</th>
  464. <th>{lang title}</th>
  465. <th>{lang pass_moderate_time}</th>
  466. <th>{lang is_stick}</th>
  467. <th width="80">{lang operation}</th>
  468. </tr>
  469. <!--{loop $datalist $item}-->
  470. <tr>
  471. <td><input type="checkbox" class="pc" name="ids[]" value="$item[dataid]" /></td>
  472. <td><input type="hidden" name="olddisplayorder[{$item[dataid]}]" value="$item[displayorder]" />
  473. <input type="input" class="px" name="displayorder[{$item[dataid]}]" value="$item[displayorder]" size="2" maxlength="4" /></td>
  474. <td><a href="$item[url]" target="_blank">$item['title']</a></td>
  475. <td>$item['verifiedtime']</td>
  476. <td><!--{if $item['stickgrade']}-->{lang stick} $item[stickgrade]<!--{else}-->{lang no}<!--{/if}--></td>
  477. <td>
  478. <a href="portal.php?mod=portalcp&ac=block&op=managedata&bid=$block[bid]&dataid=$item[dataid]{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('showblock', this.getAttribute('href'));">{lang edit}</a>
  479. </td>
  480. </tr>
  481. <!--{/loop}-->
  482. <tr>
  483. <td colspan="5">
  484. <label for="chkall" onclick="checkall(this.form, 'ids')"><input type="checkbox" name="chkall" id="chkall" class="pc" />{lang select_all}</label>
  485. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  486. <input type="hidden" name="deletesubmit" value="true" />
  487. <input type="hidden" name="formhash" value="{FORMHASH}" />
  488. <button type="submit" class="pn pnc"><strong>{lang confirms}</strong></button>
  489. </td>
  490. </tr>
  491. </table>
  492. <!--{if $multi}--><div class="">$multi</div><!--{/if}-->
  493. </form>
  494. <!--{else}-->
  495. <p class="emp">{lang no_data_mod}</p>
  496. <!--{/if}-->
  497. <!--{elseif $op == 'setting'}-->
  498. <!--{subtemplate portal/portalcp_block_setting}-->
  499. <!--{elseif $op == 'item' || $op == 'additem'}-->
  500. <script type="text/javascript" src="{$_G[setting][jspath]}calendar.js?{VERHASH}"></script>
  501. <h3 class="flb">
  502. <em id="return_$_GET[handlekey]">{lang block_edit}</em>
  503. <span>
  504. <!--{if $_GET[itemfrom]=='ajax'}--><a href="portal.php?mod=portalcp&ac=block&op=data&bid=$bid{if $_GET[from]}&from=$_GET[from]{/if}" onclick="showWindow('showblock', this.href);closecalendar(e);return false;"> &lt;&lt;{lang return} </a><!--{/if}-->
  505. <!--{if $_G[inajax]}--><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');{if empty($bid)}drag.removeBlock('$_GET[eleid]');{/if}return false;" title="{lang close}">{lang close}</a><!--{/if}-->
  506. </span>
  507. </h3>
  508. <form id="blockform" name="blockform" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=$op&bid=$block[bid]&itemid=$itemid{if $_GET[from]}&from=$_GET[from]{/if}" onsubmit="if(check_itemdata_lentgh(this)) {ajaxpost('blockform','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');} else { return false;}" enctype="multipart/form-data">
  509. <div class="c" style="height:$height; width: 490px; _padding-right: 17px; overflow-x: hidden; overflow-y: auto;">
  510. <table class="tfm">
  511. <tr>
  512. <th>{lang block_data_from_datasource}</th>
  513. <td>
  514. <select id="push_idtype" class="ps vm">
  515. <option value="tids" selected="selected">{lang thread}id</option>
  516. <option value="blogids">{lang blog}id</option>
  517. <option value="aids">{lang article}id</option>
  518. <option value="picids">{lang image}id</option>
  519. </select>
  520. <input type="text" name="push_id" id="push_id" class="px p_fre vm" value="" />
  521. <button type="button" class="pn" onclick="block_pushitem('$block[bid]', '$itemid')"><span>{lang grab}</span></button>
  522. </td>
  523. </tr>
  524. <tr>
  525. <th>{lang block_display_position}</th>
  526. <td>
  527. <select name="displayorder" class="ps vm">
  528. <!--{loop $orders $value}-->
  529. <option value="$value"$orderarr[$value]>$value</option>
  530. <!--{/loop}-->
  531. </select>
  532. &nbsp;
  533. <!--{if $itemid && $item[idtype] != 'rand'}-->
  534. <label for="lock_item"><input type="checkbox" name="locked" id="lock_item" class="pc" onclick="$('tbody_orderitem').style.display=this.checked ? '' : 'none';" value="1"{if $item[itemtype]=='1'}checked="checked"{/if} />{lang locked}</label>
  535. <!--{else}-->
  536. <input type="hidden" name="locked" value="1" />
  537. <label for="lock_item"><input type="checkbox" class="pc" name="locked_disable" id="lock_item" value="1" checked="checked" disabled="disabled" />{lang locked}</label>
  538. <!--{/if}-->
  539. </td>
  540. </tr>
  541. <tbody id="tbody_orderitem"{if $itemid && $item[itemtype]!='1'} style="display:none;"{/if}>
  542. <tr>
  543. <th>{lang block_start_time}</th>
  544. <td>
  545. <input type="text" class="px p_fre" name="startdate"{if $item[startdate]} value="$blockitem[startdate]"{/if} onclick="showcalendar(event, this, true)" />
  546. <p class="d">{lang block_start_time_comment}</p>
  547. </td>
  548. </tr>
  549. <tr>
  550. <th>{lang block_expire_time}</th>
  551. <td>
  552. <input type="text" class="px p_fre" name="enddate"{if $item[enddate]} value="$blockitem[enddate]"{/if} onclick="showcalendar(event, this, true)" />
  553. <p class="d">{lang block_expire_time_comment}</p>
  554. </td>
  555. </tr>
  556. </tbody>
  557. <tbody id="tbody_pushcontent">
  558. <!--{template portal/portalcp_block_itemfields}-->
  559. </tbody>
  560. </table>
  561. </div>
  562. <div class="o pns">
  563. <input type="hidden" name="itemsubmit" value="true" />
  564. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  565. <input type="hidden" name="formhash" value="{FORMHASH}" />
  566. <button type="submit" class="pn pnc"><strong>{lang submit}</strong></button>
  567. <!--{if $_G[inajax]}--><button type="button" class="pn" onclick="hideWindow('$_GET[handlekey]');return false;"><strong>{lang cancel}</strong></button><!--{/if}-->
  568. </div>
  569. </form>
  570. <script type="text/javascript" reload="1">
  571. if (typeof ctitlepb_frame == 'object' && !BROWSER.ie) {delete ctitlepb_frame;}
  572. if (typeof csummarypb_frame == 'object' && !BROWSER.ie) {delete csummarypb_frame;}
  573. function succeedhandle_$_GET['handlekey'] (url, message, values) {
  574. <!--{if $_GET[itemfrom]=='ajax'}-->
  575. showWindow('$_GET[handlekey]', 'portal.php?mod=portalcp&ac=block&op=data<!--{if $_GET[from]}-->&from=$_GET[from]<!--{/if}-->&bid='+values['bid'], 'get' ,0);
  576. drag.blockForceUpdate('portal_block_'+values['bid']);
  577. <!--{else}-->
  578. hideWindow('$_GET[handlekey]');
  579. location.reload();
  580. <!--{/if}-->
  581. }
  582. </script>
  583. <!--{elseif $op == 'push'}-->
  584. <!--{template portal/portalcp_block_itemfields}-->
  585. <!--{elseif $op == 'recommend'}-->
  586. <!--{if $isrepeatrecommend}-->
  587. <tr>
  588. <th colspan="2"><div class="bm"><div class="ntc_l hm">{lang data_repeat_recommend}</div></div></th>
  589. </tr>
  590. <!--{/if}-->
  591. <!--{if $perm[allowmanage] || !$perm[needverify]}-->
  592. <tr>
  593. <th>{lang todo_updateblock}</th>
  594. <td>
  595. <label for="ck_updateblock"><input type="checkbox" name="updateblock" id="ck_updateblock" class="pc" value="1" checked="checked" />{lang todo_updateblock_message}</label>
  596. </td>
  597. </tr>
  598. <tr>
  599. <th>{lang need_moderate}</th>
  600. <td>
  601. <label for="ck_needverify"><input type="checkbox" name="needverify" id="ck_needverify" class="pc" value="1"{if isset($item[isverified]) && !$item[isverified]} checked="checked"{/if} />{lang moderate_message}</label>
  602. </td>
  603. </tr>
  604. <!--{/if}-->
  605. <!--{template portal/portalcp_block_itemfields}-->
  606. <!--{if !$perm[allowmanage] && $perm[needverify]}-->
  607. <tr><td colspan="2">{lang verify_message}</td></tr>
  608. <!--{/if}-->
  609. <!--{elseif $op == 'verifydata'}-->
  610. <script type="text/javascript" src="{$_G[setting][jspath]}calendar.js?{VERHASH}"></script>
  611. <h3 class="flb">
  612. <em id="return_$_GET[handlekey]">{lang moderate_data}</em>
  613. <!--{if $_G[inajax]}--><span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');return false;" title="{lang close}">{lang close}</a></span><!--{/if}-->
  614. </h3>
  615. <form id="dataform" name="dataform" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=verifydata&bid=$block[bid]&dataid=$dataid{if $_GET[from]}&from=$_GET[from]{/if}" onsubmit="ajaxpost('dataform','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');" enctype="multipart/form-data">
  616. <div class="c" style="height:$height; width: 490px; _padding-right: 17px; overflow-x: hidden; overflow-y: auto;">
  617. <table class="tfm">
  618. <tbody id="tbody_pushcontent">
  619. <!--{template portal/portalcp_block_itemfields}-->
  620. </tbody>
  621. <tr>
  622. <th>{lang update_mod}</th>
  623. <td>
  624. <label for="ckupdateblock"><input type="checkbox" name="updateblock" id="ckupdateblock" value="1" />{lang update_mod_now}</label>
  625. </td>
  626. </tr>
  627. </table>
  628. </div>
  629. <div class="o pns">
  630. <input type="hidden" name="verifydatasubmit" value="true" />
  631. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  632. <input type="hidden" name="formhash" value="{FORMHASH}" />
  633. <button type="submit" class="pn pnc"><strong>{lang passed}</strong></button>
  634. </div>
  635. </form>
  636. <script type="text/javascript" reload="1">
  637. function succeedhandle_$_GET['handlekey'] (url, message, values) {
  638. hideWindow('$_GET[handlekey]');
  639. location.reload();
  640. }
  641. </script>
  642. <!--{elseif $op == 'managedata'}-->
  643. <script type="text/javascript" src="{$_G[setting][jspath]}calendar.js?{VERHASH}"></script>
  644. <h3 class="flb">
  645. <em id="return_$_GET[handlekey]">{lang edit_data}</em>
  646. <!--{if $_G[inajax]}--><span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');return false;" title="{lang close}">{lang close}</a></span><!--{/if}-->
  647. </h3>
  648. <form id="dataform" name="dataform" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=managedata&bid=$block[bid]&dataid=$dataid{if $_GET[from]}&from=$_GET[from]{/if}" onsubmit="ajaxpost('dataform','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');" enctype="multipart/form-data">
  649. <div class="c" style="height:$height; width: 490px; _padding-right: 17px; overflow-x: hidden; overflow-y: auto;">
  650. <table class="tfm">
  651. <tr>
  652. <th>{lang stick_level}</th>
  653. <td>
  654. <select name="stickgrade" class="ps">
  655. <option value="0"{if empty($item['stickgrade'])} selected{/if}>{lang not_stick}</option>
  656. <!--{loop range(1,10) $k}-->
  657. <option value="$k"{if $item['stickgrade']=='$k'} selected{/if}>{lang stick}$k</option>
  658. <!--{/loop}-->
  659. </select>
  660. </td>
  661. </tr>
  662. <tbody id="tbody_pushcontent">
  663. <!--{template portal/portalcp_block_itemfields}-->
  664. </tbody>
  665. </table>
  666. </div>
  667. <div class="o pns">
  668. <input type="hidden" name="managedatasubmit" value="true" />
  669. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  670. <input type="hidden" name="formhash" value="{FORMHASH}" />
  671. <button type="submit" class="pn pnc"><strong>{lang submit}</strong></button>
  672. </div>
  673. </form>
  674. <script type="text/javascript" reload="1">
  675. function succeedhandle_$_GET['handlekey'] (url, message, values) {
  676. hideWindow('$_GET[handlekey]');
  677. location.reload();
  678. }
  679. </script>
  680. <!--{elseif $op == 'thumbsetting'}-->
  681. <!--{subtemplate portal/portalcp_block_thumbsetting}-->
  682. <!--{elseif $op == 'getblock'}-->
  683. <!--{if !$_G[inajax]}-->
  684. <div class="wp"><div class="area"><div class="frame move-span frame-1 cl">
  685. <!--{/if}-->
  686. $html
  687. <!--{if !$_G[inajax]}-->
  688. </div></div></div>
  689. <!--{/if}-->
  690. <!--{elseif $op == 'convert'}-->
  691. <script type="text/javascript" reload="1">
  692. showWindow('showblock', 'portal.php?mod=portalcp&ac=block&op=block<!--{if $_GET[from]}-->&from=$_GET[from]<!--{/if}-->&bid='+$bid+'&tpl='+document.diyform.template.value, 'get', -1);
  693. drag.blockForceUpdate('portal_block_$bid');
  694. </script>
  695. <!--{elseif $op == 'favorite'}-->
  696. <script type="text/javascript">
  697. $('bfav_$bid').parentNode.onmouseover = '';
  698. $('bfav_$bid').parentNode.onmouseout = '';
  699. </script>
  700. <!--{if $favoriteop == 'add'}-->
  701. <img src="{IMGDIR}/fav.gif" alt="fav" title="{lang block_cancel_favorite}" class="favmark" />
  702. <!--{else}-->
  703. <img src="{IMGDIR}/fav_grey.gif" alt="normal" title="{lang block_favorite}" class="favmark" />
  704. <!--{/if}-->
  705. <!--{elseif $op == 'moreurl'}-->
  706. <!--{if $_G[inajax]}-->
  707. <h3 class="flb">
  708. <em id="return_$_GET[handlekey]">{lang block_moreurl}</em>
  709. <span><a href="javascript:;" class="flbc" onclick="hideWindow('$_GET[handlekey]');return false;" title="{lang close}">{lang close}</a></span>
  710. </h3>
  711. <ul class="tb cl">
  712. $blocknav
  713. </ul>
  714. <!--{/if}-->
  715. <form id="blockmoreurlform" name="blockformdata" method="post" autocomplete="off" action="portal.php?mod=portalcp&ac=block&op=moreurl&classname=$_GET[classname]&bid=$block[bid]{if $_GET[from]}&from=$_GET[from]{/if}"{if $_G[inajax]} onsubmit="ajaxpost('blockmoreurlform','return_$_GET[handlekey]','return_$_GET[handlekey]','onerror');"{/if}>
  716. <div class="c"{if $_G[inajax]} style="width:490px; {if $_GET[from]=='cp'}max-height:260px;{else}max-height:380px;{/if}height:auto !important; height:320px; _padding-right: 17px; _margin-right: 0; overflow-x: hidden; overflow-y: auto;"{/if}>
  717. <table class="tfm">
  718. <tr>
  719. <th>{lang perpage} <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang perpage_tips}" /></th>
  720. <td>
  721. <input type="input" name="perpage" id="perpage" value="$block['param']['moreurl']['perpage']" />
  722. </td>
  723. </tr>
  724. <tr>
  725. <th>{lang seotitle} <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang seotitle_tips}" /></th>
  726. <td>
  727. <input type="input" class="pt" name="seotitle" id="seotitle" value="$block['param']['moreurl']['seotitle']" />
  728. </td>
  729. </tr>
  730. <tr>
  731. <th>{lang seokeywords} <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang seokeywords_tips}" /></th>
  732. <td>
  733. <textarea class="pt" name="seokeywords" id="seokeywords" >$block['param']['moreurl']['seokeywords']</textarea>
  734. </td>
  735. </tr>
  736. <tr>
  737. <th>{lang seodescription} <img src="{IMGDIR}/faq.gif" alt="Tip" class="vm" onmouseover="showTip(this)" tip="{lang seodescription_tips}" /></th>
  738. <td>
  739. <textarea class="pt" name="seodescription" rows="4" id="seodescription">$block['param']['moreurl']['seodescription']</textarea>
  740. </td>
  741. </tr>
  742. </table>
  743. </div>
  744. <div class="o pns">
  745. <input type="hidden" name="handlekey" value="$_GET['handlekey']" />
  746. <input type="hidden" name="moreurlsubmit" value="true" />
  747. <input type="hidden" name="formhash" value="{FORMHASH}" />
  748. <button type="submit" class="pn pnc"><strong>{lang update}</strong></button>
  749. <!--{if $_G[inajax]}--><button type="button" class="pn" onclick="hideWindow('$_GET[handlekey]');return false;"><strong>{lang cancel}</strong></button><!--{/if}-->
  750. </div>
  751. </form>
  752. <!--{/if}-->
  753. <!--{if !$_G['inajax'] && in_array($op, array('block', 'data', 'itemdata'))}-->
  754. </div>
  755. </div>
  756. </div>
  757. <div class="appl">
  758. <!--{subtemplate portal/portalcp_nav}-->
  759. </div>
  760. </div>
  761. <!--{/if}-->
  762. <!--{template common/footer}-->