]> git.vanrenterghem.biz Git - www.vanrenterghem.biz.git/blob - phpBB2/admin/xs_include_import.php
Baseline
[www.vanrenterghem.biz.git] / phpBB2 / admin / xs_include_import.php
1 <?php\r
2 \r
3 /***************************************************************************\r
4  *                           xs_include_import.php\r
5  *                           ---------------------\r
6  *   copyright            : (C) 2003 - 2005 CyberAlien\r
7  *   support              : http://www.phpbbstyles.com\r
8  *\r
9  *   version              : 2.3.1\r
10  *\r
11  *   file revision        : 70\r
12  *   project revision     : 78\r
13  *   last modified        : 05 Dec 2005  13:54:54\r
14  *\r
15  ***************************************************************************/\r
16 \r
17 /***************************************************************************\r
18  *\r
19  *   This program is free software; you can redistribute it and/or modify\r
20  *   it under the terms of the GNU General Public License as published by\r
21  *   the Free Software Foundation; either version 2 of the License, or\r
22  *   (at your option) any later version.\r
23  *\r
24  ***************************************************************************/\r
25 \r
26 if (!defined('IN_PHPBB') || !defined('IN_XS'))\r
27 {\r
28         die("Hacking attempt");\r
29 }\r
30 \r
31 \r
32 function generate_actions_files($dir)\r
33 {\r
34         global $items;\r
35         // remove trailing /\r
36         $pos = strrpos($dir, '/');\r
37         $dir = $pos === strlen($dir) - 1 ? substr($dir, 0, $pos) : $dir;\r
38         $arr = array('processing: '.$dir);\r
39         for($i=0; $i<count($items); $i++)\r
40         {\r
41                 if($items[$i]['dir'] === $dir)\r
42                 {\r
43                         $arr[] = array(\r
44                                 'command'       => 'upload',\r
45                                 'local'         => $items[$i]['tmp'],\r
46                                 'remote'        => $items[$i]['file']\r
47                                 );\r
48                 }\r
49         }\r
50         return $arr;\r
51 }\r
52 \r
53 function generate_actions_dirs($dir = '')\r
54 {\r
55         global $dirs;\r
56         $arr = array();\r
57         if($dir && substr($dir, strlen($dir) - 1) !== '/')\r
58         {\r
59                 $dir .= '/';\r
60         }\r
61         if($dir)\r
62         {\r
63                 // remove trailing /\r
64                 $pos = strrpos($dir, '/');\r
65                 $str = $pos === strlen($dir) - 1 ? substr($dir, 0, $pos) : $dir;\r
66                 // get last directory name\r
67                 $pos = strrpos($str, '/');\r
68                 $str = $pos ? substr($str, $pos + 1) : $str;\r
69                 $arr[] = array(\r
70                         'command'       => 'mkdir',\r
71                         'dir'           => $str,\r
72                         'ignore'        => true\r
73                         );\r
74                 $arr[] = array(\r
75                         'command'       => 'chdir',\r
76                         'dir'           => $str\r
77                         );\r
78         }\r
79         $arr[] = array(\r
80                 'command'       => 'exec',\r
81                 'list'          => generate_actions_files($dir)\r
82                 );\r
83         // create subdirectories\r
84         $len = strlen($dir);\r
85         for($i=0; $i<count($dirs); $i++)\r
86         {\r
87                 $str = $dirs[$i];\r
88                 if(substr($str, 0, $len) === $dir)\r
89                 {\r
90                         if($len)\r
91                         {\r
92                                 $str = substr($str, $len + 1);\r
93                         }\r
94                         $pos = strpos($str, '/');\r
95                         if($pos == strlen($str) - 1)\r
96                         {\r
97                                 $arr[] = array(\r
98                                                 'command'       => 'exec',\r
99                                                 'list'          => generate_actions_dirs($dirs[$i])\r
100                                         );\r
101                         }\r
102                 }\r
103         }\r
104         return $arr;\r
105 }\r
106 \r
107 function generate_style_name($str)\r
108 {\r
109         $str = 'style_' . $str . '_%02d' . STYLE_EXTENSION;\r
110         $num = 0;\r
111         $found = true;\r
112         while($found)\r
113         {\r
114                 $filename = sprintf($str, $num);\r
115                 $found = @file_exists(XS_TEMP_DIR.$filename);\r
116                 $num ++;\r
117         }\r
118         return $filename;\r
119 }\r
120 \r
121 ?>