Changeset 2340
- Timestamp:
- May 15, 2008, 2:09:31 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/plugins/admin_multi_view/controller.php
r2223 r2340 27 27 $refresh_main = false; 28 28 29 if ( isset($_GET['view_guest']) ) 30 { 31 pwg_set_session_var( 'multiview_as', $conf['guest_id'] ); 32 $refresh_main = true; 33 } 34 elseif ( isset($_GET['view_admin']) ) 35 { 36 pwg_unset_session_var('multiview_as'); 37 $refresh_main = true; 38 } 39 $view_as = pwg_get_session_var( 'multiview_as', 0 ); 40 29 if ( isset($_GET['view_as']) ) 30 { 31 if ( is_adviser() and $user['id']!=$_GET['view_as'] and $conf['guest_id']!=$_GET['view_as']) 32 die('security error'); 33 pwg_set_session_var( 'multiview_as', (int)$_GET['view_as'] ); 34 // user change resets theme/lang 35 pwg_unset_session_var( 'multiview_theme' ); 36 pwg_unset_session_var( 'multiview_lang' ); 37 $refresh_main = true; 38 } 39 if (pwg_get_session_var( 'multiview_as', $user['id']) != $user['id'] ) 40 $view_as_user = build_user( pwg_get_session_var( 'multiview_as',0), false); 41 else 42 $view_as_user = $user; 41 43 42 44 if ( isset($_GET['theme']) ) … … 81 83 82 84 $my_url = get_root_url().'plugins/'.basename(dirname(__FILE__)).'/'.basename(__FILE__); 85 86 // +-----------------------------------------------------------------------+ 87 // | users | 88 $query = ' 89 SELECT '.$conf['user_fields']['id'].' AS id,'.$conf['user_fields']['username'].' AS username 90 FROM '.USERS_TABLE; 91 if (is_adviser()) 92 { 93 $query .=' 94 WHERE '.$conf['user_fields']['id']. ' IN ('.$user['id'].','.$conf['guest_id'].') 95 '; 96 } 97 $query .=' 98 ORDER BY CONVERT('.$conf['user_fields']['username'].',CHAR) 99 ;'; 100 $user_map = simple_hash_from_query($query, 'id', 'username'); 101 102 $users_html = '<select onchange="document.location = this.options[this.selectedIndex].value;">'; 103 foreach( $user_map as $id=>$username) 104 { 105 $selected = ($id==$view_as_user['id']) ? 'selected="selected"' : ''; 106 $users_html .= 107 '<option value="' 108 .$my_url.'?view_as='.$id 109 .'" '.$selected.'>' 110 .$username 111 .'</option>'; 112 } 113 $users_html.= '</select>'; 114 115 116 // +-----------------------------------------------------------------------+ 117 // | templates | 83 118 $my_template = ''; 84 85 $themes_html='Theme: <select onchange="document.location = this.options[this.selectedIndex].value;">'; 119 $themes_html='<select onchange="document.location = this.options[this.selectedIndex].value;">'; 86 120 foreach (get_pwg_themes() as $pwg_template) 87 121 { 88 $selected = $pwg_template == pwg_get_session_var( 'multiview_theme', $ user['template'].'/'.$user['theme'] ) ? 'selected="selected"' : '';89 $my_template = $selected == '' ? $my_template : $ user['template'].'/theme/'.$user['theme'];122 $selected = $pwg_template == pwg_get_session_var( 'multiview_theme', $view_as_user['template'].'/'.$view_as_user['theme'] ) ? 'selected="selected"' : ''; 123 $my_template = $selected == '' ? $my_template : $view_as_user['template'].'/theme/'.$view_as_user['theme']; 90 124 $themes_html .= 91 125 '<option value="' … … 97 131 $themes_html .= '</select>'; 98 132 99 $lang_html='Language: <select onchange="document.location = this.options[this.selectedIndex].value;">'; 133 // +-----------------------------------------------------------------------+ 134 // | language | 135 $lang_html='<select onchange="document.location = this.options[this.selectedIndex].value;">'; 100 136 foreach (get_languages() as $language_code => $language_name) 101 137 { 102 $selected = $language_code == pwg_get_session_var( 'multiview_lang', $ user['language'] ) ? 'selected="selected"' : '';138 $selected = $language_code == pwg_get_session_var( 'multiview_lang', $view_as_user['language'] ) ? 'selected="selected"' : ''; 103 139 $lang_html .= 104 140 '<option value="' … … 110 146 $lang_html .= '</select>'; 111 147 148 // +-----------------------------------------------------------------------+ 149 // | show queries | 112 150 $show_queries_html=''; 113 151 if (!$conf['show_queries']) 114 152 { 115 $show_queries_html = '<br/>';116 153 if ( !pwg_get_session_var( 'multiview_show_queries', 0 ) ) 117 154 $show_queries_html.='<a href="'.$my_url.'?show_queries=1">Show SQL queries</a>'; … … 120 157 } 121 158 159 // +-----------------------------------------------------------------------+ 160 // | debug language | 122 161 $debug_l10n_html=''; 123 162 if (!$conf['debug_l10n']) 124 163 { 125 $debug_l10n_html = '<br/>';126 164 if ( !pwg_get_session_var( 'multiview_debug_l10n', 0 ) ) 127 165 $debug_l10n_html.='<a href="'.$my_url.'?debug_l10n=1">Debug language</a>'; … … 130 168 } 131 169 170 // +-----------------------------------------------------------------------+ 171 // | debug template | 132 172 $debug_template_html=''; 133 173 if (!$conf['debug_template']) 134 174 { 135 $debug_template_html = '<br/>';136 175 if ( !pwg_get_session_var( 'multiview_debug_template', 0 ) ) 137 176 $debug_template_html.='<a href="'.$my_url.'?debug_template=1">Debug template</a>'; … … 163 202 </script> 164 203 165 View as: 166 <?php 167 if ($view_as) 168 echo '<a href="'.$my_url.'?view_admin">admin</a>'; 169 else 170 echo '<a href="'.$my_url.'?view_guest">guest</a>'; 171 ?> 172 173 <br /> 174 <?php echo $themes_html; ?> 175 176 <br /> 177 <?php echo $lang_html; ?> 178 179 <?php echo $show_queries_html; ?> 180 <?php echo $debug_l10n_html; ?> 181 <?php echo $debug_template_html; ?> 204 <table> 205 <tr><td>User</td><td><?php echo $users_html; ?></td></tr> 206 207 <tr><td>Theme</td><td><?php echo $themes_html; ?></td></tr> 208 209 <tr><td>Lang</td><td><?php echo $lang_html; ?></td></tr> 210 </table> 211 <?php echo implode( "<br/>\n", array($show_queries_html, $debug_l10n_html, $debug_template_html) ); ?> 182 212 183 213 <script type="text/javascript">
Note: See TracChangeset
for help on using the changeset viewer.