]> git.vanrenterghem.biz Git - www.vanrenterghem.biz.git/blobdiff - phpBB2/admin/xs_include_import2.php
Verwijder verouderde bestanden.
[www.vanrenterghem.biz.git] / phpBB2 / admin / xs_include_import2.php
diff --git a/phpBB2/admin/xs_include_import2.php b/phpBB2/admin/xs_include_import2.php
deleted file mode 100644 (file)
index 137405c..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-<?php\r
-\r
-/***************************************************************************\r
- *                           xs_include_import2.php\r
- *                           ----------------------\r
- *   copyright            : (C) 2003 - 2005 CyberAlien\r
- *   support              : http://www.phpbbstyles.com\r
- *\r
- *   version              : 2.3.1\r
- *\r
- *   file revision        : 75\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
-if (!defined('IN_PHPBB') || !defined('IN_XS'))\r
-{\r
-       die("Hacking attempt");\r
-}\r
-\r
-/*\r
-\r
-Import style.\r
-\r
-$filename                      = style filename. it should be in temporary directory.\r
-$write_local           = false if style should be uploaded via ftp, true if written directory to disk\r
-$write_local_dir       = directory where to write. only if $write_local = true.\r
-$list_only                     = true if only list files\r
-$get_file                      = filename to get. empty if do not return any files\r
-\r
-$HTTP_POST_VARS['total']                               = total number of themes\r
-$HTTP_POST_VARS['import_install_0']            = non-empty if install theme\r
-$HTTP_POST_VARS['import_default']              = number of default style or -1 or empty\r
-\r
-*/\r
-\r
-if(empty($list_only))\r
-{\r
-       $list_only = false;\r
-}\r
-\r
-$lang['xs_import_back'] = str_replace('{URL}', append_sid('xs_import.'.$phpEx), $lang['xs_import_back']);\r
-\r
-// list of text types. only last 4 characters of filename\r
-$text_types = array('.tpl', '.htm', 'html', '.txt', '.css', '.cfg', '.php', '.xml');\r
-// list of image types. if you add type make sure you add content-type header in code below\r
-$img_types = array('.gif', '.jpg', '.jpe', 'jpeg', '.png');\r
-\r
-$file = XS_TEMP_DIR . xs_fix_dir($filename);\r
-$header = xs_get_style_header($file);\r
-if($header === false)\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_style_header_error_reason'] . $xs_header_error . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-if($header['filesize'] != filesize($file))\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_style_header_error_incomplete'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-$f = @fopen($file, 'rb');\r
-if(!$f)\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_error_cannot_open'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-if($write_local)\r
-{\r
-       $write_local_dir .= $header['template'] . '/';\r
-}\r
-fseek($f, $header['offset'], 0);\r
-$str = fread($f, filesize($file) - $header['offset']);\r
-fclose($f);\r
-$str = @gzuncompress($str);\r
-if($str === false || !strlen($str))\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_error_decompress_style'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-//\r
-// unpack tar file\r
-//\r
-$pos = 0;\r
-$tmp_name = XS_TEMP_DIR . 'file_' . $filename . '_%02d.tmp';\r
-$tmp_count = 0;\r
-$files = array();      // complete list of files\r
-$list_data = array();  // result for list\r
-$dirs = array();       // complete list of directories\r
-$items = array();      // data\r
-while($pos < strlen($str))\r
-{\r
-       $data = unpack(TAR_HEADER_UNPACK, substr($str, $pos, 512));\r
-       $pos += 512;\r
-       $data['filename'] = trim($data['prefix']) . trim($data['filename']);\r
-       if(substr($data['filename'], 0, 2) === './')\r
-       {\r
-               $data['filename'] = substr($data['filename'], 2);\r
-       }\r
-       if($write_local)\r
-       {\r
-               $save_filename = $write_local_dir . $data['filename'];\r
-       }\r
-       else\r
-       {\r
-               $pos1 = strrpos($data['filename'], '/');\r
-               if($pos1)\r
-               {\r
-                       $data['dir'] = substr($data['filename'], 0, $pos1);\r
-                       $data['file'] = substr($data['filename'], $pos1 + 1);\r
-               }\r
-               else\r
-               {\r
-                       $data['dir'] = '';\r
-                       $data['file'] = $data['filename'];\r
-               }\r
-       }\r
-       $data['size'] = octdec(trim($data['size']));\r
-       $data['mtime'] = octdec(trim($data['mtime']));\r
-       $data['typeflag'] = octdec(trim($data['typeflag']));\r
-       if($data['typeflag'] === '5')\r
-       {\r
-               $data['size'] = 0;\r
-               if($write_local)\r
-               {\r
-                       xs_create_dir($save_filename);\r
-               }\r
-       }\r
-       $data['offset'] = $pos;\r
-       $contents = $data['size'] > 0 ? substr($str, $pos, $data['size']) : '';\r
-       $data['tmp'] = '';\r
-       // adding to list\r
-       $is_file = true;\r
-       if(intval($data['typeflag']) == 5)\r
-       {\r
-               $is_file = false;\r
-               if($data['filename'])\r
-               {\r
-                       $dirs[] = $data['filename'];\r
-               }\r
-       }\r
-       else\r
-       {\r
-               if($data['filename'])\r
-               {\r
-                       if(!$list_only)\r
-                       {\r
-                               if($write_local)\r
-                               {\r
-                                       $res = xs_write_file($save_filename, $contents);\r
-                                       if(!$res)\r
-                                       {\r
-                                               if(defined('XS_CLONING'))\r
-                                               {\r
-                                                       @unlink($tmp_filename);\r
-                                               }\r
-                                               xs_error(str_replace('{FILE}', $save_filename, $lang['xs_error_cannot_create_file']) . '<br /><br />' . $lang['xs_import_back']);\r
-                                       }\r
-                               }\r
-                               else\r
-                               {\r
-                                       // write to temporary file\r
-                                       $tmp_count ++;                          \r
-                                       $data['tmp'] = sprintf($tmp_name, $tmp_count);\r
-                                       $f = @fopen($data['tmp'], 'wb');\r
-                                       if(!$f)\r
-                                       {\r
-                                               if(defined('XS_CLONING'))\r
-                                               {\r
-                                                       @unlink($tmp_filename);\r
-                                               }\r
-                                               xs_error(str_replace('{FILE}', $data['tmp'], $lang['xs_error_cannot_create_tmp']) . '<br /><br />' . $lang['xs_import_back']);\r
-                                       }\r
-                                       fwrite($f, $contents);\r
-                                       fclose($f);\r
-                               }\r
-                       }\r
-                       elseif(!empty($get_file) && $get_file === $data['filename'])\r
-                       {\r
-                               // show contents of file\r
-                               $f = $data['filename'];\r
-                               $ext = strtolower(substr($f, strlen($f) - 4));\r
-                               if(empty($HTTP_GET_VARS['get_content']) && xs_in_array($ext, $text_types))\r
-                               {\r
-                                       // show as text\r
-                                       $str = '<div align="left">' . $lang['xs_import_list_contents'] . $f . ' [<a href="' . append_sid('xs_import.' . $phpEx . '?list=1&import=' . urlencode($filename) . '&get_file=' . urlencode($f) . '&get_content=1') . '">' . $lang['xs_import_download_lc'] . '</a>]<br /><br />';\r
-                                       $str .= '<textarea cols="120" rows="30" style="width: 100%">' . htmlspecialchars($contents) . '</textarea>';\r
-                                       $str .= '</div>';\r
-                                       xs_message($lang['Information'], $str);\r
-                               }\r
-                               else\r
-                               {\r
-                                       $do_download = false;\r
-                                       $content_type = '';\r
-                                       if(empty($HTTP_GET_VARS['get_content']))\r
-                                       {\r
-                                               if($ext === '.gif')\r
-                                               {\r
-                                                       $content_type = 'image/gif';\r
-                                               }\r
-                                               elseif($ext === '.jpg' || $ext === '.jpe' || $ext === 'jpeg')\r
-                                               {\r
-                                                       $content_type = 'image/jpeg';\r
-                                               }\r
-                                               elseif($ext === '.png')\r
-                                               {\r
-                                                       $content_type = 'image/png';\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       $do_download = true;\r
-                                               }\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               $do_download = true;\r
-                                       }\r
-                                       xs_download_file($do_download ? basename($f) : '', $contents, $content_type);\r
-                                       xs_exit();\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               $list_data[$data['filename']] = $data;\r
-                       }\r
-                       $files[] = $data['filename'];\r
-               }\r
-       }\r
-       if(empty($data['filename']) && $is_file)\r
-       {\r
-               $pos = strlen($str);\r
-       }\r
-       else\r
-       {\r
-               $pos += floor(($data['size'] + 511) / 512) * 512;\r
-               if($is_file)\r
-               {\r
-                       $items[] = $data;\r
-               }\r
-       }\r
-}\r
-if($list_only)\r
-{\r
-       // show list of files. used for debug.\r
-       $str = '<div align="left">';\r
-       // main data\r
-       $str .= $lang['xs_import_list_filename'] . $header['filename'] . '<br />';\r
-       $str .= $lang['xs_import_list_template'] . $header['template'] . '<br />';\r
-       $str .= $lang['xs_import_list_comment'] . $header['comment'] . '<br />';\r
-       $str .= $lang['xs_import_list_styles'] . implode(', ', $header['styles']) . '<br />';\r
-       ksort($list_data);\r
-       $str .= '<br />' . str_replace('{NUM}', count($list_data), $lang['xs_import_list_files']) . '<br />';\r
-       $str .= '<table border="0" cellspacing="0" cellpadding="1" align="left">';\r
-       foreach($list_data as $var => $value)\r
-       {\r
-               $str .= '<tr><td>' . htmlspecialchars($value['filename']) . '</td><td>';\r
-               if($value['size'] > 0)\r
-               {\r
-                       $ext = strtolower(substr($var, strlen($var) - 4));\r
-                       if(xs_in_array($ext, $text_types) || xs_in_array($ext, $img_types))\r
-                       {\r
-                               $str .= '[<a href="' . append_sid('xs_import.' . $phpEx . '?list=1&import=' . urlencode($filename) . '&get_file=' . urlencode($var)) . '">' . $lang['xs_import_view_lc'] . '</a>] ';\r
-                       }\r
-                       $str .= '[<a href="' . append_sid('xs_import.' . $phpEx . '?list=1&import=' . urlencode($filename) . '&get_file=' . urlencode($var)) . '&get_content=1">' . $lang['xs_import_download_lc'] . '</a>] ';\r
-               }\r
-               $str .= str_replace('{NUM}', $value['size'], $lang['xs_import_file_size']) . '</td></tr>';\r
-       }\r
-       $str .= '</table>';\r
-       $str .= '</div>';\r
-       xs_message($lang['Information'], $str);\r
-}\r
-$str = '';\r
-if(!$write_local)\r
-{\r
-       //\r
-       // Generate actions list\r
-       //\r
-       $actions = array();\r
-       // chdir to template directory\r
-       $actions[] = array(\r
-                       'command'       => 'chdir',\r
-                       'dir'           => 'templates'\r
-               );\r
-       // create directory with template name\r
-       $actions[] = array(\r
-                       'command'       => 'mkdir',\r
-                       'dir'           => $header['template'],\r
-                       'ignore'        => true\r
-               );\r
-       // change directory\r
-       $actions[] = array(\r
-                       'command'       => 'chdir',\r
-                       'dir'           => $header['template']\r
-               );\r
-       // create all directories and upload all files\r
-       $actions[] = array(\r
-                       'command'       => 'exec',\r
-                       'list'          => generate_actions_dirs()\r
-               );\r
-       $ftp_log = array();\r
-       $ftp_error = '';\r
-       $res = ftp_myexec($actions);\r
-/*     echo "<!--\n\n";\r
-       echo "\$actions dump:\n\n";\r
-       print_r($actions);\r
-       echo "\n\n\$ftp_log dump:\n\n";\r
-       print_r($ftp_log);\r
-       echo "\n\n -->"; */\r
-       // remove temporary files\r
-       for($i=0; $i<count($items); $i++)\r
-       {\r
-               if(!empty($items[$i]['tmp']))\r
-               {\r
-                       @unlink($items[$i]['tmp']);\r
-               }\r
-       }\r
-       if(!$res)\r
-       {\r
-               if(defined('XS_CLONING'))\r
-               {\r
-                       @unlink($tmp_filename);\r
-               }\r
-               xs_error($ftp_error . '<br /><br />' . $lang['xs_import_back']);\r
-       }\r
-}\r
-\r
-//\r
-// Check if we need to install style\r
-//\r
-$total = intval($HTTP_POST_VARS['total']);\r
-$default = isset($HTTP_POST_VARS['import_default']) && strlen($HTTP_POST_VARS['import_default']) ? intval($HTTP_POST_VARS['import_default']) : -1;\r
-$install = array();\r
-$default_name = '';\r
-for($i=0; $i<$total; $i++)\r
-{\r
-       $tmp = empty($HTTP_POST_VARS['import_install_'.$i]) ? 0 : 1;\r
-       if($tmp)\r
-       {\r
-               $set_default = $default == $i ? 1 : 0;\r
-               $tmp_name = $header['styles'][$i];\r
-               if($tmp_name)\r
-               {\r
-                       $install[] = $tmp_name;\r
-                       if($set_default)\r
-                       {\r
-                               $default_name = $tmp_name;\r
-                       }\r
-               }\r
-       }\r
-}\r
-if(!count($install))\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_message($lang['Information'], $lang['xs_import_uploaded'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-//\r
-// Get list of installed styles\r
-//\r
-$tpl = $header['template'];\r
-$sql = "SELECT themes_id, style_name FROM " . THEMES_TABLE . " WHERE template_name='" . xs_sql($tpl) . "'";\r
-if(!$result = $db->sql_query($sql))\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_import_notinstall'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-$style_rowset = $db->sql_fetchrowset($result);\r
-// run theme_info.cfg\r
-$data = xs_get_themeinfo($tpl);\r
-if(!@count($data))\r
-{\r
-       if(defined('XS_CLONING'))\r
-       {\r
-               @unlink($tmp_filename);\r
-       }\r
-       xs_error($lang['xs_import_notinstall2'] . '<br /><br />' . $lang['xs_import_back']);\r
-}\r
-// install styles\r
-$default_id = 0;\r
-for($i=0; $i<count($install); $i++)\r
-{\r
-       $style_name = $install[$i];\r
-       $style_data = false;\r
-       // find entry in theme_info.cfg\r
-       for($j=0; $j<count($data); $j++)\r
-       {\r
-               if($data[$j]['style_name'] === $style_name)\r
-               {\r
-                       $style_data = $data[$j];\r
-               }\r
-       }\r
-       // check if already installed\r
-       $installed = 0;\r
-       for($j=0; $j<count($style_rowset); $j++)\r
-       {\r
-               if($style_rowset[$j]['style_name'] === $style_name)\r
-               {\r
-                       $installed = $style_rowset[$j]['themes_id'];\r
-               }\r
-       }\r
-       // install/update\r
-       if(empty($style_data['style_name']) || empty($style_data['template_name']))\r
-       {\r
-               if(defined('XS_CLONING'))\r
-               {\r
-                       @unlink($tmp_filename);\r
-               }\r
-               xs_error(str_replace('{STYLE}', $style_name, $lang['xs_import_notinstall3']) . '<br /><br />' . $lang['xs_import_back']);\r
-       }\r
-       if($installed)\r
-       {\r
-               // update\r
-               $sql = '';\r
-               foreach($style_data as $var => $value)\r
-               {\r
-                       if($sql)\r
-                       {\r
-                               $sql .= ', ';\r
-                       }\r
-                       $sql .= xs_sql($var) . " = '" . xs_sql($value) . "'";\r
-               }\r
-               $sql = "UPDATE " . THEMES_TABLE . " SET " . $sql . " WHERE themes_id = '{$installed}'";\r
-       }\r
-       else\r
-       {\r
-               // install\r
-               $sql = "SELECT MAX(themes_id) AS total FROM " . THEMES_TABLE;\r
-               if ( !($result = $db->sql_query($sql)) )\r
-               {\r
-                       if(defined('XS_CLONING'))\r
-                       {\r
-                               @unlink($tmp_filename);\r
-                       }\r
-                       xs_error($lang['xs_import_notinstall4'] . '<br /><br />' . $lang['xs_import_back']);\r
-               }\r
-               if ( !($row = $db->sql_fetchrow($result)) )\r
-               {\r
-                       if(defined('XS_CLONING'))\r
-                       {\r
-                               @unlink($tmp_filename);\r
-                       }\r
-                       xs_error($lang['xs_import_notinstall4'] . '<br /><br />' . $lang['xs_import_back']);\r
-               }\r
-               $installed = $row['total'] + 1;\r
-               $style_data['themes_id'] = $installed;\r
-               $sql1 = $sql2 = '';\r
-               foreach($style_data as $var => $value)\r
-               {\r
-                       if($sql1)\r
-                       {\r
-                               $sql1 .= ', ';\r
-                               $sql2 .= ', ';\r
-                       }\r
-                       $sql1 .= xs_sql($var);\r
-                       $sql2 .= "'" . xs_sql($value) . "'";\r
-               }\r
-               $sql = "INSERT INTO " . THEMES_TABLE . " (" . $sql1 . ") VALUES (" . $sql2 . ")";\r
-       }\r
-       if ( !($result = $db->sql_query($sql)) )\r
-       {\r
-               if(defined('XS_CLONING'))\r
-               {\r
-                       @unlink($tmp_filename);\r
-               }\r
-               xs_error($lang['xs_import_notinstall5'] . '<br /><br />' . $lang['xs_import_back']);\r
-       }\r
-       if($default_name === $style_name)\r
-       {\r
-               $sql = "UPDATE " . CONFIG_TABLE . " SET config_value='{$installed}' WHERE config_name='default_style'";\r
-               $board_config['default_style'] = $installed;\r
-               $db->sql_query($sql);\r
-       }\r
-}\r
-if(defined('XS_CLONING'))\r
-{\r
-       @unlink($tmp_filename);\r
-}\r
-if(count($install) && 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
-if(count($install) && defined('XS_MODS_CATEGORY_HIERARCHY'))\r
-{\r
-       cache_themes();\r
-}\r
-xs_message($lang['Information'], $lang['xs_import_installed'] . '<br /><br />' . $lang['xs_import_back']);\r
-\r
-?>
\ No newline at end of file