portalcp_related_article.htm 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <!--{template common/header}-->
  2. <!--{if ($op == 'manual')}-->
  3. <!--{if $ra}-->
  4. <li id="$ra[aid]">
  5. <em>$ra[title]</em>
  6. <span class="xg1">
  7. <a href="javascript:;" onclick="uparticle($ra[aid]);" title="{lang move_up}"><img class="vm" src="{IMGDIR}/icon_top.gif" alt="{lang move_up}" /></a>
  8. <a href="javascript:;" onclick="downarticle($ra[aid]);" title="{lang move_down}"><img class="vm" src="{IMGDIR}/icon_down.gif" alt="{lang move_down}" /></a>
  9. <a href="javascript:;" onclick="delarticle($ra[aid]);" title="{lang delete}"><img class="vm" src="{IMGDIR}/data_invalid.gif" alt="{lang delete}" /></a>
  10. </span>
  11. </li>
  12. <!--{/if}-->
  13. <!--{elseif ($op == 'get')}-->
  14. <!--{loop $articlelist $list}-->
  15. <li id="$list[aid]">
  16. <em>$list[title]</em>
  17. <span class="xg1">
  18. <a href="javascript:;" onclick="uparticle($list[aid]);" title="{lang move_up}"><img class="vm" src="{IMGDIR}/icon_top.gif" alt="{lang move_up}" /></a>
  19. <a href="javascript:;" onclick="downarticle($list[aid]);" title="{lang move_down}"><img class="vm" src="{IMGDIR}/icon_down.gif" alt="{lang move_down}" /></a>
  20. <a href="javascript:;" onclick="delarticle($list[aid]);" title="{lang delete}"><img class="vm" src="{IMGDIR}/data_invalid.gif" alt="{lang delete}" /></a>
  21. </span>
  22. </li>
  23. <!--{/loop}-->
  24. <!--{elseif ($op == 'search')}-->
  25. <!--{loop $articlelist $list}-->
  26. <li>
  27. <input type="checkbox" name="article" id="article_$list[aid]_pc" class="pc" value="$list[aid]" onclick="getarticlenum();"/>
  28. <label for="article_$list[aid]_pc" id="article_$list[aid]">$list[title]</label>
  29. </li>
  30. <!--{/loop}-->
  31. <!--{elseif ($op == 'add')}-->
  32. <!--{loop $articlelist $ra}-->
  33. <li id="raid_li_$ra[aid]">
  34. <input type="hidden" name="raids[]" value="$ra[aid]" size="5">
  35. <a href="{echo fetch_article_url($ra);}" target="_blank">$ra[title]</a>
  36. ({lang article_id}: $ra[aid])
  37. <a href="javascript:;" onclick="raid_delete($ra[aid]);" class="xg1">{lang delete}</a>
  38. </li>
  39. <!--{/loop}-->
  40. <!--{else}-->
  41. <h3 class="flb">
  42. <em>{lang manage_related_article}</em>
  43. <!--{if $_G[inajax]}--><span><a href="javascript:;" onclick="hideWindow('$_GET[handlekey]');" class="flbc" title="{lang close}">{lang close}</a></span><!--{/if}-->
  44. </h3>
  45. <div class="c bart">
  46. <div class="pns cl">
  47. <div class="y">
  48. {lang article_id}:
  49. <input type="text" name="manualid" id="manualid" class="px vm" value="0" size="10" />&nbsp;
  50. <button type="button" name="raid_button" class="pn" value="false" onclick="manualadd();"><em>{lang add_by_self}</em></button>
  51. </div>
  52. {$category}&nbsp;
  53. <input type="text" name="searchkey" id="searchkey" class="px vm" value="$searchkey" size="10" />&nbsp;
  54. <button type="button" name="search_button" class="pn vm" value="false" onclick="articlesearch();"><em>{lang search}</em></button>
  55. </div>
  56. <div class="cl">
  57. <div class="z" id="chkalldiv">
  58. <p class="mtm mbn cl">
  59. <span class="xg1 y">{lang wait_select}(<span id="articlenum">0</span>/<span id="articlenumall">$count</span> {lang max_wait_select})</span>
  60. <label class="chkall"><input type="checkbox" name="chkall" id="chkall" class="pc" value="" onclick="selectall();"/>{lang select_all}</label>
  61. </p>
  62. <ul id="articlelist" class="bartl">
  63. <!--{loop $articlelist $list}-->
  64. <li>
  65. <input type="checkbox" name="article" id="article_$list[aid]_pc" class="pc" value="$list[aid]" onclick="getarticlenum();"/><label for="article_$list[aid]_pc" id="article_$list[aid]">$list[title]</label>
  66. </li>
  67. <!--{/loop}-->
  68. </ul>
  69. </div>
  70. <div class="barto">
  71. <button name="choosebutton" class="pn" onclick="choosearticle();" title="{lang selected_tag_selected}"><em>&gt;</em></button>
  72. </div>
  73. <div class="y">
  74. <p class="mtm mbn">{lang already_select}(<strong id="selectednum" class="xi1">0</strong>)</p>
  75. <ul id="selectedarticle" class="bartl"></ul>
  76. </div>
  77. </div>
  78. </div>
  79. <p class="o pns">
  80. <input type="hidden" id="selectedarray" name="selectedarray" value="" />
  81. <!--{if $_GET['update']}-->
  82. <input type="hidden" id="update" name="update" value="1" />
  83. <!--{/if}-->
  84. <button type="submit" name="dsf" class="pn pnc" onclick="addrelatearticle();"><span>{lang confirms}</span></button>
  85. <button type="reset" name="dsf" class="pn" onclick="hideWindow('$_GET[handlekey]');"><em>{lang cancel}</em></button>
  86. </p>
  87. <script type="text/javascript" reload="1">
  88. function choosearticle() {
  89. var article = document.getElementsByName("article");
  90. for(var i = 0; i < article.length; i++){
  91. if(article[i].checked) {
  92. var choosed = $("article_"+article[i].value).innerHTML;
  93. choosed ='<li id="'+article[i].value+'"><em>'+choosed+'</em><span class="xg1"><a href="javascript:;" onclick="uparticle('+article[i].value+');" title="{lang move_up}"><img class="vm" src="{IMGDIR}/icon_top.gif" alt="{lang move_up}" /></a> <a href="javascript:;" onclick="downarticle('+article[i].value+');" title="{lang move_down}"><img class="vm" src="{IMGDIR}/icon_down.gif" alt="{lang move_down}" /></a> <a href="javascript:;" onclick="delarticle('+article[i].value+');" title="{lang delete}"><img class="vm" src="{IMGDIR}/data_invalid.gif" alt="{lang delete}" /></a></span></li>';
  94. if(!$(article[i].value)) {
  95. $("selectedarticle").innerHTML += choosed;
  96. }
  97. }
  98. }
  99. updatearticlearray();
  100. }
  101. function uparticle(id) {
  102. var lastid = getdivid(id, 'last');
  103. if(lastid) {
  104. var lastdiv = $(lastid);
  105. var div = $(id);
  106. $("selectedarticle").insertBefore(div,lastdiv);
  107. }
  108. updatearticlearray();
  109. }
  110. function downarticle(id) {
  111. var nextid = getdivid(id, 'next');
  112. if(nextid) {
  113. var nextdiv = $(nextid);
  114. var div = $(id);
  115. $("selectedarticle").insertBefore(nextdiv,div);
  116. }
  117. updatearticlearray();
  118. }
  119. function delarticle(id) {
  120. var div = $(id);
  121. div.parentNode.removeChild(div);
  122. updatearticlearray();
  123. }
  124. function updatearticlearray() {
  125. var list = document.getElementById("selectedarticle").getElementsByTagName("li");
  126. var str = '';
  127. for(var i = 0; i < list.length; i++)
  128. {
  129. if(str == '') {
  130. str = list[i].id;
  131. } else {
  132. str = str + ',' + list[i].id;
  133. }
  134. }
  135. $('selectedarray').value = str;
  136. $('selectednum').innerHTML = list.length;
  137. }
  138. function getdivid(id,type) {
  139. var str = $('selectedarray').value;
  140. var arr = new Array();
  141. var rstr = '';
  142. arr = str.split(",");
  143. for (var i = 0; i < arr.length; i++) {
  144. if (arr[i] == id) {
  145. if(type == 'last') {
  146. if(arr[i-1]) {
  147. rstr = arr[i-1];
  148. }
  149. } else if(type == 'next') {
  150. if(arr[i+1]) {
  151. rstr = arr[i+1];
  152. }
  153. }
  154. break;
  155. }
  156. }
  157. return rstr;
  158. }
  159. function manualadd() {
  160. var manualid = $('manualid').value;
  161. if($(manualid)) {
  162. alert('{lang article_validate_has_added}');
  163. return false;
  164. }
  165. var url = 'portal.php?mod=portalcp&ac=related&op=manual&catid=$catid&aid=$aid&inajax=1&manualid='+manualid;
  166. var x = new Ajax();
  167. x.get(url, function(s){
  168. s = trim(s);
  169. if(s) {
  170. $('selectedarticle').innerHTML += s;
  171. updatearticlearray();
  172. } else {
  173. alert('{lang article_validate_noexist}');
  174. return false;
  175. }
  176. });
  177. }
  178. function articlesearch() {
  179. var searchkey = $('searchkey').value;
  180. var searchcate = $('searchcate').value;
  181. var url = 'portal.php?mod=portalcp&ac=related&op=search&catid=$catid&aid=$aid&inajax=1&searchkey='+searchkey+'&searchcate='+searchcate;
  182. var x = new Ajax();
  183. x.get(url, function(s){
  184. s = trim(s);
  185. if(s) {
  186. $('articlelist').innerHTML = s;
  187. getarticlenum();
  188. } else {
  189. $('articlelist').innerHTML = '';
  190. getarticlenum();
  191. return false;
  192. }
  193. });
  194. }
  195. function getarticlenum() {
  196. var article = document.getElementsByName("article");
  197. for(var i = 0, j = 0; i < article.length; i++){
  198. if(article[i].checked) {
  199. j++;
  200. }
  201. }
  202. $('articlenum').innerHTML = j;
  203. $('articlenumall').innerHTML = article.length;
  204. }
  205. function addrelatearticle() {
  206. var relatedid = $("selectedarray").value;
  207. if(relatedid) {
  208. var url = 'portal.php?mod=portalcp&ac=related&op=add&catid=$catid&aid=$aid&inajax=1&relatedid='+relatedid;
  209. if($('update')) {
  210. url += '&update=1';
  211. }
  212. var x = new Ajax();
  213. x.get(url, function(s){
  214. s = trim(s);
  215. if(s) {
  216. if($('portalview')) {
  217. showDialog('{lang add_portal_related_success}', 'right', '', 'window.location.reload();');
  218. } else {
  219. $('raid_div').innerHTML = '';
  220. $('raid_div').innerHTML = s;
  221. }
  222. }
  223. });
  224. } else {
  225. $('raid_div').innerHTML = '';
  226. }
  227. hideWindow('$_GET[handlekey]');
  228. }
  229. function getrelatedarticle() {
  230. var input = document.getElementById("raid_div").getElementsByTagName("input");
  231. if(input) {
  232. var id = '';
  233. for(var i = 0;i < input.length;i++)
  234. {
  235. if(id) {
  236. id = id + ',' + input[i].value;
  237. } else {
  238. id = input[i].value;
  239. }
  240. }
  241. if(id != '') {
  242. var url = 'portal.php?mod=portalcp&ac=related&op=get&catid=$catid&aid=$aid&inajax=1&id='+id;
  243. var x = new Ajax();
  244. x.get(url, function(s){
  245. s = trim(s);
  246. if(s) {
  247. $("selectedarray").value = id;
  248. $('selectedarticle').innerHTML = s;
  249. $('selectednum').innerHTML = input.length;
  250. }
  251. });
  252. }
  253. } else {
  254. return true;
  255. }
  256. }
  257. function selectall() {
  258. var input = document.getElementById("chkalldiv").getElementsByTagName("input");
  259. var checkall = 'chkall';
  260. count = 0;
  261. for(var i = 0; i < input.length; i++) {
  262. var e = input[i];
  263. if(e.name && e.name != checkall) {
  264. e.checked = input[checkall].checked;
  265. if(e.checked) {
  266. count++;
  267. }
  268. }
  269. }
  270. return count;
  271. }
  272. getrelatedarticle();
  273. </script>
  274. <!--{/if}-->
  275. <!--{template common/footer}-->