xs_version) || $template->xs_version !== 5) { message_die(GENERAL_ERROR, 'eXtreme Styles mod is not installed. You forgot to upload includes/template.php'); } define('IN_XS', true); include_once('xs_include.' . $phpEx); $template->assign_block_vars('nav_left',array('ITEM' => '» ' . $lang['xs_default_style'] . '')); // // set new default style // if(!empty($HTTP_GET_VARS['setdefault']) && !defined('DEMO_MODE')) { $board_config['default_style'] = intval($HTTP_GET_VARS['setdefault']); $sql = "UPDATE " . CONFIG_TABLE . " SET config_value='" . $board_config['default_style'] . "' WHERE config_name='default_style'"; if(defined('XS_MODS_ADMIN_TEMPLATES')) { $sql = str_replace(' WHERE config_name', ', theme_public=\'1\' WHERE config_name', $sql); } $db->sql_query($sql); } // // change "override" variable // if(isset($HTTP_GET_VARS['setoverride']) && !defined('DEMO_MODE')) { $board_config['override_user_style'] = intval($HTTP_GET_VARS['setoverride']); $sql = "UPDATE " . CONFIG_TABLE . " SET config_value='" . $board_config['override_user_style'] . "' WHERE config_name='override_user_style'"; $db->sql_query($sql); } // // move all users to some style // if(!empty($HTTP_GET_VARS['moveusers']) && !defined('DEMO_MODE')) { $id = intval($HTTP_GET_VARS['moveusers']); $sql = "UPDATE " . USERS_TABLE . " SET user_style='" . $id . "' WHERE user_id > 0"; $db->sql_query($sql); } // // move all users from some style // if(!empty($HTTP_GET_VARS['moveaway']) && !defined('DEMO_MODE')) { $id = intval($HTTP_GET_VARS['moveaway']); $id2 = intval($HTTP_GET_VARS['movestyle']); if($id2) { $sql = "UPDATE " . USERS_TABLE . " SET user_style='" . $id2 . "' WHERE user_style = " . $id; } else { $sql = "UPDATE " . USERS_TABLE . " SET user_style = NULL WHERE user_style = " . $id; } $db->sql_query($sql); } // // set admin-only style (Admin Templates mod) // if(!empty($HTTP_GET_VARS['setadmin']) && !defined('DEMO_MODE')) { $id = intval($HTTP_GET_VARS['setadmin']); $setadmin = empty($HTTP_GET_VARS['admin']) ? 0 : 1; $sql = "UPDATE " . THEMES_TABLE . " SET theme_public='{$setadmin}' WHERE themes_id='{$id}'"; $db->sql_query($sql); } // // get list of installed styles // $sql = 'SELECT themes_id, template_name, style_name FROM ' . THEMES_TABLE . ' ORDER BY template_name'; if(defined('XS_MODS_ADMIN_TEMPLATES')) { $sql = str_replace(', style_name', ', style_name, theme_public', $sql); } if(!$result = $db->sql_query($sql)) { xs_error($lang['xs_no_style_info'], __LINE__, __FILE__); } $style_rowset = $db->sql_fetchrowset($result); $style_override = $board_config['override_user_style']; $style_default = $board_config['default_style']; $num_users = 0; $style_ids = array(); for($i=0; $iassign_block_vars('styles', array( 'ROW_CLASS' => $row_class, 'STYLE' => $style_rowset[$i]['style_name'], 'TEMPLATE' => $style_rowset[$i]['template_name'], 'ID' => $id, 'TOTAL' => $total, 'U_TOTAL' => append_sid('xs_styles.' . $phpEx . '?list=' . $id), 'U_DEFAULT' => append_sid('xs_styles.' . $phpEx . '?setdefault=' . $id), 'U_OVERRIDE' => append_sid('xs_styles.' . $phpEx . '?setoverride=' . ($style_override ? '0' : '1')), 'U_SWITCHALL' => append_sid('xs_styles.' . $phpEx . '?moveusers=' . $id), ) ); if($total > 0) { $template->assign_block_vars('styles.users', array()); } if($id == $style_default) { $template->assign_block_vars('styles.default', array()); if($style_override) { $template->assign_block_vars('styles.default.override', array()); } else { $template->assign_block_vars('styles.default.nooverride', array()); } } else { $template->assign_block_vars('styles.nodefault', array()); if(defined('XS_MODS_ADMIN_TEMPLATES')) { if($style_rowset[$i]['theme_public']) { $template->assign_block_vars('styles.nodefault.admin_only', array( 'U_CHANGE' => append_sid('xs_styles.'.$phpEx.'?setadmin='.$id.'&admin=0') )); } else { $template->assign_block_vars('styles.nodefault.public', array( 'U_CHANGE' => append_sid('xs_styles.'.$phpEx.'?setadmin='.$id.'&admin=1') )); } } } if($total) { $template->assign_block_vars('styles.total', array()); } else { $template->assign_block_vars('styles.none', array()); } } // get number of users using default style $sql = 'SELECT count(user_id) as total FROM ' . USERS_TABLE . ' WHERE user_style = NULL'; $result = $db->sql_query($sql); if($result) { $total = $db->sql_fetchrow($result); $num_default = $total['total']; $num_users += $num_default; } // get number of users $sql = 'SELECT count(user_id) as total FROM ' . USERS_TABLE; $result = $db->sql_query($sql); if(!$result) { $total_users = 0; } else { $total = $db->sql_fetchrow($result); $total_users = $total['total']; } $template->assign_vars(array( 'U_SCRIPT' => 'xs_styles.' . $phpEx, 'NUM_DEFAULT' => $num_default ) ); if($total_users > $num_users) { // fix problem $sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = NULL WHERE user_style NOT IN (' . implode(', ', $style_ids) . ')'; $db->sql_query($sql); } // // get list of users // if(isset($HTTP_GET_VARS['list'])) { $id = intval($HTTP_GET_VARS['list']); $template->assign_block_vars('list_users', array()); $sql = "SELECT user_id, username FROM " . USERS_TABLE . " WHERE user_style='{$id}' ORDER BY username ASC"; if(!$result = $db->sql_query($sql)) { xs_error('Could not get users list!', __LINE__, __FILE__); } $rowset = $db->sql_fetchrowset($result); for($i=0; $iassign_block_vars('list_users.user', array( 'NUM' => $i + 1, 'ID' => $rowset[$i]['user_id'], 'NAME' => htmlspecialchars($rowset[$i]['username']), ) ); } } $template->set_filenames(array('body' => XS_TPL_PATH . 'styles.tpl')); $template->pparse('body'); xs_exit(); ?>