| 1 | <mt:unless name="json"> |
|---|
| 2 | <mt:setvarblock name="page_title"><mt:var name="dialog_title"></span></mt:setvarblock> |
|---|
| 3 | <mt:include name="dialog/header.tmpl"> |
|---|
| 4 | |
|---|
| 5 | <script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script> |
|---|
| 6 | <script type="text/javascript" src="<mt:var name="static_uri">js/tc/json.js"></script> |
|---|
| 7 | <script type="text/javascript" src="<mt:var name="static_uri">js/dialog.js"></script> |
|---|
| 8 | |
|---|
| 9 | <script type="text/javascript"> |
|---|
| 10 | /* <![CDATA[ */ |
|---|
| 11 | var dialog; |
|---|
| 12 | |
|---|
| 13 | var win = window.parent; |
|---|
| 14 | function returnMemberSelection(ok) { |
|---|
| 15 | if (ok) { |
|---|
| 16 | <mt:unless name="idfield"> |
|---|
| 17 | var frm = document.forms['members']; |
|---|
| 18 | var added = dialog.panels[0].selectionList.items(); |
|---|
| 19 | for (var i = 0; i < added.length; i++) |
|---|
| 20 | added[i] = added[i].replace(/\D/g, ''); |
|---|
| 21 | frm.elements['ids'].value = added.join(","); |
|---|
| 22 | frm.submit(); |
|---|
| 23 | <mt:else> |
|---|
| 24 | var el_id = getByID("<mt:var name="idfield">", win.document); |
|---|
| 25 | var el_name = getByID("<mt:var name="namefield">", win.document); |
|---|
| 26 | if (el_id && el_name) { |
|---|
| 27 | var ids = new Array(); |
|---|
| 28 | var names = new Array(); |
|---|
| 29 | var inputs = dialog.panels[0].tableSelect.selected(); |
|---|
| 30 | for (var i = 0; i < inputs.length; ++i) { |
|---|
| 31 | var inp = inputs[i]; |
|---|
| 32 | var row = TC.getParentByTagName( inp, "tr" ); |
|---|
| 33 | if (!row) continue; |
|---|
| 34 | var labels = row.getElementsByTagName('label'); |
|---|
| 35 | if (labels.length == 0) continue; |
|---|
| 36 | names.push(labels[0].innerHTML + ' (' + inp.value + ')'); |
|---|
| 37 | ids.push(inp.value); |
|---|
| 38 | } |
|---|
| 39 | el_id.value = ids.join(','); |
|---|
| 40 | el_name.innerHTML = names.join(','); |
|---|
| 41 | } |
|---|
| 42 | closeDialog(); |
|---|
| 43 | </mt:unless> |
|---|
| 44 | } else { |
|---|
| 45 | closeDialog(); |
|---|
| 46 | } |
|---|
| 47 | } |
|---|
| 48 | |
|---|
| 49 | function init() { |
|---|
| 50 | // setup |
|---|
| 51 | dialog = new Dialog.MultiPanel("select-member"); |
|---|
| 52 | var userPanel = new ListingPanel("author"); |
|---|
| 53 | userPanel.pager.setState(<mt:var name="pager_json">); |
|---|
| 54 | dialog.setPanels([userPanel]); |
|---|
| 55 | dialog.open({}, returnMemberSelection); |
|---|
| 56 | } |
|---|
| 57 | |
|---|
| 58 | TC.attachLoadEvent( init ); |
|---|
| 59 | /* ]]> */ |
|---|
| 60 | </script> |
|---|
| 61 | |
|---|
| 62 | <form name="members" id="members" action="<mt:var name="script_url">" method="post" target="_top"> |
|---|
| 63 | <input type="hidden" name="__mode" value="add_member" /> |
|---|
| 64 | <input type="hidden" name="ids" value="" /> |
|---|
| 65 | <input type="hidden" name="group_id" value="<mt:var name="group_id">" /> |
|---|
| 66 | <input type="hidden" name="magic_token" value="<mt:var name="magic_token" escape="html">" /> |
|---|
| 67 | </form> |
|---|
| 68 | |
|---|
| 69 | <div class="modal_width" id="select-member-dialog"> |
|---|
| 70 | </mt:unless> |
|---|
| 71 | <mt:include name="include/listing_panel.tmpl"> |
|---|
| 72 | <mt:unless name="json"> |
|---|
| 73 | </div><!-- /modal_width#dialog-select-member --> |
|---|
| 74 | <mt:include name="dialog/footer.tmpl"> |
|---|
| 75 | </mt:unless> |
|---|