+++ /dev/null
-<?php\r
-\r
-/***************************************************************************\r
- * xs_styles.php\r
- * -------------\r
- * copyright : (C) 2003 - 2005 CyberAlien\r
- * support : http://www.phpbbstyles.com\r
- *\r
- * version : 2.3.1\r
- *\r
- * file revision : 72\r
- * project revision : 78\r
- * last modified : 05 Dec 2005 13:54:54\r
- *\r
- ***************************************************************************/\r
-\r
-/***************************************************************************\r
- *\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- ***************************************************************************/\r
-\r
-define('IN_PHPBB', 1);\r
-$phpbb_root_path = "./../";\r
-$no_page_header = true;\r
-require($phpbb_root_path . 'extension.inc');\r
-require('./pagestart.' . $phpEx);\r
-\r
-// check if mod is installed\r
-if(empty($template->xs_version) || $template->xs_version !== 8)\r
-{\r
- message_die(GENERAL_ERROR, isset($lang['xs_error_not_installed']) ? $lang['xs_error_not_installed'] : 'eXtreme Styles mod is not installed. You forgot to upload includes/template.php');\r
-}\r
-\r
-define('IN_XS', true);\r
-include_once('xs_include.' . $phpEx);\r
-\r
-$template->assign_block_vars('nav_left',array('ITEM' => '» <a href="' . append_sid('xs_styles.'.$phpEx) . '">' . $lang['xs_default_style'] . '</a>'));\r
-\r
-//\r
-// set new default style\r
-//\r
-if(!empty($HTTP_GET_VARS['setdefault']) && !defined('DEMO_MODE'))\r
-{\r
- $board_config['default_style'] = intval($HTTP_GET_VARS['setdefault']);\r
- $sql = "UPDATE " . CONFIG_TABLE . " SET config_value='" . $board_config['default_style'] . "' WHERE config_name='default_style'";\r
- if(defined('XS_MODS_ADMIN_TEMPLATES'))\r
- {\r
- $sql = str_replace(' WHERE config_name', ', theme_public=\'1\' WHERE config_name', $sql);\r
- }\r
- $db->sql_query($sql);\r
- if(defined('XS_MODS_CATEGORY_HIERARCHY210'))\r
- {\r
- // recache config table\r
- if ( !empty($config) )\r
- {\r
- $config->read(true);\r
- }\r
- }\r
-}\r
-\r
-//\r
-// change "override" variable\r
-//\r
-if(isset($HTTP_GET_VARS['setoverride']) && !defined('DEMO_MODE'))\r
-{\r
- $board_config['override_user_style'] = intval($HTTP_GET_VARS['setoverride']);\r
- $sql = "UPDATE " . CONFIG_TABLE . " SET config_value='" . $board_config['override_user_style'] . "' WHERE config_name='override_user_style'";\r
- $db->sql_query($sql);\r
- // recache config table\r
- if(defined('XS_MODS_CATEGORY_HIERARCHY210') && !empty($config))\r
- {\r
- $config->read(true);\r
- }\r
-}\r
-\r
-//\r
-// move all users to some style\r
-//\r
-if(!empty($HTTP_GET_VARS['moveusers']) && !defined('DEMO_MODE'))\r
-{\r
- $id = intval($HTTP_GET_VARS['moveusers']);\r
- $sql = "UPDATE " . USERS_TABLE . " SET user_style='" . $id . "' WHERE user_id > 0";\r
- $db->sql_query($sql);\r
-}\r
-\r
-//\r
-// move all users from some style\r
-//\r
-if(!empty($HTTP_GET_VARS['moveaway']) && !defined('DEMO_MODE'))\r
-{\r
- $id = intval($HTTP_GET_VARS['moveaway']);\r
- $id2 = intval($HTTP_GET_VARS['movestyle']);\r
- if($id2)\r
- {\r
- $sql = "UPDATE " . USERS_TABLE . " SET user_style='" . $id2 . "' WHERE user_style = " . $id;\r
- }\r
- else\r
- {\r
- $sql = "UPDATE " . USERS_TABLE . " SET user_style = NULL WHERE user_style = " . $id;\r
- }\r
- $db->sql_query($sql);\r
-}\r
-\r
-//\r
-// set admin-only style (Admin Templates mod)\r
-//\r
-if(!empty($HTTP_GET_VARS['setadmin']) && !defined('DEMO_MODE'))\r
-{\r
- $id = intval($HTTP_GET_VARS['setadmin']);\r
- $setadmin = empty($HTTP_GET_VARS['admin']) ? 0 : 1;\r
- $sql = "UPDATE " . THEMES_TABLE . " SET theme_public='{$setadmin}' WHERE themes_id='{$id}'";\r
- $db->sql_query($sql);\r
- if(defined('XS_MODS_CATEGORY_HIERARCHY210'))\r
- {\r
- // recache themes table\r
- if ( empty($themes) )\r
- {\r
- $themes = new themes();\r
- }\r
- if ( !empty($themes) )\r
- {\r
- $themes->read(true);\r
- }\r
- }\r
-}\r
-\r
-//\r
-// get list of installed styles\r
-//\r
-$sql = 'SELECT themes_id, template_name, style_name FROM ' . THEMES_TABLE . ' ORDER BY template_name';\r
-if(defined('XS_MODS_ADMIN_TEMPLATES'))\r
-{\r
- $sql = str_replace(', style_name', ', style_name, theme_public', $sql);\r
-}\r
-if(!$result = $db->sql_query($sql))\r
-{\r
- xs_error($lang['xs_no_style_info'], __LINE__, __FILE__);\r
-}\r
-$style_rowset = $db->sql_fetchrowset($result);\r
-\r
-$style_override = $board_config['override_user_style'];\r
-$style_default = $board_config['default_style'];\r
-$num_users = 0;\r
-$style_ids = array();\r
-\r
-for($i=0; $i<count($style_rowset); $i++)\r
-{\r
- $id = $style_rowset[$i]['themes_id'];\r
- $style_ids[] = $id;\r
- $sql = 'SELECT count(user_id) as total FROM ' . USERS_TABLE . ' WHERE user_style = ' . $id;\r
- $result = $db->sql_query($sql);\r
- if(!$result)\r
- {\r
- $total = 0;\r
- }\r
- else\r
- {\r
- $total = $db->sql_fetchrow($result);\r
- $total = $total['total'];\r
- $num_users += $total;\r
- }\r
-\r
- $row_class = $xs_row_class[$i % 2];\r
- $template->assign_block_vars('styles', array(\r
- 'ROW_CLASS' => $row_class,\r
- 'STYLE' => $style_rowset[$i]['style_name'],\r
- 'TEMPLATE' => $style_rowset[$i]['template_name'],\r
- 'ID' => $id,\r
- 'TOTAL' => $total,\r
- 'U_TOTAL' => append_sid('xs_styles.' . $phpEx . '?list=' . $id),\r
- 'U_DEFAULT' => append_sid('xs_styles.' . $phpEx . '?setdefault=' . $id),\r
- 'U_OVERRIDE' => append_sid('xs_styles.' . $phpEx . '?setoverride=' . ($style_override ? '0' : '1')),\r
- 'U_SWITCHALL' => append_sid('xs_styles.' . $phpEx . '?moveusers=' . $id),\r
- )\r
- );\r
- if($total > 0)\r
- {\r
- $template->assign_block_vars('styles.users', array());\r
- }\r
- if($id == $style_default)\r
- {\r
- $template->assign_block_vars('styles.default', array());\r
- if($style_override)\r
- {\r
- $template->assign_block_vars('styles.default.override', array());\r
- }\r
- else\r
- {\r
- $template->assign_block_vars('styles.default.nooverride', array());\r
- }\r
- }\r
- else\r
- {\r
- $template->assign_block_vars('styles.nodefault', array());\r
- if(defined('XS_MODS_ADMIN_TEMPLATES'))\r
- {\r
- if($style_rowset[$i]['theme_public'])\r
- {\r
- $template->assign_block_vars('styles.nodefault.admin_only', array(\r
- 'U_CHANGE' => append_sid('xs_styles.'.$phpEx.'?setadmin='.$id.'&admin=0')\r
- ));\r
- }\r
- else\r
- {\r
- $template->assign_block_vars('styles.nodefault.public', array(\r
- 'U_CHANGE' => append_sid('xs_styles.'.$phpEx.'?setadmin='.$id.'&admin=1')\r
- ));\r
- }\r
- }\r
- }\r
- if($total)\r
- {\r
- $template->assign_block_vars('styles.total', array());\r
- }\r
- else\r
- {\r
- $template->assign_block_vars('styles.none', array());\r
- }\r
-}\r
-\r
-// get number of users using default style\r
-$sql = 'SELECT count(user_id) as total FROM ' . USERS_TABLE . ' WHERE user_style = NULL';\r
-$result = $db->sql_query($sql);\r
-if($result)\r
-{\r
- $total = $db->sql_fetchrow($result);\r
- $num_default = $total['total'];\r
- $num_users += $num_default;\r
-}\r
-\r
-// get number of users\r
-$sql = 'SELECT count(user_id) as total FROM ' . USERS_TABLE;\r
-$result = $db->sql_query($sql);\r
-if(!$result)\r
-{\r
- $total_users = 0;\r
-}\r
-else\r
-{\r
- $total = $db->sql_fetchrow($result);\r
- $total_users = $total['total'];\r
-}\r
-\r
-$template->assign_vars(array(\r
- 'U_SCRIPT' => 'xs_styles.' . $phpEx,\r
- 'NUM_DEFAULT' => $num_default\r
- )\r
-);\r
-\r
-if($total_users > $num_users)\r
-{\r
- // fix problem\r
- $sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = NULL WHERE user_style NOT IN (' . implode(', ', $style_ids) . ')';\r
- $db->sql_query($sql);\r
-}\r
-\r
-//\r
-// get list of users\r
-//\r
-if(isset($HTTP_GET_VARS['list']))\r
-{\r
- $id = intval($HTTP_GET_VARS['list']);\r
- $template->assign_block_vars('list_users', array());\r
- $sql = "SELECT user_id, username FROM " . USERS_TABLE . " WHERE user_style='{$id}' ORDER BY username ASC";\r
- if(!$result = $db->sql_query($sql))\r
- {\r
- xs_error('Could not get users list!', __LINE__, __FILE__);\r
- }\r
- $rowset = $db->sql_fetchrowset($result);\r
- for($i=0; $i<count($rowset); $i++)\r
- {\r
- $template->assign_block_vars('list_users.user', array(\r
- 'NUM' => $i + 1,\r
- 'ID' => $rowset[$i]['user_id'],\r
- 'NAME' => htmlspecialchars($rowset[$i]['username']),\r
- )\r
- );\r
- }\r
-}\r
-\r
-$template->set_filenames(array('body' => XS_TPL_PATH . 'styles.tpl'));\r
-$template->pparse('body');\r
-xs_exit();\r
-\r
-?>
\ No newline at end of file