function xs_install_style($tpl, $num) { global $db; $data = xs_get_themeinfo($tpl); if (empty($data[$num])) { return false; } $data = $data[$num]; if (empty($data['style_name'])) { return false; } $sql = "SELECT themes_id FROM " . THEMES_TABLE . " WHERE style_name='" . xs_sql($data['style_name']) . "'"; if (!($result = $db->sql_query($sql))) { return false; } $row = $db->sql_fetchrow($result); if (!empty($row['themes_id'])) { return false; } $vars = array(); $values = array(); foreach ($data as $var => $value) { $vars[] = xs_sql($var); $values[] = xs_sql(stripslashes($value)); } $sql = "INSERT INTO " . THEMES_TABLE . " (" . implode(', ', $vars) . ") VALUES ('" . implode("', '", $values) . "')"; if (!($result = $db->sql_query($sql))) { return false; } // recache themes table if (defined('XS_MODS_CATEGORY_HIERARCHY210')) { global $themes; if (empty($themes)) { $themes = new themes(); } if (!empty($themes)) { $themes->read(true); } } // add configuration global $template; if ($template->add_config($tpl)) { define('REFRESH_NAVBAR', true); } return true; }
$sql = "DELETE FROM " . CONFIG_TABLE . " WHERE config_name='" . addslashes("xs_style_{$row['template_name']}") . "'"; $db->sql_query($sql); $template->assign_block_vars('left_refresh', array('ACTION' => append_sid('index.' . $phpEx . '?pane=left'))); // recache config table for cat_hierarchy 2.1.0 if (isset($GLOBALS['config']) && is_object($GLOBALS['config'])) { global $config; $config->read(true); } } // recache themes table if (defined('XS_MODS_CATEGORY_HIERARCHY210')) { if (empty($themes)) { $themes = new themes(); } if (!empty($themes)) { $themes->read(true); } } } function remove_all($dir) { $res = opendir($dir); if (!$res) { return false; } while (($file = readdir($res)) !== false) { if ($file !== '.' && $file !== '..') { $str = $dir . '/' . $file; if (is_dir($str)) { remove_all($str); @rmdir($str);