function updateConfigPhp($configFile) { global $updatedFileManagerConf; $fileContent = file_get_contents($configFile); if (strpos($fileContent, '\\CoasterCms\\Helpers\\FileManager::filemanager_set_permissions(') !== false) { \CoasterCms\Helpers\Cms\File\File::replaceString($configFile, 'filemanager_set_permissions(', '\\CoasterCms\\Helpers\\Admin\\FileManager::filemanager_set_permissions('); $updatedFileManagerConf = true; } elseif (strpos($fileContent, 'filemanager_set_permissions(') !== false && strpos($fileContent, '\\CoasterCms\\Helpers\\Admin\\FileManager::filemanager_set_permissions(') === false) { \CoasterCms\Helpers\Cms\File\File::replaceString($configFile, '\\CoasterCms\\Helpers\\FileManager::', '\\CoasterCms\\Helpers\\Admin\\FileManager::'); $updatedFileManagerConf = true; } }
public function saveDatabaseSettings() { $details = Request::all(); $v = Validator::make($details, ['user' => 'required', 'name' => 'required']); if (!$v->passes()) { FormMessage::set($v->messages()); return $this->setupDatabase(); } $hostPort = explode(':', $details['host']); if (count($hostPort) === 2 && (int) $hostPort[1]) { list($details['host'], $port) = $hostPort; } try { $host = ($details['host'] ?: 'localhost') . (isset($port) ? ';port=' . $port : ''); new \PDO('mysql:dbname=' . $details['name'] . ';host=' . $host, $details['user'], $details['password']); } catch (\PDOException $e) { switch ($e->getCode()) { case 1045: FormMessage::add('user', $e->getMessage()); break; case 1049: FormMessage::add('name', $e->getMessage()); break; case 2003: case 2005: FormMessage::add('host', $e->getMessage()); break; default: FormMessage::add('host', $e->getMessage()); } return $this->setupDatabase(); } $updateEnv = ['DB_HOST' => $details['host'], 'DB_DATABASE' => $details['name'], 'DB_PREFIX' => !empty($details['prefix']) ? $details['prefix'] : '', 'DB_USERNAME' => $details['user'], 'DB_PASSWORD' => $details['password']]; if (isset($port)) { $updateEnv['DB_PORT'] = $port; } try { $envFileContents = File::getEnvContents(); $dotEnv = new Dotenv(base_path(), File::getEnvFile()); foreach ($dotEnv->load() as $env) { $envParts = explode('=', $env); if (key_exists($envParts[0], $updateEnv)) { $envFileContents = str_replace($env, $envParts[0] . '=' . $updateEnv[$envParts[0]], $envFileContents); } } file_put_contents(base_path('.env'), $envFileContents); Artisan::call('key:generate'); } catch (\Exception $e) { FormMessage::add('host', 'can\'t write settings to the .env file, check it is writable for the installation'); return $this->setupDatabase(); } Install::setInstallState('coaster.install.databaseMigrate'); return \redirect()->route('coaster.install.databaseMigrate'); }
$response = $guzzleClient->request('POST', 'http://download.jqueryui.com/download', ['form_params' => ['theme' => 'ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fsDefault=1.1em&fwDefault=bold&cornerRadius=2px&bgColorHeader=%23eb5b4f&bgTextureHeader=flat&borderColorHeader=%23eb5b4f&fcHeader=%23fff&iconColorHeader=%23ffffff&bgColorContent=%23fff&bgTextureContent=highlight_soft&borderColorContent=%23dddddd&fcContent=%23333333&iconColorContent=%23222222&bgColorDefault=%23fff&bgTextureDefault=glass&borderColorDefault=%23ccc&fcDefault=%23333&iconColorDefault=%23333&bgColorHover=%2300184a&bgTextureHover=inset_soft&borderColorHover=%2300184a&fcHover=%23fff&iconColorHover=%23fff&bgColorActive=%23ffffff&bgTextureActive=glass&borderColorActive=%23eb5b4f&fcActive=%23eb5b4f&iconColorActive=%23eb5b4f&bgColorHighlight=%2300184a&bgTextureHighlight=highlight_soft&borderColorHighlight=%2300184a&fcHighlight=%23fff&iconColorHighlight=%23fff&bgColorError=%23b81900&bgTextureError=diagonals_thick&borderColorError=%23cd0a0a&fcError=%23ffffff&iconColorError=%23ffd27a&bgColorOverlay=%23eb5b4f&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=80&bgColorShadow=%23000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=1&thicknessShadow=20px&offsetTopShadow=5px&offsetLeftShadow=5px&cornerRadiusShadow=5px&bgImgOpacityHeader=35&bgImgOpacityContent=0&bgImgOpacityDefault=0&bgImgOpacityHover=20&bgImgOpacityActive=65&bgImgOpacityHighlight=20&bgImgOpacityError=18', 'core' => 'on', 'widget' => 'on', 'mouse' => 'on', 'position' => 'on', 'draggable' => 'on', 'droppable' => 'on', 'resizable' => 'on', 'selectable' => 'on', 'sortable' => 'on', 'accordion' => 'on', 'autocomplete' => 'on', 'button' => 'on', 'datepicker' => 'on', 'dialog' => 'on', 'menu' => 'on', 'progressbar' => 'on', 'selectmenu' => 'on', 'slider' => 'on', 'spinner' => 'on', 'effect' => 'on', 'effect-blind' => 'on', 'effect-bounce' => 'on', 'effect-clip' => 'on', 'effect-drop' => 'on', 'effect-explode' => 'on', 'effect-fade' => 'on', 'effect-fold' => 'on', 'effect-highlight' => 'on', 'effect-puff' => 'on', 'effect-pulsate' => 'on', 'effect-scale' => 'on', 'effect-shake' => 'on', 'effect-size' => 'on', 'effect-slide' => 'on', 'effect-transfer' => 'on', 'version' => '1.11.4'], 'sink' => $jQueryUIZip]); $zip = new \CoasterCms\Helpers\Cms\File\Zip(); $zip->open($jQueryUIZip); $zip->extractDir('jquery-ui-1.11.4.custom', public_path('coaster/jquery-ui')); $zip->close(); unlink($jQueryUIZip); echo "."; $timePickerZip = public_path('coaster/jquery-ui/jQuery-Timepicker-Addon-1.4.zip'); $timePickerFile = public_path('coaster/jquery-ui/jquery-ui-timepicker-addon.js'); $response = $guzzleClient->request('GET', 'https://github.com/trentrichardson/jQuery-Timepicker-Addon/archive/v1.4.zip', ['sink' => $timePickerZip]); $zip = new \CoasterCms\Helpers\Cms\File\Zip(); $zip->open($timePickerZip); $zip->extractFile('jQuery-Timepicker-Addon-1.4/dist/jquery-ui-timepicker-addon.js', $timePickerFile); $zip->close(); unlink($timePickerZip); \CoasterCms\Helpers\Cms\File\File::replaceString($timePickerFile, 'formattedDateTime += this._defaults.separator + this.formattedTime + this._defaults.timeSuffix;', 'formattedDateTime = this.formattedTime + this._defaults.timeSuffix + this._defaults.separator + formattedDateTime;'); echo "."; $response = $guzzleClient->request('GET', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.2/jquery.ui.touch-punch.min.js', ['sink' => public_path('coaster/jquery-ui/jquery.ui.touch-punch.min.js')]); $assetsVersions['jquery-ui'] = '1.11.4'; file_put_contents($assetsFile, json_encode($assetsVersions)); echo " done\n"; } /* * Securimage */ if (empty($assetsVersions['securimage']) || $force || version_compare($assetsVersions['securimage'], '3.6.3', '<')) { echo "Coaster Framework: Updating securimage captcha ."; $secureImageZip = public_path('coaster/securimage-3.6.3.zip'); $client = new \GuzzleHttp\Client(); $response = $guzzleClient->request('GET', 'https://github.com/dapphp/securimage/archive/3.6.3.zip', ['sink' => $secureImageZip]); echo ".";