📄 addressbook-js.tpl
字号:
} window.savedestboxes=1; window.submittheform=1; window.go_triggers();"> <option value="selectquery" selected>{select_query_command} </option> <option value="goquery">{go_query_command} </option> <option value="cleanquery">{clear_query_command} </option> </select> </td> </tr> </tbody> </table> <table style="width:100%"> <tbody> <tr> <td style="width:50%"> <input type="text" name="searchautocomplete" value="{search_ac_value}" size="15" onkeyup=" javascript: //We only care if //a key was hit //so we can update ///the nameselectbox //to autolimit itself //to what it should obj1.bldUpdate(); "> </td> <td style="width:50%;align:left;"> <select name="filter" onChange=" //Get what was selected var selidx; selidx=mover.getSelectedIdx('filter'); if( (this.form.elements['filter'][selidx].value=='user_only') || (this.form.elements['filter'][selidx].value=='private')) { //This query is over all categories //if you want to see private or owner=you entries mover.selectOptionOfValue('cat_id',-2); } window.savedestboxes=1; window.submittheform=1; window.go_triggers();"> {hide_directory_option_open} <option value="directory" {directory_is_selected}> System </option> {hide_directory_option_close} <option value="none" {global_is_selected}> Global </option> <option value="user_only" {mine_is_selected}> Mine </option> <option value="private" {private_is_selected}> Private </option> </select> </td> </tr> </tbody> </table> <br> <select name="nameselect[]" size="15" multiple="multiple" onChange=" var selidx; //Im not crazy...all this is necesary. If we hit an option in the selectbox //...one and only one, we need to see if the view more data checkbox is on //in which case, we unselect all other boxes to avoid confusion for the user //and we trigger a get_userdata event....by setting the window.fetch_udata flag //and calling go_triggers selidx=mover.getSelectedIdx('nameselect[]'); if(mover.numberSelectedOptions('nameselect[]') == 1) { if(this.form.viewmore.checked==1) { selidx=mover.getSelectedIdx('nameselect[]'); window.fetch_udata='&nameselect='+this.form.elements['nameselect[]'][selidx].value; if(window.hideccselect!=1) { mover.unselectAll('ccselectbox[]'); } if(window.hidetoselect!=1) { mover.unselectAll('toselectbox[]'); } if(window.hidebccselect!=1) { mover.unselectAll('bccselectbox[]'); } window.go_triggers(); } } "> <!-- BEGIN addressbook_names --> <option value="{name_option_value}" {name_option_selected}>{name_option_name}</option> <!-- END addressbook_names --> </select>{V_hidden_emails_list} <table style="width:100%"> <tbody> <tr> <td style="width:100%"> <font face="Helvetica, Arial, san-serif" size="-1" style="font-size:{widget_font_size};"> More Data </font> <input type="checkbox" name="viewmore" {viewmore_checked} onClick=" //If u click the viewmore checkbox, it checks what is selected in the //nameselect selectbox. If only one value is selected, it fetches that user //and unselects every other selection in the rest of the selectboxes //If its not in the name select box (u have more than one selected there //or none, it will set the fetch_udata flag to whatever is in the //window.clicked_destination var. This var was set when u clicked a single //option in any of the destination boxes. //In the end, if it needs to (something was selected somwewhere) it calls go_triggers javascript: var selidx; selidx=mover.getSelectedIdx('nameselect[]'); if(this.form.elements['nameselect[]'][selidx]) { window.fetch_udata='&nameselect='+this.form.elements['nameselect[]'][selidx].value; if(window.hideccselect != 1) { mover.unselectAll('ccselectbox[]'); } if(window.hidetoselect != 1) { mover.unselectAll('toselectbox[]'); } if(window.hidebccselect != 1) { mover.unselectAll('bccselectbox[]'); } } else { window.fetch_udata=window.clicked_destination; } if(this.form.viewmore.checked) { if(window.fetch_udata) { window.go_triggers(); } } else { hider('udata',1); } return true; "> </td> <td style="width:100%"> <tr valign="middle" align="center"> <td valign="top" style="width:100%;" colspan="3" rowspan="4"align="center" bgcolor="#cccccc"> <!-- This is allways dinamically set! --> <textarea id="udata" name="userdata" wrap="off"> </textarea> </td> </td> </tr> </table> <td rowspan="1" style="width:48" valign="top" align="center" bgcolor="#cccccc"> {hideto_open} <br> <br> <p> <input type="button" name="tobutton" value="{to_button_value} :" onClick=" javascript: //See? this is cool, for every button we hit //to move something to the destination boxes, we flag //that the data should be updated, but we dont actually call //go_triggers cause we dont need to yet. //We do that only when we really need to commuicate to the backend //like when we click done or remove (which respectively need //to save the destination boxes content in cache or get fresh //email data from them) mover.moveSelectedOptions('nameselect[]','toselectbox[]');window.savedestboxes=1; "> </p> <br> <br> {hideto_close} {hidecc_open} <br> <br> <p> <input type="button" name="ccbutton" value="{cc_button_value} :" onClick="javascript:mover.moveSelectedOptions('nameselect[]','ccselectbox[]');window.savedestboxes=1; "> </p> <br> {hidecc_close} {hidebcc_open} <br> <br> <br> <p> <input type="button" name="bccbutton" value="{bcc_button_value}:" onClick="javascript:mover.moveSelectedOptions('nameselect[]','bccselectbox[]');window.savedestboxes=1;"> </p> <br> {hidebcc_close} <br> <hr> <p> <input type="button" name="nonebutton" value="{none_button_value}" onClick="javascript: window.hidetoselect={hidetoselectjs}; window.hideccselect={hideccselectjs}; window.hidebccselect={hidebccselectjs}; if(window.hidetoselect==0) { mover.selectAll('toselectbox[]'); } if(window.hideccselect==0) { mover.selectAll('ccselectbox[]'); } if(window.hidebccselect==0) { mover.selectAll('bccselectbox[]'); } window.remove_selections=1; window.savedestboxes=1; window.go_triggers();"> </p> <p> <br> </p> </td> <td rowspan="1" style="width:30%" align="center" valign="top" colspan="1" bgcolor="#cccccc"> {hideto_open} <p> <select name="toselectbox[]" size="6" multiple="multiple" onChange="javascript: var selidx; selidx=mover.getSelectedIdx('toselectbox[]'); if(mover.numberSelectedOptions('toselectbox[]') == 1) { selidx=mover.getSelectedIdx('toselectbox[]'); if(this.form.viewmore.checked==1) { selidx=mover.getSelectedIdx('toselectbox[]'); window.fetch_udata='&nameselect='+this.form.elements['toselectbox[]'][selidx].value; if(window.hideccselect != 1) { mover.unselectAll('ccselectbox[]'); } // mover.unselectAll('toselectbox[]'); if(window.hidebccselect!=1) { mover.unselectAll('bccselectbox[]'); } mover.unselectAll('nameselect[]'); window.go_triggers(); } window.clicked_destination='&nameselect='+this.form.elements['toselectbox[]'][selidx].value; } " > {V_toselectbox} </select> </p> {hideto_close} {hidecc_open} <p> <select name="ccselectbox[]" size="6" multiple="multiple" onChange="javascript: var selidx; selidx=mover.getSelectedIdx('ccselectbox[]'); if(mover.numberSelectedOptions('ccselectbox[]') == 1) { selidx=mover.getSelectedIdx('ccselectbox[]'); if(this.form.viewmore.checked==1) { window.fetch_udata='&nameselect='+this.form.elements['ccselectbox[]'][selidx].value; // mover.unselectAll('ccselectbox[]'); if(window.hidetoselect!=1) { mover.unselectAll('toselectbox[]'); } if(window.hidebccselect!=1) { mover.unselectAll('bccselectbox[]'); } mover.unselectAll('nameselect[]'); window.go_triggers(); } window.clicked_destination='&nameselect='+this.form.elements['ccselectbox[]'][selidx].value; }" > {V_ccselectbox} </select> <br> </p> {hidecc_close} {hidebcc_open} <p style="margin-bottom: 0cm;"> <select name="bccselectbox[]" size="6" multiple="multiple" onChange="javascript: if(this.form.viewmore.checked) { var selidx; selidx=mover.getSelectedIdx('bccselectbox[]'); if(mover.numberSelectedOptions('bccselectbox[]') == 1) { selidx=mover.getSelectedIdx('bccselectbox[]'); if(this.form.viewmore.checked==1) { window.fetch_udata='&nameselect='+this.form.elements['bccselectbox[]'][selidx].value; if(window.hideccselect!=1) { mover.unselectAll('ccselectbox[]'); } if(window.hidetoselect!=1) { mover.unselectAll('toselectbox[]'); } // mover.unselectAll('bccselectbox[]'); mover.unselectAll('nameselect[]'); window.go_triggers(); } window.clicked_destination='&nameselect='+this.form.elements['bccselectbox[]'][selidx].value; } }" > {V_bccselectbox} </select> </p> {hidebcc_close} <p> <table cellspacing="3"> <tr> <td valign="left"> <input type="button" name="removeselectedbutton" value="{remove_button_value}" onClick="javascript: window.remove_selections=1; window.savedestboxes=1; window.go_triggers();"> </td> <td> </td> <td valign="right"> <input type="button" name="cancel" value="{cancel_button_value}" onClick="javascript: window.closewhenfinished=1; window.forget=1; window.go_triggers();"> </td> </tr> <tr> <td> </td> <td colspan="1" valign="left"> <p> <br> <input type="button" name="done" value="{done_button_value}" onClick="javascript: ///last documentation on event flags //savedestboxes = 1 ... gotriggers will go and save the destboxes data //backtobox =1 event savedestboxes will update the destination boxes // when the savedestboxes event triggers that fromt he // secondary frame //forget_after =1 The GET string for the save destboxes event // will be poisoned with a forget_after GET var // the framework will understand and delete everything from // its cache upon serving the last save_destboxes //fetch_udata = false Ensures that the go_triggers will not // call upon the secondary frame to fetch user data window.savedestboxes=1; window.backtobox=1; window.closewhenfinished=1; window.forget_after=0; window.fetch_udata=false; window.go_triggers(); "> </p> </td> </tr> </table> <br> <br> </td> </tr> </thead> </form></table><br></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -