[ Index ] |
|
Code source de b2evolution 2.1.0-beta |
1 /** 2 * Javascript for Blog permission forms (backoffice). 3 * 4 * b2evolution - {@link http://b2evolution.net/} 5 * Released under GNU GPL License - {@link http://b2evolution.net/about/license.html} 6 * @copyright (c)2003-2006 by Francois PLANQUE - {@link http://fplanque.net/} 7 * 8 * Parts of this file are copyright (c)2004-2006 by Daniel HAHLER - {@link http://daniel.hahler.de/}. 9 */ 10 11 12 /** 13 * Toggles all checkboxes of the wide layout 14 * 15 * @param form the form 16 * @param integer the checkbox group id 17 * @param integer optional force set/unset 18 */ 19 function toggleall_wide( the_form, id, set ) 20 { 21 if( typeof(set) != 'undefined' ) 22 { 23 allchecked[id] = Boolean(set); 24 } 25 else 26 { 27 allchecked[id] = allchecked[id] ? false : true; 28 } 29 30 // Trigger click() on all checkboxes that need to change. 31 // This also triggers the bozo validator, if activated! 32 var options = new Array( 33 "blog_ismember_", "blog_perm_published_", "blog_perm_protected_", "blog_perm_private_", "blog_perm_draft_", "blog_perm_deprecated_", "blog_perm_redirected_", "blog_perm_delpost_", "blog_perm_comments_", "blog_perm_media_upload_", "blog_perm_media_browse_", "blog_perm_media_change_", "blog_perm_cats_", "blog_perm_properties_", "blog_perm_admin_" 34 ); 35 for( var i = 0; i < options.length; i++ ) 36 { 37 var option = options[i]+String(id); 38 if( the_form.elements[option].checked != allchecked[id] ) 39 { 40 the_form.elements[option].click(); 41 } 42 } 43 44 // Select 45 the_form.elements['blog_perm_edit_'+String(id)].value = allchecked[id] ? 'all' : 'no'; 46 } 47 48 49 /** 50 * Switches UI layouts by applying CSS style.display 51 */ 52 function blogperms_switch_layout( layout ) 53 { 54 if( layout == 'all' ) 55 { 56 $("#userlist_default").show(); 57 $("#userlist_wide").show(); 58 } 59 else if( layout == 'wide' ) 60 { 61 $('#userlist_default').hide(); 62 $('#userlist_wide').show(); 63 } 64 else 65 { 66 $('#userlist_default').show(); 67 $('#userlist_wide').hide(); 68 } 69 70 // Update form hidden field: 71 $('#blogperm_checkchanges').attr('layout', layout); 72 73 // Update $UserSettings through async JS request: 74 $.get( htsrv_url+'async.php', { 75 action: 'admin_blogperms_set_layout', 76 layout: layout 77 }); 78 } 79 80 81 /** 82 * Updates other UI layouts when "easy UI" changes 83 */ 84 function merge_from_easy( source, userid ) 85 { 86 if( source.name.indexOf( 'blog_perm_easy_' ) != 0 ) 87 { 88 return; 89 } 90 91 if( source.value == 'custom' ) 92 { // don't change anything 93 return; 94 } 95 96 // reset all checkboxes / selects 97 toggleall_wide( source.form, userid, 0 ); 98 99 // Select option 100 switch( source.value ) 101 { 102 case 'admin': 103 case 'owner': 104 source.form.elements['blog_perm_edit_'+String(userid)].value = 'all'; 105 break; 106 107 case 'moderator': 108 source.form.elements['blog_perm_edit_'+String(userid)].value = 'lt'; 109 break; 110 111 case 'editor': 112 case 'contrib': 113 source.form.elements['blog_perm_edit_'+String(userid)].value = 'own'; 114 break; 115 116 case 'member': 117 default: 118 source.form.elements['blog_perm_edit_'+String(userid)].value = 'no'; 119 break; 120 } 121 122 switch( source.value ) 123 { 124 case 'admin': 125 source.form.elements['blog_perm_admin_'+String(userid)].checked = 1; 126 case 'owner': 127 source.form.elements['blog_perm_properties_'+String(userid)].checked = 1; 128 source.form.elements['blog_perm_cats_'+String(userid)].checked = 1; 129 source.form.elements['blog_perm_delpost_'+String(userid)].checked = 1; 130 case 'moderator': 131 source.form.elements['blog_perm_comments_'+String(userid)].checked = 1; 132 source.form.elements['blog_perm_redirected_'+String(userid)].checked = 1; 133 source.form.elements['blog_perm_media_change_'+String(userid)].checked = 1; 134 case 'editor': // publisher 135 source.form.elements['blog_perm_published_'+String(userid)].checked = 1; 136 source.form.elements['blog_perm_protected_'+String(userid)].checked = 1; 137 source.form.elements['blog_perm_deprecated_'+String(userid)].checked = 1; 138 case 'contrib': 139 source.form.elements['blog_perm_private_'+String(userid)].checked = 1; 140 source.form.elements['blog_perm_draft_'+String(userid)].checked = 1; 141 source.form.elements['blog_perm_media_browse_'+String(userid)].checked = 1; 142 source.form.elements['blog_perm_media_upload_'+String(userid)].checked = 1; 143 case 'member': 144 source.form.elements['blog_ismember_'+String(userid)].click(); 145 } 146 } 147 148 149 function merge_from_wide( source, userid ) 150 { 151 if( typeof(source.checked) != 'undefined' ) 152 { // source is checkbox 153 f = source.form; 154 155 if( source.id.indexOf( idprefix+'_state_'+String(userid) ) == 0 ) 156 { // state-checkbox 157 if( !source.checked ){ toggleall_wide( f, userid, 0 ) } 158 setcheckallspan(userid, source.checked); 159 } 160 else if( source.checked && !f.elements[idprefix+'_state_'+String(userid)].checked ) 161 { 162 f.elements['checkallspan_state_'+String(userid)].click(); 163 } 164 } 165 else if( source.nodeName.toLowerCase() == 'select' ) 166 { 167 f = source.form; 168 } 169 else 170 { 171 f = source; 172 } 173 174 var toeasy = ''; 175 if( ! f.elements['blog_ismember_'+String(userid)].checked ) 176 { 177 toeasy = 'nomember'; 178 } 179 else 180 { 181 var perms_contrib = Number(f.elements['blog_perm_draft_'+String(userid)].checked) 182 +Number(f.elements['blog_perm_private_'+String(userid)].checked) 183 +Number(f.elements['blog_perm_media_upload_'+String(userid)].checked) 184 +Number(f.elements['blog_perm_media_browse_'+String(userid)].checked); 185 186 var perms_editor = Number(f.elements['blog_perm_deprecated_'+String(userid)].checked) 187 +Number(f.elements['blog_perm_protected_'+String(userid)].checked) 188 +Number(f.elements['blog_perm_published_'+String(userid)].checked); 189 190 var perm_moderator = Number(f.elements['blog_perm_redirected_'+String(userid)].checked) 191 +Number(f.elements['blog_perm_comments_'+String(userid)].checked) 192 +Number(f.elements['blog_perm_media_change_'+String(userid)].checked); 193 194 var perms_owner = Number(f.elements['blog_perm_properties_'+String(userid)].checked) 195 +Number(f.elements['blog_perm_cats_'+String(userid)].checked) 196 +Number(f.elements['blog_perm_delpost_'+String(userid)].checked); 197 198 var perms_admin = Number(f.elements['blog_perm_admin_'+String(userid)].checked); 199 200 var perm_edit = f.elements['blog_perm_edit_'+String(userid)].value; 201 202 // alert( perms_contrib+' '+perms_editor+' '+perm_moderator+' '+perms_admin+' '+perm_edit ); 203 204 if( perms_contrib == 4 && perms_editor == 3 && perm_moderator == 3 && perms_owner == 3 && perms_admin == 1 && perm_edit == 'all' ) 205 { // has full admin rights 206 toeasy = 'admin'; 207 } 208 else if( perms_contrib == 4 && perms_editor == 3 && perm_moderator == 3 && perms_owner == 3 && perms_admin == 0 && perm_edit == 'all' ) 209 { // has full editor rights 210 toeasy = 'owner'; 211 } 212 else if( perms_contrib == 4 && perms_editor == 3 && perm_moderator == 3 && perms_owner == 0 && perms_admin == 0 && perm_edit == 'lt' ) 213 { // moderator 214 toeasy = 'moderator'; 215 } 216 else if( perms_contrib == 4 && perms_editor == 3 && perm_moderator == 0 && perms_owner == 0 && perms_admin == 0 && perm_edit == 'own' ) 217 { // publisher 218 toeasy = 'editor'; 219 } 220 else if( perms_contrib == 4 && perms_editor == 0 && perm_moderator == 0 && perms_owner == 0 && perms_admin == 0 && perm_edit == 'own' ) 221 { // contributor 222 toeasy = 'contrib'; 223 } 224 else if( perms_contrib == 0 && perms_editor == 0 && perm_moderator == 0 && perms_owner == 0 && perms_admin == 0 && perm_edit == 'no' ) 225 { 226 toeasy = 'member'; 227 } 228 else 229 { 230 toeasy = 'custom'; 231 } 232 } 233 234 for( i = 0; i < f.elements['blog_perm_easy_'+String(userid)].length; i++ ) 235 { 236 if( f.elements['blog_perm_easy_'+String(userid)][i].value == toeasy ) 237 { 238 f.elements['blog_perm_easy_'+String(userid)][i].checked = 1; 239 break; 240 }; 241 } 242 } 243
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Nov 29 23:58:50 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |