@@ -170,70 +170,70 @@ |
||
| 170 | 170 | array_key_exists('installset', $params) ? preg_split("/\s*,\s*/", $params['installset']) : false |
| 171 | 171 | ); |
| 172 | 172 | } |
| 173 | - if (intval($params['shareparams']) || !empty($params['dependencies'])) { |
|
| 174 | - $dependencies = explode(',', $params['dependencies']); |
|
| 175 | - foreach ($dependencies as $dependency) { |
|
| 176 | - $dependency = explode(':', $dependency); |
|
| 177 | - switch (trim($dependency[0])) { |
|
| 178 | - case 'template': |
|
| 179 | - $mdp[] = array( |
|
| 180 | - 'module' => $params['name'], |
|
| 181 | - 'table' => 'templates', |
|
| 182 | - 'column' => 'templatename', |
|
| 183 | - 'type' => 50, |
|
| 184 | - 'name' => trim($dependency[1]) |
|
| 185 | - ); |
|
| 186 | - break; |
|
| 187 | - case 'tv': |
|
| 188 | - case 'tmplvar': |
|
| 189 | - $mdp[] = array( |
|
| 190 | - 'module' => $params['name'], |
|
| 191 | - 'table' => 'tmplvars', |
|
| 192 | - 'column' => 'name', |
|
| 193 | - 'type' => 60, |
|
| 194 | - 'name' => trim($dependency[1]) |
|
| 195 | - ); |
|
| 196 | - break; |
|
| 197 | - case 'chunk': |
|
| 198 | - case 'htmlsnippet': |
|
| 199 | - $mdp[] = array( |
|
| 200 | - 'module' => $params['name'], |
|
| 201 | - 'table' => 'htmlsnippets', |
|
| 202 | - 'column' => 'name', |
|
| 203 | - 'type' => 10, |
|
| 204 | - 'name' => trim($dependency[1]) |
|
| 205 | - ); |
|
| 206 | - break; |
|
| 207 | - case 'snippet': |
|
| 208 | - $mdp[] = array( |
|
| 209 | - 'module' => $params['name'], |
|
| 210 | - 'table' => 'snippets', |
|
| 211 | - 'column' => 'name', |
|
| 212 | - 'type' => 40, |
|
| 213 | - 'name' => trim($dependency[1]) |
|
| 214 | - ); |
|
| 215 | - break; |
|
| 216 | - case 'plugin': |
|
| 217 | - $mdp[] = array( |
|
| 218 | - 'module' => $params['name'], |
|
| 219 | - 'table' => 'plugins', |
|
| 220 | - 'column' => 'name', |
|
| 221 | - 'type' => 30, |
|
| 222 | - 'name' => trim($dependency[1]) |
|
| 223 | - ); |
|
| 224 | - break; |
|
| 225 | - case 'resource': |
|
| 226 | - $mdp[] = array( |
|
| 227 | - 'module' => $params['name'], |
|
| 228 | - 'table' => 'content', |
|
| 229 | - 'column' => 'pagetitle', |
|
| 230 | - 'type' => 20, |
|
| 231 | - 'name' => trim($dependency[1]) |
|
| 232 | - ); |
|
| 233 | - break; |
|
| 234 | - } |
|
| 235 | - } |
|
| 236 | - } |
|
| 173 | + if (intval($params['shareparams']) || !empty($params['dependencies'])) { |
|
| 174 | + $dependencies = explode(',', $params['dependencies']); |
|
| 175 | + foreach ($dependencies as $dependency) { |
|
| 176 | + $dependency = explode(':', $dependency); |
|
| 177 | + switch (trim($dependency[0])) { |
|
| 178 | + case 'template': |
|
| 179 | + $mdp[] = array( |
|
| 180 | + 'module' => $params['name'], |
|
| 181 | + 'table' => 'templates', |
|
| 182 | + 'column' => 'templatename', |
|
| 183 | + 'type' => 50, |
|
| 184 | + 'name' => trim($dependency[1]) |
|
| 185 | + ); |
|
| 186 | + break; |
|
| 187 | + case 'tv': |
|
| 188 | + case 'tmplvar': |
|
| 189 | + $mdp[] = array( |
|
| 190 | + 'module' => $params['name'], |
|
| 191 | + 'table' => 'tmplvars', |
|
| 192 | + 'column' => 'name', |
|
| 193 | + 'type' => 60, |
|
| 194 | + 'name' => trim($dependency[1]) |
|
| 195 | + ); |
|
| 196 | + break; |
|
| 197 | + case 'chunk': |
|
| 198 | + case 'htmlsnippet': |
|
| 199 | + $mdp[] = array( |
|
| 200 | + 'module' => $params['name'], |
|
| 201 | + 'table' => 'htmlsnippets', |
|
| 202 | + 'column' => 'name', |
|
| 203 | + 'type' => 10, |
|
| 204 | + 'name' => trim($dependency[1]) |
|
| 205 | + ); |
|
| 206 | + break; |
|
| 207 | + case 'snippet': |
|
| 208 | + $mdp[] = array( |
|
| 209 | + 'module' => $params['name'], |
|
| 210 | + 'table' => 'snippets', |
|
| 211 | + 'column' => 'name', |
|
| 212 | + 'type' => 40, |
|
| 213 | + 'name' => trim($dependency[1]) |
|
| 214 | + ); |
|
| 215 | + break; |
|
| 216 | + case 'plugin': |
|
| 217 | + $mdp[] = array( |
|
| 218 | + 'module' => $params['name'], |
|
| 219 | + 'table' => 'plugins', |
|
| 220 | + 'column' => 'name', |
|
| 221 | + 'type' => 30, |
|
| 222 | + 'name' => trim($dependency[1]) |
|
| 223 | + ); |
|
| 224 | + break; |
|
| 225 | + case 'resource': |
|
| 226 | + $mdp[] = array( |
|
| 227 | + 'module' => $params['name'], |
|
| 228 | + 'table' => 'content', |
|
| 229 | + 'column' => 'pagetitle', |
|
| 230 | + 'type' => 20, |
|
| 231 | + 'name' => trim($dependency[1]) |
|
| 232 | + ); |
|
| 233 | + break; |
|
| 234 | + } |
|
| 235 | + } |
|
| 236 | + } |
|
| 237 | 237 | } |
| 238 | 238 | $d->close(); |
| 239 | 239 | } |
@@ -4,7 +4,9 @@ discard block |
||
| 4 | 4 | if (is_file($base_path . 'assets/cache/siteManager.php')) { |
| 5 | 5 | include_once($base_path . 'assets/cache/siteManager.php'); |
| 6 | 6 | } |
| 7 | -if(!defined('MGR_DIR')) define('MGR_DIR', 'manager'); |
|
| 7 | +if(!defined('MGR_DIR')) { |
|
| 8 | + define('MGR_DIR', 'manager'); |
|
| 9 | +} |
|
| 8 | 10 | |
| 9 | 11 | require_once('../'.MGR_DIR.'/includes/version.inc.php'); |
| 10 | 12 | |
@@ -19,12 +21,12 @@ discard block |
||
| 19 | 21 | $mt = &$moduleTemplates; |
| 20 | 22 | if(is_dir($templatePath) && is_readable($templatePath)) { |
| 21 | 23 | $d = dir($templatePath); |
| 22 | - while (false !== ($tplfile = $d->read())) |
|
| 23 | - { |
|
| 24 | - if(substr($tplfile, -4) != '.tpl') continue; |
|
| 24 | + while (false !== ($tplfile = $d->read())) { |
|
| 25 | + if(substr($tplfile, -4) != '.tpl') { |
|
| 26 | + continue; |
|
| 27 | + } |
|
| 25 | 28 | $params = parse_docblock($templatePath, $tplfile); |
| 26 | - if(is_array($params) && (count($params)>0)) |
|
| 27 | - { |
|
| 29 | + if(is_array($params) && (count($params)>0)) { |
|
| 28 | 30 | $description = empty($params['version']) ? $params['description'] : "<strong>{$params['version']}</strong> {$params['description']}"; |
| 29 | 31 | $mt[] = array |
| 30 | 32 | ( |
@@ -48,7 +50,9 @@ discard block |
||
| 48 | 50 | if(is_dir($tvPath) && is_readable($tvPath)) { |
| 49 | 51 | $d = dir($tvPath); |
| 50 | 52 | while (false !== ($tplfile = $d->read())) { |
| 51 | - if(substr($tplfile, -4) != '.tpl') continue; |
|
| 53 | + if(substr($tplfile, -4) != '.tpl') { |
|
| 54 | + continue; |
|
| 55 | + } |
|
| 52 | 56 | $params = parse_docblock($tvPath, $tplfile); |
| 53 | 57 | if(is_array($params) && (count($params)>0)) { |
| 54 | 58 | $description = empty($params['version']) ? $params['description'] : "<strong>{$params['version']}</strong> {$params['description']}"; |
@@ -241,7 +245,8 @@ discard block |
||
| 241 | 245 | // setup callback function |
| 242 | 246 | $callBackFnc = "clean_up"; |
| 243 | 247 | |
| 244 | -function clean_up($sqlParser) { |
|
| 248 | +function clean_up($sqlParser) |
|
| 249 | +{ |
|
| 245 | 250 | $ids = array(); |
| 246 | 251 | $mysqlVerOk = -1; |
| 247 | 252 | |
@@ -259,9 +264,10 @@ discard block |
||
| 259 | 264 | $ds = mysqli_query($sqlParser->conn,$sql); |
| 260 | 265 | if(!$ds) { |
| 261 | 266 | echo "An error occurred while executing a query: ".mysqli_error($sqlParser->conn); |
| 262 | - } |
|
| 263 | - else { |
|
| 264 | - while($r = mysqli_fetch_assoc($ds)) $ids[]=$r["id"]; |
|
| 267 | + } else { |
|
| 268 | + while($r = mysqli_fetch_assoc($ds)) { |
|
| 269 | + $ids[]=$r["id"]; |
|
| 270 | + } |
|
| 265 | 271 | if(count($ids)>0) { |
| 266 | 272 | mysqli_query($sqlParser->conn,"UPDATE `".$sqlParser->prefix."site_content` SET privateweb = 1 WHERE id IN (".implode(", ",$ids).")"); |
| 267 | 273 | unset($ids); |
@@ -278,9 +284,10 @@ discard block |
||
| 278 | 284 | $ds = mysqli_query($sqlParser->conn,$sql); |
| 279 | 285 | if(!$ds) { |
| 280 | 286 | echo "An error occurred while executing a query: ".mysqli_error($sqlParser->conn); |
| 281 | - } |
|
| 282 | - else { |
|
| 283 | - while($r = mysqli_fetch_assoc($ds)) $ids[]=$r["id"]; |
|
| 287 | + } else { |
|
| 288 | + while($r = mysqli_fetch_assoc($ds)) { |
|
| 289 | + $ids[]=$r["id"]; |
|
| 290 | + } |
|
| 284 | 291 | if(count($ids)>0) { |
| 285 | 292 | mysqli_query($sqlParser->conn,"UPDATE `".$sqlParser->prefix."site_content` SET privatemgr = 1 WHERE id IN (".implode(", ",$ids).")"); |
| 286 | 293 | unset($ids); |
@@ -288,7 +295,8 @@ discard block |
||
| 288 | 295 | } |
| 289 | 296 | } |
| 290 | 297 | |
| 291 | -function parse_docblock($element_dir, $filename) { |
|
| 298 | +function parse_docblock($element_dir, $filename) |
|
| 299 | +{ |
|
| 292 | 300 | $params = array(); |
| 293 | 301 | $fullpath = $element_dir . '/' . $filename; |
| 294 | 302 | if(is_readable($fullpath)) { |
@@ -20,7 +20,7 @@ |
||
| 20 | 20 | <form name="install" id="install_form" action="index.php?action=options" method="post"> |
| 21 | 21 | <?php |
| 22 | 22 | if ($errors == 0) { |
| 23 | - // check if install folder is removeable |
|
| 23 | + // check if install folder is removeable |
|
| 24 | 24 | if (is_writable("../install")) { ?> |
| 25 | 25 | <span id="removeinstall" style="float:left;cursor:pointer;color:#505050;line-height:18px;" onclick="var chk=document.install.rminstaller; if(chk) chk.checked=!chk.checked;"><input type="checkbox" name="rminstaller" onclick="event.cancelBubble=true;" <?php echo (empty ($errors) ? 'checked="checked"' : '') ?> style="cursor:default;" /><?php echo $_lang['remove_install_folder_auto'] ?></span> |
| 26 | 26 | <?php |
@@ -8,10 +8,10 @@ |
||
| 8 | 8 | $self = 'install/connection.databasetest.php'; |
| 9 | 9 | $base_path = str_replace($self,'',str_replace('\\','/', __FILE__)); |
| 10 | 10 | if (is_file("{$base_path}assets/cache/siteManager.php")) { |
| 11 | - include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 11 | + include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 12 | 12 | } |
| 13 | 13 | if(!defined('MGR_DIR') && is_dir("{$base_path}manager")) { |
| 14 | - define('MGR_DIR','manager'); |
|
| 14 | + define('MGR_DIR','manager'); |
|
| 15 | 15 | } |
| 16 | 16 | require_once("lang.php"); |
| 17 | 17 | |
@@ -18,8 +18,7 @@ discard block |
||
| 18 | 18 | $output = $_lang["status_checking_database"]; |
| 19 | 19 | if (!$conn = mysqli_connect($host, $uid, $pwd)) { |
| 20 | 20 | $output .= '<span id="database_fail" style="color:#FF0000;">'.$_lang['status_failed'].'</span>'; |
| 21 | -} |
|
| 22 | -else { |
|
| 21 | +} else { |
|
| 23 | 22 | $database_name = mysqli_real_escape_string($conn, $_POST['database_name']); |
| 24 | 23 | $database_name = str_replace("`", "", $database_name); |
| 25 | 24 | $tableprefix = mysqli_real_escape_string($conn, $_POST['tableprefix']); |
@@ -31,20 +30,16 @@ discard block |
||
| 31 | 30 | $database_charset = substr($database_collation, 0, strpos($database_collation, '_')); |
| 32 | 31 | $query = "CREATE DATABASE `".$database_name."` CHARACTER SET ".$database_charset." COLLATE ".$database_collation.";"; |
| 33 | 32 | |
| 34 | - if (! mysqli_query($conn, $query)){ |
|
| 33 | + if (! mysqli_query($conn, $query)) { |
|
| 35 | 34 | $output .= '<span id="database_fail" style="color:#FF0000;">'.$_lang['status_failed_could_not_create_database'].'</span>'; |
| 36 | - } |
|
| 37 | - else { |
|
| 35 | + } else { |
|
| 38 | 36 | $output .= '<span id="database_pass" style="color:#80c000;">'.$_lang['status_passed_database_created'].'</span>'; |
| 39 | 37 | } |
| 40 | - } |
|
| 41 | - elseif (($installMode == 0) && (mysqli_query($conn, "SELECT COUNT(*) FROM {$database_name}.`{$tableprefix}site_content`"))) { |
|
| 38 | + } elseif (($installMode == 0) && (mysqli_query($conn, "SELECT COUNT(*) FROM {$database_name}.`{$tableprefix}site_content`"))) { |
|
| 42 | 39 | $output .= '<span id="database_fail" style="color:#FF0000;">'.$_lang['status_failed_table_prefix_already_in_use'].'</span>'; |
| 43 | - } |
|
| 44 | - elseif (($database_connection_method != 'SET NAMES') && ($rs = mysqli_query($conn, "show variables like 'collation_database'")) && ($row = mysqli_fetch_row($rs)) && ($row[1] != $database_collation)) { |
|
| 40 | + } elseif (($database_connection_method != 'SET NAMES') && ($rs = mysqli_query($conn, "show variables like 'collation_database'")) && ($row = mysqli_fetch_row($rs)) && ($row[1] != $database_collation)) { |
|
| 45 | 41 | $output .= '<span id="database_fail" style="color:#FF0000;">'.sprintf($_lang['status_failed_database_collation_does_not_match'], $row[1]).'</span>'; |
| 46 | - } |
|
| 47 | - else { |
|
| 42 | + } else { |
|
| 48 | 43 | $output .= '<span id="database_pass" style="color:#80c000;">'.$_lang['status_passed'].'</span>'; |
| 49 | 44 | } |
| 50 | 45 | } |
@@ -1,14 +1,14 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | function install_sessionCheck() |
| 3 | 3 | { |
| 4 | - global $_lang; |
|
| 4 | + global $_lang; |
|
| 5 | 5 | |
| 6 | - // session loop-back tester |
|
| 7 | - if(!isset($_GET['action']) || $_GET['action']!=='mode') |
|
| 8 | - { |
|
| 9 | - if(!isset($_SESSION['test']) || $_SESSION['test']!=1) |
|
| 10 | - { |
|
| 11 | - echo ' |
|
| 6 | + // session loop-back tester |
|
| 7 | + if(!isset($_GET['action']) || $_GET['action']!=='mode') |
|
| 8 | + { |
|
| 9 | + if(!isset($_SESSION['test']) || $_SESSION['test']!=1) |
|
| 10 | + { |
|
| 11 | + echo ' |
|
| 12 | 12 | <html> |
| 13 | 13 | <head> |
| 14 | 14 | <title>Install Problem</title> |
@@ -27,86 +27,86 @@ discard block |
||
| 27 | 27 | </div> |
| 28 | 28 | </body> |
| 29 | 29 | </html>'; |
| 30 | - exit; |
|
| 31 | - } |
|
| 32 | - } |
|
| 30 | + exit; |
|
| 31 | + } |
|
| 32 | + } |
|
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | function parse($src,$ph,$left='[+',$right='+]') |
| 36 | 36 | { |
| 37 | - foreach($ph as $k=>$v) |
|
| 38 | - { |
|
| 39 | - $k = $left . $k . $right; |
|
| 40 | - $src = str_replace($k,$v,$src); |
|
| 41 | - } |
|
| 42 | - return $src; |
|
| 37 | + foreach($ph as $k=>$v) |
|
| 38 | + { |
|
| 39 | + $k = $left . $k . $right; |
|
| 40 | + $src = str_replace($k,$v,$src); |
|
| 41 | + } |
|
| 42 | + return $src; |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | function ph() |
| 46 | 46 | { |
| 47 | - global $_lang,$moduleName,$moduleVersion,$modx_textdir,$modx_release_date; |
|
| 47 | + global $_lang,$moduleName,$moduleVersion,$modx_textdir,$modx_release_date; |
|
| 48 | 48 | |
| 49 | - if(isset($_SESSION['installmode'])) $installmode = $_SESSION['installmode']; |
|
| 50 | - else $installmode = get_installmode(); |
|
| 49 | + if(isset($_SESSION['installmode'])) $installmode = $_SESSION['installmode']; |
|
| 50 | + else $installmode = get_installmode(); |
|
| 51 | 51 | |
| 52 | - $ph['pagetitle'] = $_lang['modx_install']; |
|
| 53 | - $ph['textdir'] = $modx_textdir ? ' id="rtl"':''; |
|
| 54 | - $ph['help_link'] = $installmode == 0 ? $_lang['help_link_new'] : $_lang['help_link_upd']; |
|
| 55 | - $ph['version'] = $moduleVersion; |
|
| 56 | - $ph['release_date'] = ($modx_textdir ? '‏':'') . $modx_release_date; |
|
| 57 | - $ph['footer1'] = $_lang['modx_footer1']; |
|
| 58 | - $ph['footer2'] = $_lang['modx_footer2']; |
|
| 59 | - $ph['current_year'] = date('Y'); |
|
| 60 | - return $ph; |
|
| 52 | + $ph['pagetitle'] = $_lang['modx_install']; |
|
| 53 | + $ph['textdir'] = $modx_textdir ? ' id="rtl"':''; |
|
| 54 | + $ph['help_link'] = $installmode == 0 ? $_lang['help_link_new'] : $_lang['help_link_upd']; |
|
| 55 | + $ph['version'] = $moduleVersion; |
|
| 56 | + $ph['release_date'] = ($modx_textdir ? '‏':'') . $modx_release_date; |
|
| 57 | + $ph['footer1'] = $_lang['modx_footer1']; |
|
| 58 | + $ph['footer2'] = $_lang['modx_footer2']; |
|
| 59 | + $ph['current_year'] = date('Y'); |
|
| 60 | + return $ph; |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | function get_installmode() |
| 64 | 64 | { |
| 65 | - global $base_path,$database_server, $database_user, $database_password, $dbase, $table_prefix; |
|
| 65 | + global $base_path,$database_server, $database_user, $database_password, $dbase, $table_prefix; |
|
| 66 | 66 | |
| 67 | - $conf_path = "{$base_path}manager/includes/config.inc.php"; |
|
| 68 | - if (!is_file($conf_path)) $installmode = 0; |
|
| 69 | - elseif(isset($_POST['installmode'])) $installmode = $_POST['installmode']; |
|
| 70 | - else |
|
| 71 | - { |
|
| 72 | - include_once("{$base_path}manager/includes/config.inc.php"); |
|
| 67 | + $conf_path = "{$base_path}manager/includes/config.inc.php"; |
|
| 68 | + if (!is_file($conf_path)) $installmode = 0; |
|
| 69 | + elseif(isset($_POST['installmode'])) $installmode = $_POST['installmode']; |
|
| 70 | + else |
|
| 71 | + { |
|
| 72 | + include_once("{$base_path}manager/includes/config.inc.php"); |
|
| 73 | 73 | |
| 74 | - if(!isset($dbase) || empty($dbase)) $installmode = 0; |
|
| 75 | - else |
|
| 76 | - { |
|
| 77 | - $conn = mysqli_connect($database_server, $database_user, $database_password); |
|
| 78 | - if($conn) |
|
| 79 | - { |
|
| 80 | - $_SESSION['database_server'] = $database_server; |
|
| 81 | - $_SESSION['database_user'] = $database_user; |
|
| 82 | - $_SESSION['database_password'] = $database_password; |
|
| 74 | + if(!isset($dbase) || empty($dbase)) $installmode = 0; |
|
| 75 | + else |
|
| 76 | + { |
|
| 77 | + $conn = mysqli_connect($database_server, $database_user, $database_password); |
|
| 78 | + if($conn) |
|
| 79 | + { |
|
| 80 | + $_SESSION['database_server'] = $database_server; |
|
| 81 | + $_SESSION['database_user'] = $database_user; |
|
| 82 | + $_SESSION['database_password'] = $database_password; |
|
| 83 | 83 | |
| 84 | - $dbase = trim($dbase, '`'); |
|
| 85 | - $rs = mysqli_select_db($conn, $dbase); |
|
| 86 | - } |
|
| 87 | - else $rs = false; |
|
| 84 | + $dbase = trim($dbase, '`'); |
|
| 85 | + $rs = mysqli_select_db($conn, $dbase); |
|
| 86 | + } |
|
| 87 | + else $rs = false; |
|
| 88 | 88 | |
| 89 | - if($rs) |
|
| 90 | - { |
|
| 91 | - $_SESSION['dbase'] = $dbase; |
|
| 92 | - $_SESSION['table_prefix'] = $table_prefix; |
|
| 93 | - $_SESSION['database_collation'] = 'utf8_general_ci'; |
|
| 94 | - $_SESSION['database_connection_method'] = 'SET CHARACTER SET'; |
|
| 89 | + if($rs) |
|
| 90 | + { |
|
| 91 | + $_SESSION['dbase'] = $dbase; |
|
| 92 | + $_SESSION['table_prefix'] = $table_prefix; |
|
| 93 | + $_SESSION['database_collation'] = 'utf8_general_ci'; |
|
| 94 | + $_SESSION['database_connection_method'] = 'SET CHARACTER SET'; |
|
| 95 | 95 | |
| 96 | - $tbl_system_settings = "`{$dbase}`.`{$table_prefix}system_settings`"; |
|
| 97 | - $rs = mysqli_query($conn, "SELECT setting_value FROM {$tbl_system_settings} WHERE setting_name='settings_version'"); |
|
| 98 | - if($rs) |
|
| 99 | - { |
|
| 100 | - $row = mysqli_fetch_assoc($rs); |
|
| 101 | - $settings_version = $row['setting_value']; |
|
| 102 | - } |
|
| 103 | - else $settings_version = ''; |
|
| 96 | + $tbl_system_settings = "`{$dbase}`.`{$table_prefix}system_settings`"; |
|
| 97 | + $rs = mysqli_query($conn, "SELECT setting_value FROM {$tbl_system_settings} WHERE setting_name='settings_version'"); |
|
| 98 | + if($rs) |
|
| 99 | + { |
|
| 100 | + $row = mysqli_fetch_assoc($rs); |
|
| 101 | + $settings_version = $row['setting_value']; |
|
| 102 | + } |
|
| 103 | + else $settings_version = ''; |
|
| 104 | 104 | |
| 105 | - if (empty($settings_version)) $installmode = 0; |
|
| 106 | - else $installmode = 1; |
|
| 107 | - } |
|
| 108 | - else $installmode = 1; |
|
| 109 | - } |
|
| 110 | - } |
|
| 111 | - return $installmode; |
|
| 105 | + if (empty($settings_version)) $installmode = 0; |
|
| 106 | + else $installmode = 1; |
|
| 107 | + } |
|
| 108 | + else $installmode = 1; |
|
| 109 | + } |
|
| 110 | + } |
|
| 111 | + return $installmode; |
|
| 112 | 112 | } |
@@ -4,10 +4,8 @@ discard block |
||
| 4 | 4 | global $_lang; |
| 5 | 5 | |
| 6 | 6 | // session loop-back tester |
| 7 | - if(!isset($_GET['action']) || $_GET['action']!=='mode') |
|
| 8 | - { |
|
| 9 | - if(!isset($_SESSION['test']) || $_SESSION['test']!=1) |
|
| 10 | - { |
|
| 7 | + if(!isset($_GET['action']) || $_GET['action']!=='mode') { |
|
| 8 | + if(!isset($_SESSION['test']) || $_SESSION['test']!=1) { |
|
| 11 | 9 | echo ' |
| 12 | 10 | <html> |
| 13 | 11 | <head> |
@@ -34,8 +32,7 @@ discard block |
||
| 34 | 32 | |
| 35 | 33 | function parse($src,$ph,$left='[+',$right='+]') |
| 36 | 34 | { |
| 37 | - foreach($ph as $k=>$v) |
|
| 38 | - { |
|
| 35 | + foreach($ph as $k=>$v) { |
|
| 39 | 36 | $k = $left . $k . $right; |
| 40 | 37 | $src = str_replace($k,$v,$src); |
| 41 | 38 | } |
@@ -46,8 +43,11 @@ discard block |
||
| 46 | 43 | { |
| 47 | 44 | global $_lang,$moduleName,$moduleVersion,$modx_textdir,$modx_release_date; |
| 48 | 45 | |
| 49 | - if(isset($_SESSION['installmode'])) $installmode = $_SESSION['installmode']; |
|
| 50 | - else $installmode = get_installmode(); |
|
| 46 | + if(isset($_SESSION['installmode'])) { |
|
| 47 | + $installmode = $_SESSION['installmode']; |
|
| 48 | + } else { |
|
| 49 | + $installmode = get_installmode(); |
|
| 50 | + } |
|
| 51 | 51 | |
| 52 | 52 | $ph['pagetitle'] = $_lang['modx_install']; |
| 53 | 53 | $ph['textdir'] = $modx_textdir ? ' id="rtl"':''; |
@@ -65,29 +65,29 @@ discard block |
||
| 65 | 65 | global $base_path,$database_server, $database_user, $database_password, $dbase, $table_prefix; |
| 66 | 66 | |
| 67 | 67 | $conf_path = "{$base_path}manager/includes/config.inc.php"; |
| 68 | - if (!is_file($conf_path)) $installmode = 0; |
|
| 69 | - elseif(isset($_POST['installmode'])) $installmode = $_POST['installmode']; |
|
| 70 | - else |
|
| 71 | - { |
|
| 68 | + if (!is_file($conf_path)) { |
|
| 69 | + $installmode = 0; |
|
| 70 | + } elseif(isset($_POST['installmode'])) { |
|
| 71 | + $installmode = $_POST['installmode']; |
|
| 72 | + } else { |
|
| 72 | 73 | include_once("{$base_path}manager/includes/config.inc.php"); |
| 73 | 74 | |
| 74 | - if(!isset($dbase) || empty($dbase)) $installmode = 0; |
|
| 75 | - else |
|
| 76 | - { |
|
| 75 | + if(!isset($dbase) || empty($dbase)) { |
|
| 76 | + $installmode = 0; |
|
| 77 | + } else { |
|
| 77 | 78 | $conn = mysqli_connect($database_server, $database_user, $database_password); |
| 78 | - if($conn) |
|
| 79 | - { |
|
| 79 | + if($conn) { |
|
| 80 | 80 | $_SESSION['database_server'] = $database_server; |
| 81 | 81 | $_SESSION['database_user'] = $database_user; |
| 82 | 82 | $_SESSION['database_password'] = $database_password; |
| 83 | 83 | |
| 84 | 84 | $dbase = trim($dbase, '`'); |
| 85 | 85 | $rs = mysqli_select_db($conn, $dbase); |
| 86 | + } else { |
|
| 87 | + $rs = false; |
|
| 86 | 88 | } |
| 87 | - else $rs = false; |
|
| 88 | 89 | |
| 89 | - if($rs) |
|
| 90 | - { |
|
| 90 | + if($rs) { |
|
| 91 | 91 | $_SESSION['dbase'] = $dbase; |
| 92 | 92 | $_SESSION['table_prefix'] = $table_prefix; |
| 93 | 93 | $_SESSION['database_collation'] = 'utf8_general_ci'; |
@@ -95,17 +95,21 @@ discard block |
||
| 95 | 95 | |
| 96 | 96 | $tbl_system_settings = "`{$dbase}`.`{$table_prefix}system_settings`"; |
| 97 | 97 | $rs = mysqli_query($conn, "SELECT setting_value FROM {$tbl_system_settings} WHERE setting_name='settings_version'"); |
| 98 | - if($rs) |
|
| 99 | - { |
|
| 98 | + if($rs) { |
|
| 100 | 99 | $row = mysqli_fetch_assoc($rs); |
| 101 | 100 | $settings_version = $row['setting_value']; |
| 101 | + } else { |
|
| 102 | + $settings_version = ''; |
|
| 102 | 103 | } |
| 103 | - else $settings_version = ''; |
|
| 104 | 104 | |
| 105 | - if (empty($settings_version)) $installmode = 0; |
|
| 106 | - else $installmode = 1; |
|
| 105 | + if (empty($settings_version)) { |
|
| 106 | + $installmode = 0; |
|
| 107 | + } else { |
|
| 108 | + $installmode = 1; |
|
| 109 | + } |
|
| 110 | + } else { |
|
| 111 | + $installmode = 1; |
|
| 107 | 112 | } |
| 108 | - else $installmode = 1; |
|
| 109 | 113 | } |
| 110 | 114 | } |
| 111 | 115 | return $installmode; |
@@ -7,10 +7,10 @@ discard block |
||
| 7 | 7 | $self = 'install/connection.servertest.php'; |
| 8 | 8 | $base_path = str_replace($self,'',str_replace('\\','/', __FILE__)); |
| 9 | 9 | if (is_file("{$base_path}assets/cache/siteManager.php")) { |
| 10 | - include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 10 | + include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 11 | 11 | } |
| 12 | 12 | if(!defined('MGR_DIR') && is_dir("{$base_path}manager")) { |
| 13 | - define('MGR_DIR','manager'); |
|
| 13 | + define('MGR_DIR','manager'); |
|
| 14 | 14 | } |
| 15 | 15 | require_once("lang.php"); |
| 16 | 16 | |
@@ -31,7 +31,7 @@ discard block |
||
| 31 | 31 | $modes = mysqli_fetch_array($mysqlmode, MYSQLI_NUM); |
| 32 | 32 | $strictMode = false; |
| 33 | 33 | foreach ($modes as $mode) { |
| 34 | - if (stristr($mode, "STRICT_TRANS_TABLES") !== false || stristr($mode, "STRICT_ALL_TABLES") !== false) $strictMode = true; |
|
| 34 | + if (stristr($mode, "STRICT_TRANS_TABLES") !== false || stristr($mode, "STRICT_ALL_TABLES") !== false) $strictMode = true; |
|
| 35 | 35 | } |
| 36 | 36 | if ($strictMode) $output .= '<br /><span style="color:#FF0000;"> '.$_lang['strict_mode'].'</span>'; |
| 37 | 37 | } |
@@ -17,8 +17,7 @@ discard block |
||
| 17 | 17 | $output = $_lang["status_connecting"]; |
| 18 | 18 | if (!$conn = @mysqli_connect($host, $uid, $pwd)) { |
| 19 | 19 | $output .= '<span id="server_fail" style="color:#FF0000;"> '.$_lang['status_failed'].'</span>'; |
| 20 | -} |
|
| 21 | -else { |
|
| 20 | +} else { |
|
| 22 | 21 | $output .= '<span id="server_pass" style="color:#80c000;"> '.$_lang['status_passed_server'].'</span>'; |
| 23 | 22 | |
| 24 | 23 | // Mysql version check |
@@ -27,13 +26,17 @@ discard block |
||
| 27 | 26 | } |
| 28 | 27 | // Mode check |
| 29 | 28 | $mysqlmode = mysqli_query($conn, "SELECT @@session.sql_mode"); |
| 30 | - if (@mysqli_num_rows($mysqlmode) > 0){ |
|
| 29 | + if (@mysqli_num_rows($mysqlmode) > 0) { |
|
| 31 | 30 | $modes = mysqli_fetch_array($mysqlmode, MYSQLI_NUM); |
| 32 | 31 | $strictMode = false; |
| 33 | 32 | foreach ($modes as $mode) { |
| 34 | - if (stristr($mode, "STRICT_TRANS_TABLES") !== false || stristr($mode, "STRICT_ALL_TABLES") !== false) $strictMode = true; |
|
| 33 | + if (stristr($mode, "STRICT_TRANS_TABLES") !== false || stristr($mode, "STRICT_ALL_TABLES") !== false) { |
|
| 34 | + $strictMode = true; |
|
| 35 | + } |
|
| 36 | + } |
|
| 37 | + if ($strictMode) { |
|
| 38 | + $output .= '<br /><span style="color:#FF0000;"> '.$_lang['strict_mode'].'</span>'; |
|
| 35 | 39 | } |
| 36 | - if ($strictMode) $output .= '<br /><span style="color:#FF0000;"> '.$_lang['strict_mode'].'</span>'; |
|
| 37 | 40 | } |
| 38 | 41 | } |
| 39 | 42 | echo $output; |
@@ -7,10 +7,10 @@ discard block |
||
| 7 | 7 | $self = 'install/connection.collation.php'; |
| 8 | 8 | $base_path = str_replace($self,'',str_replace('\\','/', __FILE__)); |
| 9 | 9 | if (is_file("{$base_path}assets/cache/siteManager.php")) { |
| 10 | - include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 10 | + include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 11 | 11 | } |
| 12 | 12 | if(!defined('MGR_DIR') && is_dir("{$base_path}manager")) { |
| 13 | - define('MGR_DIR','manager'); |
|
| 13 | + define('MGR_DIR','manager'); |
|
| 14 | 14 | } |
| 15 | 15 | require_once('lang.php'); |
| 16 | 16 | |
@@ -59,12 +59,12 @@ discard block |
||
| 59 | 59 | $rs = array('recommend'=>''); |
| 60 | 60 | $order = explode(',', $order); |
| 61 | 61 | foreach($order as $v) { |
| 62 | - foreach($array as $name=>$sel) { |
|
| 63 | - if(strpos($name,$v)!==false) { |
|
| 64 | - $rs[$name] = $array[$name]; |
|
| 65 | - unset($array[$name]); |
|
| 66 | - } |
|
| 67 | - } |
|
| 62 | + foreach($array as $name=>$sel) { |
|
| 63 | + if(strpos($name,$v)!==false) { |
|
| 64 | + $rs[$name] = $array[$name]; |
|
| 65 | + unset($array[$name]); |
|
| 66 | + } |
|
| 67 | + } |
|
| 68 | 68 | } |
| 69 | 69 | $rs['unrecommend']=''; |
| 70 | 70 | return $rs + $array; |
@@ -15,7 +15,9 @@ discard block |
||
| 15 | 15 | require_once('lang.php'); |
| 16 | 16 | |
| 17 | 17 | $conn = mysqli_connect($host, $uid, $pwd); |
| 18 | -if(!$conn) exit('can not connect'); |
|
| 18 | +if(!$conn) { |
|
| 19 | + exit('can not connect'); |
|
| 20 | +} |
|
| 19 | 21 | |
| 20 | 22 | // get collation |
| 21 | 23 | $rs = mysqli_query($conn, "SHOW COLLATION"); |
@@ -29,23 +31,31 @@ discard block |
||
| 29 | 31 | $database_collation = htmlentities($_POST['database_collation']); |
| 30 | 32 | $recommend_collation = $_lang['recommend_collation']; |
| 31 | 33 | |
| 32 | - if (isset($_[$recommend_collation])) $_[$recommend_collation] = ' selected'; |
|
| 33 | - elseif(isset($_['utf8mb4_general_ci'])) $_['utf8mb4_general_ci'] = ' selected'; |
|
| 34 | - elseif(isset($_['utf8_general_ci'])) $_['utf8_general_ci'] = ' selected'; |
|
| 35 | - elseif(isset($_[$database_collation])) $_[$database_collation] = ' selected'; |
|
| 34 | + if (isset($_[$recommend_collation])) { |
|
| 35 | + $_[$recommend_collation] = ' selected'; |
|
| 36 | + } elseif(isset($_['utf8mb4_general_ci'])) { |
|
| 37 | + $_['utf8mb4_general_ci'] = ' selected'; |
|
| 38 | + } elseif(isset($_['utf8_general_ci'])) { |
|
| 39 | + $_['utf8_general_ci'] = ' selected'; |
|
| 40 | + } elseif(isset($_[$database_collation])) { |
|
| 41 | + $_[$database_collation] = ' selected'; |
|
| 42 | + } |
|
| 36 | 43 | |
| 37 | 44 | $_ = sortItem($_,$_lang['recommend_collations_order']); |
| 38 | 45 | |
| 39 | 46 | foreach($_ as $collation=>$selected) { |
| 40 | 47 | $collation = htmlentities($collation); |
| 41 | 48 | // if(substr($collation,0,4)!=='utf8') continue; |
| 42 | - if(strpos($collation,'sjis')===0) continue; |
|
| 43 | - if($collation=='recommend') |
|
| 44 | - $output .= '<optgroup label="recommend">'; |
|
| 45 | - elseif($collation=='unrecommend') |
|
| 46 | - $output .= '</optgroup><optgroup label="unrecommend">'; |
|
| 47 | - else |
|
| 48 | - $output .= sprintf('<option value="%s" %s>%s</option>', $collation, $selected, $collation); |
|
| 49 | + if(strpos($collation,'sjis')===0) { |
|
| 50 | + continue; |
|
| 51 | + } |
|
| 52 | + if($collation=='recommend') { |
|
| 53 | + $output .= '<optgroup label="recommend">'; |
|
| 54 | + } elseif($collation=='unrecommend') { |
|
| 55 | + $output .= '</optgroup><optgroup label="unrecommend">'; |
|
| 56 | + } else { |
|
| 57 | + $output .= sprintf('<option value="%s" %s>%s</option>', $collation, $selected, $collation); |
|
| 58 | + } |
|
| 49 | 59 | } |
| 50 | 60 | $output .= '</optgroup></select>'; |
| 51 | 61 | } |
@@ -55,7 +65,8 @@ discard block |
||
| 55 | 65 | |
| 56 | 66 | |
| 57 | 67 | |
| 58 | -function sortItem($array=array(),$order='utf8mb4,utf8') { |
|
| 68 | +function sortItem($array=array(),$order='utf8mb4,utf8') |
|
| 69 | +{ |
|
| 59 | 70 | $rs = array('recommend'=>''); |
| 60 | 71 | $order = explode(',', $order); |
| 61 | 72 | foreach($order as $v) { |
@@ -16,10 +16,10 @@ |
||
| 16 | 16 | error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED); |
| 17 | 17 | |
| 18 | 18 | if (is_file("{$base_path}assets/cache/siteManager.php")) { |
| 19 | - include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 19 | + include_once("{$base_path}assets/cache/siteManager.php"); |
|
| 20 | 20 | } |
| 21 | 21 | if(!defined('MGR_DIR') && is_dir("{$base_path}manager")) { |
| 22 | - define('MGR_DIR', 'manager'); |
|
| 22 | + define('MGR_DIR', 'manager'); |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | |
@@ -85,7 +85,7 @@ discard block |
||
| 85 | 85 | echo "<span class=\"notok\" style='color:#707070'>".$_lang['setup_database_selection_failed']."</span>".$_lang['setup_database_selection_failed_note']."</p>"; |
| 86 | 86 | $create = true; |
| 87 | 87 | } else { |
| 88 | - if (function_exists('mysqli_set_charset')) mysqli_set_charset($conn, $database_charset); |
|
| 88 | + if (function_exists('mysqli_set_charset')) mysqli_set_charset($conn, $database_charset); |
|
| 89 | 89 | mysqli_query($conn, "{$database_connection_method} {$database_connection_charset}"); |
| 90 | 90 | echo '<span class="ok">'.$_lang['ok']."</span></p>"; |
| 91 | 91 | } |
@@ -280,23 +280,23 @@ discard block |
||
| 280 | 280 | |
| 281 | 281 | // Reset database for installation of demo-site |
| 282 | 282 | if ($installData && $moduleSQLDataFile && $moduleSQLResetFile) { |
| 283 | - echo "<p>" . $_lang['resetting_database']; |
|
| 284 | - $sqlParser->process($moduleSQLResetFile); |
|
| 285 | - // display database results |
|
| 286 | - if ($sqlParser->installFailed == true) { |
|
| 287 | - $errors += 1; |
|
| 288 | - echo "<span class=\"notok\"><b>" . $_lang['database_alerts'] . "</span></p>"; |
|
| 289 | - echo "<p>" . $_lang['setup_couldnt_install'] . "</p>"; |
|
| 290 | - echo "<p>" . $_lang['installation_error_occured'] . "<br /><br />"; |
|
| 291 | - for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { |
|
| 292 | - echo "<em>" . $sqlParser->mysqlErrors[$i]["error"] . "</em>" . $_lang['during_execution_of_sql'] . "<span class='mono'>" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . "</span>.<hr />"; |
|
| 293 | - } |
|
| 294 | - echo "</p>"; |
|
| 295 | - echo "<p>" . $_lang['some_tables_not_updated'] . "</p>"; |
|
| 296 | - return; |
|
| 297 | - } else { |
|
| 298 | - echo '<span class="ok">'.$_lang['ok']."</span></p>"; |
|
| 299 | - } |
|
| 283 | + echo "<p>" . $_lang['resetting_database']; |
|
| 284 | + $sqlParser->process($moduleSQLResetFile); |
|
| 285 | + // display database results |
|
| 286 | + if ($sqlParser->installFailed == true) { |
|
| 287 | + $errors += 1; |
|
| 288 | + echo "<span class=\"notok\"><b>" . $_lang['database_alerts'] . "</span></p>"; |
|
| 289 | + echo "<p>" . $_lang['setup_couldnt_install'] . "</p>"; |
|
| 290 | + echo "<p>" . $_lang['installation_error_occured'] . "<br /><br />"; |
|
| 291 | + for ($i = 0; $i < count($sqlParser->mysqlErrors); $i++) { |
|
| 292 | + echo "<em>" . $sqlParser->mysqlErrors[$i]["error"] . "</em>" . $_lang['during_execution_of_sql'] . "<span class='mono'>" . strip_tags($sqlParser->mysqlErrors[$i]["sql"]) . "</span>.<hr />"; |
|
| 293 | + } |
|
| 294 | + echo "</p>"; |
|
| 295 | + echo "<p>" . $_lang['some_tables_not_updated'] . "</p>"; |
|
| 296 | + return; |
|
| 297 | + } else { |
|
| 298 | + echo '<span class="ok">'.$_lang['ok']."</span></p>"; |
|
| 299 | + } |
|
| 300 | 300 | } |
| 301 | 301 | |
| 302 | 302 | // Install Templates |
@@ -418,7 +418,7 @@ discard block |
||
| 418 | 418 | $tRow = mysqli_fetch_assoc($ts); |
| 419 | 419 | $templateId = $tRow['id']; |
| 420 | 420 | mysqli_query($sqlParser->conn, "INSERT INTO $dbase.`" . $table_prefix . "site_tmplvar_templates` (tmplvarid, templateid) VALUES($id, $templateId)"); |
| 421 | - } |
|
| 421 | + } |
|
| 422 | 422 | } |
| 423 | 423 | } |
| 424 | 424 | } |
@@ -687,51 +687,51 @@ discard block |
||
| 687 | 687 | |
| 688 | 688 | // Install Dependencies |
| 689 | 689 | foreach ($moduleDependencies as $dependency) { |
| 690 | - $ds = mysqli_query($sqlParser->conn, 'SELECT id, guid FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_modules` WHERE name="' . $dependency['module'] . '"'); |
|
| 691 | - if (!$ds) { |
|
| 692 | - echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 693 | - return; |
|
| 694 | - } else { |
|
| 695 | - $row = mysqli_fetch_assoc($ds); |
|
| 696 | - $moduleId = $row["id"]; |
|
| 697 | - $moduleGuid = $row["guid"]; |
|
| 698 | - } |
|
| 699 | - // get extra id |
|
| 700 | - $ds = mysqli_query($sqlParser->conn, 'SELECT id FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` WHERE ' . $dependency['column'] . '="' . $dependency['name'] . '"'); |
|
| 701 | - if (!$ds) { |
|
| 702 | - echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 703 | - return; |
|
| 704 | - } else { |
|
| 705 | - $row = mysqli_fetch_assoc($ds); |
|
| 706 | - $extraId = $row["id"]; |
|
| 707 | - } |
|
| 708 | - // setup extra as module dependency |
|
| 709 | - $ds = mysqli_query($sqlParser->conn, 'SELECT module FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` WHERE module=' . $moduleId . ' AND resource=' . $extraId . ' AND type=' . $dependency['type'] . ' LIMIT 1'); |
|
| 710 | - if (!$ds) { |
|
| 711 | - echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 712 | - return; |
|
| 713 | - } else { |
|
| 714 | - if (mysqli_num_rows($ds) === 0) { |
|
| 715 | - mysqli_query($sqlParser->conn, 'INSERT INTO ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` (module, resource, type) VALUES(' . $moduleId . ',' . $extraId . ',' . $dependency['type'] . ')'); |
|
| 716 | - echo '<p> ' . $dependency['module'] . ' Module: <span class="ok">' . $_lang['depedency_create'] . '</span></p>'; |
|
| 717 | - } else { |
|
| 718 | - mysqli_query($sqlParser->conn, 'UPDATE ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` SET module = ' . $moduleId . ', resource = ' . $extraId . ', type = ' . $dependency['type'] . ' WHERE module=' . $moduleId . ' AND resource=' . $extraId . ' AND type=' . $dependency['type']); |
|
| 719 | - echo '<p> ' . $dependency['module'] . ' Module: <span class="ok">' . $_lang['depedency_update'] . '</span></p>'; |
|
| 720 | - } |
|
| 721 | - if ($dependency['type'] == 30 || $dependency['type'] == 40) { |
|
| 722 | - // set extra guid for plugins and snippets |
|
| 723 | - $ds = mysqli_query($sqlParser->conn, 'SELECT id FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` WHERE id=' . $extraId . ' LIMIT 1'); |
|
| 724 | - if (!$ds) { |
|
| 725 | - echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 726 | - return; |
|
| 727 | - } else { |
|
| 728 | - if (mysqli_num_rows($ds) != 0) { |
|
| 729 | - mysqli_query($sqlParser->conn, 'UPDATE ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` SET moduleguid = ' . $moduleGuid . ' WHERE id=' . $extraId); |
|
| 730 | - echo '<p> ' . $dependency['name'] . ': <span class="ok">' . $_lang['guid_set'] . '</span></p>'; |
|
| 731 | - } |
|
| 732 | - } |
|
| 733 | - } |
|
| 734 | - } |
|
| 690 | + $ds = mysqli_query($sqlParser->conn, 'SELECT id, guid FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_modules` WHERE name="' . $dependency['module'] . '"'); |
|
| 691 | + if (!$ds) { |
|
| 692 | + echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 693 | + return; |
|
| 694 | + } else { |
|
| 695 | + $row = mysqli_fetch_assoc($ds); |
|
| 696 | + $moduleId = $row["id"]; |
|
| 697 | + $moduleGuid = $row["guid"]; |
|
| 698 | + } |
|
| 699 | + // get extra id |
|
| 700 | + $ds = mysqli_query($sqlParser->conn, 'SELECT id FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` WHERE ' . $dependency['column'] . '="' . $dependency['name'] . '"'); |
|
| 701 | + if (!$ds) { |
|
| 702 | + echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 703 | + return; |
|
| 704 | + } else { |
|
| 705 | + $row = mysqli_fetch_assoc($ds); |
|
| 706 | + $extraId = $row["id"]; |
|
| 707 | + } |
|
| 708 | + // setup extra as module dependency |
|
| 709 | + $ds = mysqli_query($sqlParser->conn, 'SELECT module FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` WHERE module=' . $moduleId . ' AND resource=' . $extraId . ' AND type=' . $dependency['type'] . ' LIMIT 1'); |
|
| 710 | + if (!$ds) { |
|
| 711 | + echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 712 | + return; |
|
| 713 | + } else { |
|
| 714 | + if (mysqli_num_rows($ds) === 0) { |
|
| 715 | + mysqli_query($sqlParser->conn, 'INSERT INTO ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` (module, resource, type) VALUES(' . $moduleId . ',' . $extraId . ',' . $dependency['type'] . ')'); |
|
| 716 | + echo '<p> ' . $dependency['module'] . ' Module: <span class="ok">' . $_lang['depedency_create'] . '</span></p>'; |
|
| 717 | + } else { |
|
| 718 | + mysqli_query($sqlParser->conn, 'UPDATE ' . $dbase . '`' . $sqlParser->prefix . 'site_module_depobj` SET module = ' . $moduleId . ', resource = ' . $extraId . ', type = ' . $dependency['type'] . ' WHERE module=' . $moduleId . ' AND resource=' . $extraId . ' AND type=' . $dependency['type']); |
|
| 719 | + echo '<p> ' . $dependency['module'] . ' Module: <span class="ok">' . $_lang['depedency_update'] . '</span></p>'; |
|
| 720 | + } |
|
| 721 | + if ($dependency['type'] == 30 || $dependency['type'] == 40) { |
|
| 722 | + // set extra guid for plugins and snippets |
|
| 723 | + $ds = mysqli_query($sqlParser->conn, 'SELECT id FROM ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` WHERE id=' . $extraId . ' LIMIT 1'); |
|
| 724 | + if (!$ds) { |
|
| 725 | + echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
|
| 726 | + return; |
|
| 727 | + } else { |
|
| 728 | + if (mysqli_num_rows($ds) != 0) { |
|
| 729 | + mysqli_query($sqlParser->conn, 'UPDATE ' . $dbase . '`' . $sqlParser->prefix . 'site_' . $dependency['table'] . '` SET moduleguid = ' . $moduleGuid . ' WHERE id=' . $extraId); |
|
| 730 | + echo '<p> ' . $dependency['name'] . ': <span class="ok">' . $_lang['guid_set'] . '</span></p>'; |
|
| 731 | + } |
|
| 732 | + } |
|
| 733 | + } |
|
| 734 | + } |
|
| 735 | 735 | } |
| 736 | 736 | |
| 737 | 737 | // call back function |
@@ -1,7 +1,7 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | if (file_exists(dirname(__FILE__)."/../assets/cache/siteManager.php")) { |
| 3 | 3 | include_once(dirname(__FILE__)."/../assets/cache/siteManager.php"); |
| 4 | -}else{ |
|
| 4 | +} else { |
|
| 5 | 5 | define('MGR_DIR', 'manager'); |
| 6 | 6 | } |
| 7 | 7 | |
@@ -58,13 +58,15 @@ discard block |
||
| 58 | 58 | |
| 59 | 59 | // get base path and url |
| 60 | 60 | $a = explode("install", str_replace("\\", "/", dirname($_SERVER["PHP_SELF"]))); |
| 61 | -if (count($a) > 1) |
|
| 61 | +if (count($a) > 1) { |
|
| 62 | 62 | array_pop($a); |
| 63 | +} |
|
| 63 | 64 | $url = implode("install", $a); |
| 64 | 65 | reset($a); |
| 65 | 66 | $a = explode("install", str_replace("\\", "/", realpath(dirname(__FILE__)))); |
| 66 | -if (count($a) > 1) |
|
| 67 | +if (count($a) > 1) { |
|
| 67 | 68 | array_pop($a); |
| 69 | +} |
|
| 68 | 70 | $pth = implode("install", $a); |
| 69 | 71 | unset ($a); |
| 70 | 72 | $base_url = $url . (substr($url, -1) != "/" ? "/" : ""); |
@@ -85,7 +87,9 @@ discard block |
||
| 85 | 87 | echo "<span class=\"notok\" style='color:#707070'>".$_lang['setup_database_selection_failed']."</span>".$_lang['setup_database_selection_failed_note']."</p>"; |
| 86 | 88 | $create = true; |
| 87 | 89 | } else { |
| 88 | - if (function_exists('mysqli_set_charset')) mysqli_set_charset($conn, $database_charset); |
|
| 90 | + if (function_exists('mysqli_set_charset')) { |
|
| 91 | + mysqli_set_charset($conn, $database_charset); |
|
| 92 | + } |
|
| 89 | 93 | mysqli_query($conn, "{$database_connection_method} {$database_connection_charset}"); |
| 90 | 94 | echo '<span class="ok">'.$_lang['ok']."</span></p>"; |
| 91 | 95 | } |
@@ -127,7 +131,8 @@ discard block |
||
| 127 | 131 | if(!function_exists('parseProperties')) { |
| 128 | 132 | // parses a resource property string and returns the result as an array |
| 129 | 133 | // duplicate of method in documentParser class |
| 130 | - function parseProperties($propertyString) { |
|
| 134 | + function parseProperties($propertyString) |
|
| 135 | + { |
|
| 131 | 136 | $parameter= array (); |
| 132 | 137 | if (!empty ($propertyString)) { |
| 133 | 138 | $tmpParams= explode("&", $propertyString); |
@@ -135,11 +140,14 @@ discard block |
||
| 135 | 140 | if (strpos($tmpParams[$x], '=', 0)) { |
| 136 | 141 | $pTmp= explode("=", $tmpParams[$x]); |
| 137 | 142 | $pvTmp= explode(";", trim($pTmp[1])); |
| 138 | - if ($pvTmp[1] == 'list' && $pvTmp[3] != "") |
|
| 139 | - $parameter[trim($pTmp[0])]= $pvTmp[3]; //list default |
|
| 143 | + if ($pvTmp[1] == 'list' && $pvTmp[3] != "") { |
|
| 144 | + $parameter[trim($pTmp[0])]= $pvTmp[3]; |
|
| 145 | + } |
|
| 146 | + //list default |
|
| 140 | 147 | else |
| 141 | - if ($pvTmp[1] != 'list' && $pvTmp[2] != "") |
|
| 142 | - $parameter[trim($pTmp[0])]= $pvTmp[2]; |
|
| 148 | + if ($pvTmp[1] != 'list' && $pvTmp[2] != "") { |
|
| 149 | + $parameter[trim($pTmp[0])]= $pvTmp[2]; |
|
| 150 | + } |
|
| 143 | 151 | } |
| 144 | 152 | } |
| 145 | 153 | } |
@@ -210,7 +218,7 @@ discard block |
||
| 210 | 218 | // custom or not |
| 211 | 219 | if (file_exists(dirname(__FILE__)."/../../assets/cache/siteManager.php")) { |
| 212 | 220 | $mgrdir = 'include_once(dirname(__FILE__)."/../../assets/cache/siteManager.php");'; |
| 213 | -}else{ |
|
| 221 | +} else { |
|
| 214 | 222 | $mgrdir = 'define(\'MGR_DIR\', \'manager\');'; |
| 215 | 223 | } |
| 216 | 224 | |
@@ -346,7 +354,9 @@ discard block |
||
| 346 | 354 | echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
| 347 | 355 | return; |
| 348 | 356 | } |
| 349 | - if(!is_null($save_sql_id_as)) $custom_placeholders[$save_sql_id_as] = @mysqli_insert_id($sqlParser->conn); |
|
| 357 | + if(!is_null($save_sql_id_as)) { |
|
| 358 | + $custom_placeholders[$save_sql_id_as] = @mysqli_insert_id($sqlParser->conn); |
|
| 359 | + } |
|
| 350 | 360 | echo "<p> $name: <span class=\"ok\">" . $_lang['installed'] . "</span></p>"; |
| 351 | 361 | } |
| 352 | 362 | } |
@@ -440,9 +450,9 @@ discard block |
||
| 440 | 450 | $overwrite = mysqli_real_escape_string($conn, $moduleChunk[4]); |
| 441 | 451 | $filecontent = $moduleChunk[2]; |
| 442 | 452 | |
| 443 | - if (!file_exists($filecontent)) |
|
| 444 | - echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_chunk'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 445 | - else { |
|
| 453 | + if (!file_exists($filecontent)) { |
|
| 454 | + echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_chunk'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 455 | + } else { |
|
| 446 | 456 | |
| 447 | 457 | // Create the category if it does not already exist |
| 448 | 458 | $category_id = getCreateDbCategory($category, $sqlParser); |
@@ -494,9 +504,9 @@ discard block |
||
| 494 | 504 | $guid = mysqli_real_escape_string($conn, $moduleModule[4]); |
| 495 | 505 | $shared = mysqli_real_escape_string($conn, $moduleModule[5]); |
| 496 | 506 | $category = mysqli_real_escape_string($conn, $moduleModule[6]); |
| 497 | - if (!file_exists($filecontent)) |
|
| 498 | - echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_module'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 499 | - else { |
|
| 507 | + if (!file_exists($filecontent)) { |
|
| 508 | + echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_module'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 509 | + } else { |
|
| 500 | 510 | |
| 501 | 511 | // Create the category if it does not already exist |
| 502 | 512 | $category = getCreateDbCategory($category, $sqlParser); |
@@ -546,9 +556,9 @@ discard block |
||
| 546 | 556 | // parse comma-separated legacy names and prepare them for sql IN clause |
| 547 | 557 | $leg_names = "'" . implode("','", preg_split('/\s*,\s*/', mysqli_real_escape_string($conn, $modulePlugin[7]))) . "'"; |
| 548 | 558 | } |
| 549 | - if (!file_exists($filecontent)) |
|
| 550 | - echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_plugin'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 551 | - else { |
|
| 559 | + if (!file_exists($filecontent)) { |
|
| 560 | + echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_plugin'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 561 | + } else { |
|
| 552 | 562 | |
| 553 | 563 | // disable legacy versions based on legacy_names provided |
| 554 | 564 | if(!empty($leg_names)) { |
@@ -567,7 +577,7 @@ discard block |
||
| 567 | 577 | $insert = true; |
| 568 | 578 | while($row = mysqli_fetch_assoc($rs)) { |
| 569 | 579 | $props = mysqli_real_escape_string($conn, propUpdate($properties,$row['properties'])); |
| 570 | - if($row['description'] == $desc){ |
|
| 580 | + if($row['description'] == $desc) { |
|
| 571 | 581 | if (! mysqli_query($sqlParser->conn, "UPDATE $dbase.`" . $table_prefix . "site_plugins` SET plugincode='$plugin', description='$desc', properties='$props' WHERE id={$row['id']};")) { |
| 572 | 582 | echo "<p>" . mysqli_error($sqlParser->conn) . "</p>"; |
| 573 | 583 | return; |
@@ -625,9 +635,9 @@ discard block |
||
| 625 | 635 | $filecontent = $moduleSnippet[2]; |
| 626 | 636 | $properties = $moduleSnippet[3]; |
| 627 | 637 | $category = mysqli_real_escape_string($conn, $moduleSnippet[4]); |
| 628 | - if (!file_exists($filecontent)) |
|
| 629 | - echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_snippet'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 630 | - else { |
|
| 638 | + if (!file_exists($filecontent)) { |
|
| 639 | + echo "<p> $name: <span class=\"notok\">" . $_lang['unable_install_snippet'] . " '$filecontent' " . $_lang['not_found'] . ".</span></p>"; |
|
| 640 | + } else { |
|
| 631 | 641 | |
| 632 | 642 | // Create the category if it does not already exist |
| 633 | 643 | $category = getCreateDbCategory($category, $sqlParser); |
@@ -735,13 +745,16 @@ discard block |
||
| 735 | 745 | } |
| 736 | 746 | |
| 737 | 747 | // call back function |
| 738 | -if ($callBackFnc != "") |
|
| 748 | +if ($callBackFnc != "") { |
|
| 739 | 749 | $callBackFnc ($sqlParser); |
| 750 | +} |
|
| 740 | 751 | |
| 741 | 752 | // Setup the MODX API -- needed for the cache processor |
| 742 | 753 | define('MODX_API_MODE', true); |
| 743 | 754 | define('MODX_BASE_PATH', $base_path); |
| 744 | -if (!defined('MODX_MANAGER_PATH')) define('MODX_MANAGER_PATH', $base_path.MGR_DIR.'/'); |
|
| 755 | +if (!defined('MODX_MANAGER_PATH')) { |
|
| 756 | + define('MODX_MANAGER_PATH', $base_path.MGR_DIR.'/'); |
|
| 757 | +} |
|
| 745 | 758 | $database_type = 'mysqli'; |
| 746 | 759 | // initiate a new document parser |
| 747 | 760 | include_once('../'.MGR_DIR.'/includes/document.parser.class.inc.php'); |
@@ -780,11 +793,12 @@ discard block |
||
| 780 | 793 | } |
| 781 | 794 | |
| 782 | 795 | // Property Update function |
| 783 | -function propUpdate($new,$old){ |
|
| 796 | +function propUpdate($new,$old) |
|
| 797 | +{ |
|
| 784 | 798 | $newArr = parseProperties($new); |
| 785 | 799 | $oldArr = parseProperties($old); |
| 786 | - foreach ($oldArr as $k => $v){ |
|
| 787 | - if (isset($v['0']['options'])){ |
|
| 800 | + foreach ($oldArr as $k => $v) { |
|
| 801 | + if (isset($v['0']['options'])) { |
|
| 788 | 802 | $oldArr[$k]['0']['options'] = $newArr[$k]['0']['options']; |
| 789 | 803 | } |
| 790 | 804 | } |
@@ -794,12 +808,17 @@ discard block |
||
| 794 | 808 | return $return; |
| 795 | 809 | } |
| 796 | 810 | |
| 797 | -function parseProperties($propertyString, $json=false) { |
|
| 811 | +function parseProperties($propertyString, $json=false) |
|
| 812 | +{ |
|
| 798 | 813 | $propertyString = str_replace('{}', '', $propertyString ); |
| 799 | 814 | $propertyString = str_replace('} {', ',', $propertyString ); |
| 800 | 815 | |
| 801 | - if(empty($propertyString)) return array(); |
|
| 802 | - if($propertyString=='{}' || $propertyString=='[]') return array(); |
|
| 816 | + if(empty($propertyString)) { |
|
| 817 | + return array(); |
|
| 818 | + } |
|
| 819 | + if($propertyString=='{}' || $propertyString=='[]') { |
|
| 820 | + return array(); |
|
| 821 | + } |
|
| 803 | 822 | |
| 804 | 823 | $jsonFormat = isJson($propertyString, true); |
| 805 | 824 | $property = array(); |
@@ -809,7 +828,7 @@ discard block |
||
| 809 | 828 | $arr = array(); |
| 810 | 829 | $key = array(); |
| 811 | 830 | foreach ($props as $prop) { |
| 812 | - if ($prop != ''){ |
|
| 831 | + if ($prop != '') { |
|
| 813 | 832 | $arr = explode(';', $prop); |
| 814 | 833 | $key = explode('=', $arr['0']); |
| 815 | 834 | $property[$key['0']]['0']['label'] = trim($key['1']); |
@@ -833,7 +852,7 @@ discard block |
||
| 833 | 852 | |
| 834 | 853 | } |
| 835 | 854 | // new json-format |
| 836 | - } else if(!empty($jsonFormat)){ |
|
| 855 | + } else if(!empty($jsonFormat)) { |
|
| 837 | 856 | $property = $jsonFormat; |
| 838 | 857 | } |
| 839 | 858 | if ($json) { |
@@ -843,12 +862,14 @@ discard block |
||
| 843 | 862 | return $property; |
| 844 | 863 | } |
| 845 | 864 | |
| 846 | -function isJson($string, $returnData=false) { |
|
| 865 | +function isJson($string, $returnData=false) |
|
| 866 | +{ |
|
| 847 | 867 | $data = json_decode($string, true); |
| 848 | 868 | return (json_last_error() == JSON_ERROR_NONE) ? ($returnData ? $data : true) : false; |
| 849 | 869 | } |
| 850 | 870 | |
| 851 | -function getCreateDbCategory($category, $sqlParser) { |
|
| 871 | +function getCreateDbCategory($category, $sqlParser) |
|
| 872 | +{ |
|
| 852 | 873 | $dbase = $sqlParser->dbname; |
| 853 | 874 | $dbase = '`' . trim($dbase,'`') . '`'; |
| 854 | 875 | $table_prefix = $sqlParser->prefix; |
@@ -870,7 +891,8 @@ discard block |
||
| 870 | 891 | } |
| 871 | 892 | |
| 872 | 893 | // Remove installer Docblock only from components using plugin FileSource / fileBinding |
| 873 | -function removeDocblock($code, $type) { |
|
| 894 | +function removeDocblock($code, $type) |
|
| 895 | +{ |
|
| 874 | 896 | |
| 875 | 897 | $cleaned = preg_replace("/^.*?\/\*\*.*?\*\/\s+/s", '', $code, 1); |
| 876 | 898 | |
@@ -891,8 +913,9 @@ discard block |
||
| 891 | 913 | default: |
| 892 | 914 | return $cleaned; |
| 893 | 915 | }; |
| 894 | - if(substr(trim($cleaned),0,$count) == $include.' MODX_BASE_PATH.\'assets/'.$elm_name.'/') |
|
| 895 | - return $cleaned; |
|
| 916 | + if(substr(trim($cleaned),0,$count) == $include.' MODX_BASE_PATH.\'assets/'.$elm_name.'/') { |
|
| 917 | + return $cleaned; |
|
| 918 | + } |
|
| 896 | 919 | |
| 897 | 920 | // fileBinding not found - return code incl docblock |
| 898 | 921 | return $code; |
@@ -3,14 +3,16 @@ discard block |
||
| 3 | 3 | // MySQL Dump Parser |
| 4 | 4 | // SNUFFKIN/ Alex 2004 |
| 5 | 5 | |
| 6 | -class SqlParser { |
|
| 6 | +class SqlParser |
|
| 7 | +{ |
|
| 7 | 8 | var $host, $dbname, $prefix, $user, $password, $mysqlErrors; |
| 8 | 9 | var $conn, $installFailed, $sitename, $adminname, $adminemail, $adminpass, $managerlanguage; |
| 9 | 10 | var $mode, $fileManagerPath, $imgPath, $imgUrl; |
| 10 | 11 | var $dbMODx, $dbVersion; |
| 11 | 12 | var $connection_charset, $connection_method; |
| 12 | 13 | |
| 13 | - function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET', $auto_template_logic = 'parent') { |
|
| 14 | + function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET', $auto_template_logic = 'parent') |
|
| 15 | + { |
|
| 14 | 16 | $this->host = $host; |
| 15 | 17 | $this->dbname = $db; |
| 16 | 18 | $this->prefix = $prefix; |
@@ -26,10 +28,13 @@ discard block |
||
| 26 | 28 | $this->autoTemplateLogic = $auto_template_logic; |
| 27 | 29 | } |
| 28 | 30 | |
| 29 | - function connect() { |
|
| 31 | + function connect() |
|
| 32 | + { |
|
| 30 | 33 | $this->conn = mysqli_connect($this->host, $this->user, $this->password); |
| 31 | 34 | mysqli_select_db($this->conn, $this->dbname); |
| 32 | - if (function_exists('mysqli_set_charset')) mysqli_set_charset($this->conn, $this->connection_charset); |
|
| 35 | + if (function_exists('mysqli_set_charset')) { |
|
| 36 | + mysqli_set_charset($this->conn, $this->connection_charset); |
|
| 37 | + } |
|
| 33 | 38 | |
| 34 | 39 | $this->dbVersion = 3.23; // assume version 3.23 |
| 35 | 40 | if(function_exists("mysqli_get_server_info")) { |
@@ -41,7 +46,8 @@ discard block |
||
| 41 | 46 | mysqli_query($this->conn,"{$this->connection_method} {$this->connection_charset}"); |
| 42 | 47 | } |
| 43 | 48 | |
| 44 | - function process($filename) { |
|
| 49 | + function process($filename) |
|
| 50 | + { |
|
| 45 | 51 | global $custom_placeholders; |
| 46 | 52 | |
| 47 | 53 | // check to make sure file exists |
@@ -66,7 +72,9 @@ discard block |
||
| 66 | 72 | // remove non-upgradeable parts |
| 67 | 73 | $s = strpos($idata,"non-upgrade-able[["); |
| 68 | 74 | $e = strpos($idata,"]]non-upgrade-able")+17; |
| 69 | - if($s && $e) $idata = str_replace(substr($idata,$s,$e-$s)," Removed non upgradeable items",$idata); |
|
| 75 | + if($s && $e) { |
|
| 76 | + $idata = str_replace(substr($idata,$s,$e-$s)," Removed non upgradeable items",$idata); |
|
| 77 | + } |
|
| 70 | 78 | } |
| 71 | 79 | |
| 72 | 80 | // replace {} tags |
@@ -94,7 +102,9 @@ discard block |
||
| 94 | 102 | foreach($sql_array as $sql_entry) { |
| 95 | 103 | $sql_do = trim($sql_entry, "\r\n; "); |
| 96 | 104 | |
| 97 | - if (preg_match('/^\#/', $sql_do)) continue; |
|
| 105 | + if (preg_match('/^\#/', $sql_do)) { |
|
| 106 | + continue; |
|
| 107 | + } |
|
| 98 | 108 | |
| 99 | 109 | // strip out comments and \n for mysql 3.x |
| 100 | 110 | if ($this->dbVersion <4.0) { |
@@ -105,11 +115,15 @@ discard block |
||
| 105 | 115 | |
| 106 | 116 | |
| 107 | 117 | $num = $num + 1; |
| 108 | - if ($sql_do) mysqli_query($this->conn, $sql_do); |
|
| 118 | + if ($sql_do) { |
|
| 119 | + mysqli_query($this->conn, $sql_do); |
|
| 120 | + } |
|
| 109 | 121 | if(mysqli_error($this->conn)) { |
| 110 | 122 | // Ignore duplicate and drop errors - Raymond |
| 111 | - if ($this->ignoreDuplicateErrors){ |
|
| 112 | - if (mysqli_errno($this->conn) == 1060 || mysqli_errno($this->conn) == 1061 || mysqli_errno($this->conn) == 1062 ||mysqli_errno($this->conn) == 1091) continue; |
|
| 123 | + if ($this->ignoreDuplicateErrors) { |
|
| 124 | + if (mysqli_errno($this->conn) == 1060 || mysqli_errno($this->conn) == 1061 || mysqli_errno($this->conn) == 1062 ||mysqli_errno($this->conn) == 1091) { |
|
| 125 | + continue; |
|
| 126 | + } |
|
| 113 | 127 | } |
| 114 | 128 | // End Ignore duplicate |
| 115 | 129 | $this->mysqlErrors[] = array("error" => mysqli_error($this->conn), "sql" => $sql_do); |
@@ -118,7 +132,8 @@ discard block |
||
| 118 | 132 | } |
| 119 | 133 | } |
| 120 | 134 | |
| 121 | - function close() { |
|
| 135 | + function close() |
|
| 136 | + { |
|
| 122 | 137 | mysqli_close($this->conn); |
| 123 | 138 | } |
| 124 | 139 | } |
@@ -4,121 +4,121 @@ |
||
| 4 | 4 | // SNUFFKIN/ Alex 2004 |
| 5 | 5 | |
| 6 | 6 | class SqlParser { |
| 7 | - var $host, $dbname, $prefix, $user, $password, $mysqlErrors; |
|
| 8 | - var $conn, $installFailed, $sitename, $adminname, $adminemail, $adminpass, $managerlanguage; |
|
| 9 | - var $mode, $fileManagerPath, $imgPath, $imgUrl; |
|
| 10 | - var $dbMODx, $dbVersion; |
|
| 7 | + var $host, $dbname, $prefix, $user, $password, $mysqlErrors; |
|
| 8 | + var $conn, $installFailed, $sitename, $adminname, $adminemail, $adminpass, $managerlanguage; |
|
| 9 | + var $mode, $fileManagerPath, $imgPath, $imgUrl; |
|
| 10 | + var $dbMODx, $dbVersion; |
|
| 11 | 11 | var $connection_charset, $connection_method; |
| 12 | 12 | |
| 13 | - function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET', $auto_template_logic = 'parent') { |
|
| 14 | - $this->host = $host; |
|
| 15 | - $this->dbname = $db; |
|
| 16 | - $this->prefix = $prefix; |
|
| 17 | - $this->user = $user; |
|
| 18 | - $this->password = $password; |
|
| 19 | - $this->adminpass = $adminpass; |
|
| 20 | - $this->adminname = $adminname; |
|
| 21 | - $this->adminemail = $adminemail; |
|
| 22 | - $this->connection_charset = $connection_charset; |
|
| 23 | - $this->connection_method = $connection_method; |
|
| 24 | - $this->ignoreDuplicateErrors = false; |
|
| 25 | - $this->managerlanguage = $managerlanguage; |
|
| 13 | + function SqlParser($host, $user, $password, $db, $prefix='modx_', $adminname, $adminemail, $adminpass, $connection_charset= 'utf8', $managerlanguage='english', $connection_method = 'SET CHARACTER SET', $auto_template_logic = 'parent') { |
|
| 14 | + $this->host = $host; |
|
| 15 | + $this->dbname = $db; |
|
| 16 | + $this->prefix = $prefix; |
|
| 17 | + $this->user = $user; |
|
| 18 | + $this->password = $password; |
|
| 19 | + $this->adminpass = $adminpass; |
|
| 20 | + $this->adminname = $adminname; |
|
| 21 | + $this->adminemail = $adminemail; |
|
| 22 | + $this->connection_charset = $connection_charset; |
|
| 23 | + $this->connection_method = $connection_method; |
|
| 24 | + $this->ignoreDuplicateErrors = false; |
|
| 25 | + $this->managerlanguage = $managerlanguage; |
|
| 26 | 26 | $this->autoTemplateLogic = $auto_template_logic; |
| 27 | - } |
|
| 27 | + } |
|
| 28 | 28 | |
| 29 | - function connect() { |
|
| 30 | - $this->conn = mysqli_connect($this->host, $this->user, $this->password); |
|
| 31 | - mysqli_select_db($this->conn, $this->dbname); |
|
| 32 | - if (function_exists('mysqli_set_charset')) mysqli_set_charset($this->conn, $this->connection_charset); |
|
| 29 | + function connect() { |
|
| 30 | + $this->conn = mysqli_connect($this->host, $this->user, $this->password); |
|
| 31 | + mysqli_select_db($this->conn, $this->dbname); |
|
| 32 | + if (function_exists('mysqli_set_charset')) mysqli_set_charset($this->conn, $this->connection_charset); |
|
| 33 | 33 | |
| 34 | - $this->dbVersion = 3.23; // assume version 3.23 |
|
| 35 | - if(function_exists("mysqli_get_server_info")) { |
|
| 36 | - $ver = mysqli_get_server_info($this->conn); |
|
| 37 | - $this->dbMODx = version_compare($ver,"4.0.2"); |
|
| 38 | - $this->dbVersion = (float) $ver; // Typecasting (float) instead of floatval() [PHP < 4.2] |
|
| 39 | - } |
|
| 34 | + $this->dbVersion = 3.23; // assume version 3.23 |
|
| 35 | + if(function_exists("mysqli_get_server_info")) { |
|
| 36 | + $ver = mysqli_get_server_info($this->conn); |
|
| 37 | + $this->dbMODx = version_compare($ver,"4.0.2"); |
|
| 38 | + $this->dbVersion = (float) $ver; // Typecasting (float) instead of floatval() [PHP < 4.2] |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | 41 | mysqli_query($this->conn,"{$this->connection_method} {$this->connection_charset}"); |
| 42 | - } |
|
| 43 | - |
|
| 44 | - function process($filename) { |
|
| 45 | - global $custom_placeholders; |
|
| 46 | - |
|
| 47 | - // check to make sure file exists |
|
| 48 | - if (!file_exists($filename)) { |
|
| 49 | - $this->mysqlErrors[] = array("error" => "File '$filename' not found"); |
|
| 50 | - $this->installFailed = true ; |
|
| 51 | - return false; |
|
| 52 | - } |
|
| 53 | - |
|
| 54 | - $fh = fopen($filename, 'r'); |
|
| 55 | - $idata = ''; |
|
| 56 | - |
|
| 57 | - while (!feof($fh)) { |
|
| 58 | - $idata .= fread($fh, 1024); |
|
| 59 | - } |
|
| 60 | - |
|
| 61 | - fclose($fh); |
|
| 62 | - $idata = str_replace("\r", '', $idata); |
|
| 63 | - |
|
| 64 | - // check if in upgrade mode |
|
| 65 | - if ($this->mode=="upd") { |
|
| 66 | - // remove non-upgradeable parts |
|
| 67 | - $s = strpos($idata,"non-upgrade-able[["); |
|
| 68 | - $e = strpos($idata,"]]non-upgrade-able")+17; |
|
| 69 | - if($s && $e) $idata = str_replace(substr($idata,$s,$e-$s)," Removed non upgradeable items",$idata); |
|
| 70 | - } |
|
| 71 | - |
|
| 72 | - // replace {} tags |
|
| 73 | - $idata = str_replace('{PREFIX}', $this->prefix, $idata); |
|
| 74 | - $idata = str_replace('{ADMIN}', $this->adminname, $idata); |
|
| 75 | - $idata = str_replace('{ADMINEMAIL}', $this->adminemail, $idata); |
|
| 76 | - $idata = str_replace('{ADMINPASS}', $this->adminpass, $idata); |
|
| 77 | - $idata = str_replace('{IMAGEPATH}', $this->imgPath, $idata); |
|
| 78 | - $idata = str_replace('{IMAGEURL}', $this->imgUrl, $idata); |
|
| 79 | - $idata = str_replace('{FILEMANAGERPATH}', $this->fileManagerPath, $idata); |
|
| 80 | - $idata = str_replace('{MANAGERLANGUAGE}', $this->managerlanguage, $idata); |
|
| 81 | - $idata = str_replace('{AUTOTEMPLATELOGIC}', $this->autoTemplateLogic, $idata); |
|
| 82 | - /*$idata = str_replace('{VERSION}', $modx_version, $idata);*/ |
|
| 83 | - |
|
| 84 | - // Replace custom placeholders |
|
| 85 | - foreach($custom_placeholders as $key=>$val) { |
|
| 86 | - if (strpos($idata, '{'.$key.'}') !== false) { |
|
| 87 | - $idata = str_replace('{'.$key.'}', $val, $idata); |
|
| 88 | - } |
|
| 89 | - } |
|
| 90 | - |
|
| 91 | - $sql_array = explode("\n\n", $idata); |
|
| 92 | - |
|
| 93 | - $num = 0; |
|
| 94 | - foreach($sql_array as $sql_entry) { |
|
| 95 | - $sql_do = trim($sql_entry, "\r\n; "); |
|
| 96 | - |
|
| 97 | - if (preg_match('/^\#/', $sql_do)) continue; |
|
| 98 | - |
|
| 99 | - // strip out comments and \n for mysql 3.x |
|
| 100 | - if ($this->dbVersion <4.0) { |
|
| 101 | - $sql_do = preg_replace("~COMMENT.*[^']?'.*[^']?'~","",$sql_do); |
|
| 102 | - $sql_do = str_replace('\r', "", $sql_do); |
|
| 103 | - $sql_do = str_replace('\n', "", $sql_do); |
|
| 104 | - } |
|
| 105 | - |
|
| 106 | - |
|
| 107 | - $num = $num + 1; |
|
| 108 | - if ($sql_do) mysqli_query($this->conn, $sql_do); |
|
| 109 | - if(mysqli_error($this->conn)) { |
|
| 110 | - // Ignore duplicate and drop errors - Raymond |
|
| 111 | - if ($this->ignoreDuplicateErrors){ |
|
| 112 | - if (mysqli_errno($this->conn) == 1060 || mysqli_errno($this->conn) == 1061 || mysqli_errno($this->conn) == 1062 ||mysqli_errno($this->conn) == 1091) continue; |
|
| 113 | - } |
|
| 114 | - // End Ignore duplicate |
|
| 115 | - $this->mysqlErrors[] = array("error" => mysqli_error($this->conn), "sql" => $sql_do); |
|
| 116 | - $this->installFailed = true; |
|
| 117 | - } |
|
| 118 | - } |
|
| 119 | - } |
|
| 120 | - |
|
| 121 | - function close() { |
|
| 122 | - mysqli_close($this->conn); |
|
| 123 | - } |
|
| 42 | + } |
|
| 43 | + |
|
| 44 | + function process($filename) { |
|
| 45 | + global $custom_placeholders; |
|
| 46 | + |
|
| 47 | + // check to make sure file exists |
|
| 48 | + if (!file_exists($filename)) { |
|
| 49 | + $this->mysqlErrors[] = array("error" => "File '$filename' not found"); |
|
| 50 | + $this->installFailed = true ; |
|
| 51 | + return false; |
|
| 52 | + } |
|
| 53 | + |
|
| 54 | + $fh = fopen($filename, 'r'); |
|
| 55 | + $idata = ''; |
|
| 56 | + |
|
| 57 | + while (!feof($fh)) { |
|
| 58 | + $idata .= fread($fh, 1024); |
|
| 59 | + } |
|
| 60 | + |
|
| 61 | + fclose($fh); |
|
| 62 | + $idata = str_replace("\r", '', $idata); |
|
| 63 | + |
|
| 64 | + // check if in upgrade mode |
|
| 65 | + if ($this->mode=="upd") { |
|
| 66 | + // remove non-upgradeable parts |
|
| 67 | + $s = strpos($idata,"non-upgrade-able[["); |
|
| 68 | + $e = strpos($idata,"]]non-upgrade-able")+17; |
|
| 69 | + if($s && $e) $idata = str_replace(substr($idata,$s,$e-$s)," Removed non upgradeable items",$idata); |
|
| 70 | + } |
|
| 71 | + |
|
| 72 | + // replace {} tags |
|
| 73 | + $idata = str_replace('{PREFIX}', $this->prefix, $idata); |
|
| 74 | + $idata = str_replace('{ADMIN}', $this->adminname, $idata); |
|
| 75 | + $idata = str_replace('{ADMINEMAIL}', $this->adminemail, $idata); |
|
| 76 | + $idata = str_replace('{ADMINPASS}', $this->adminpass, $idata); |
|
| 77 | + $idata = str_replace('{IMAGEPATH}', $this->imgPath, $idata); |
|
| 78 | + $idata = str_replace('{IMAGEURL}', $this->imgUrl, $idata); |
|
| 79 | + $idata = str_replace('{FILEMANAGERPATH}', $this->fileManagerPath, $idata); |
|
| 80 | + $idata = str_replace('{MANAGERLANGUAGE}', $this->managerlanguage, $idata); |
|
| 81 | + $idata = str_replace('{AUTOTEMPLATELOGIC}', $this->autoTemplateLogic, $idata); |
|
| 82 | + /*$idata = str_replace('{VERSION}', $modx_version, $idata);*/ |
|
| 83 | + |
|
| 84 | + // Replace custom placeholders |
|
| 85 | + foreach($custom_placeholders as $key=>$val) { |
|
| 86 | + if (strpos($idata, '{'.$key.'}') !== false) { |
|
| 87 | + $idata = str_replace('{'.$key.'}', $val, $idata); |
|
| 88 | + } |
|
| 89 | + } |
|
| 90 | + |
|
| 91 | + $sql_array = explode("\n\n", $idata); |
|
| 92 | + |
|
| 93 | + $num = 0; |
|
| 94 | + foreach($sql_array as $sql_entry) { |
|
| 95 | + $sql_do = trim($sql_entry, "\r\n; "); |
|
| 96 | + |
|
| 97 | + if (preg_match('/^\#/', $sql_do)) continue; |
|
| 98 | + |
|
| 99 | + // strip out comments and \n for mysql 3.x |
|
| 100 | + if ($this->dbVersion <4.0) { |
|
| 101 | + $sql_do = preg_replace("~COMMENT.*[^']?'.*[^']?'~","",$sql_do); |
|
| 102 | + $sql_do = str_replace('\r', "", $sql_do); |
|
| 103 | + $sql_do = str_replace('\n', "", $sql_do); |
|
| 104 | + } |
|
| 105 | + |
|
| 106 | + |
|
| 107 | + $num = $num + 1; |
|
| 108 | + if ($sql_do) mysqli_query($this->conn, $sql_do); |
|
| 109 | + if(mysqli_error($this->conn)) { |
|
| 110 | + // Ignore duplicate and drop errors - Raymond |
|
| 111 | + if ($this->ignoreDuplicateErrors){ |
|
| 112 | + if (mysqli_errno($this->conn) == 1060 || mysqli_errno($this->conn) == 1061 || mysqli_errno($this->conn) == 1062 ||mysqli_errno($this->conn) == 1091) continue; |
|
| 113 | + } |
|
| 114 | + // End Ignore duplicate |
|
| 115 | + $this->mysqlErrors[] = array("error" => mysqli_error($this->conn), "sql" => $sql_do); |
|
| 116 | + $this->installFailed = true; |
|
| 117 | + } |
|
| 118 | + } |
|
| 119 | + } |
|
| 120 | + |
|
| 121 | + function close() { |
|
| 122 | + mysqli_close($this->conn); |
|
| 123 | + } |
|
| 124 | 124 | } |