Browse Source

Updating src files

Supporting CakePHP 3.7.0
Chris Hallgren 7 years ago
parent
commit
8d4df3615b

+ 3 - 2
composer.json

@@ -15,7 +15,8 @@
 	"require":{
 		"php": ">=5.6",
 		"cakephp/cakephp": "^3.7.0",
-		"dereuromark/cakephp-shim": "^1.7.0"
+		"dereuromark/cakephp-shim": "^1.7.0",
+		"ext-mbstring": "*"
 	},
 	"require-dev":{
 		"cakephp/chronos": "^1.0.1",
@@ -48,7 +49,7 @@
 		"phpstan": "phpstan analyse -c tests/phpstan.neon -l 3 src/",
 		"phpstan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan:^0.10.1 && mv composer.backup composer.json",
 		"test": "php phpunit.phar",
-		"test-setup": "[ ! -f phpunit.phar ] && wget https://phar.phpunit.de/phpunit-5.7.20.phar && mv phpunit-5.7.20.phar phpunit.phar || true",
+		"test-setup": "[ ! -f phpunit.phar ] && wget https://phar.phpunit.de/phpunit-6.5.13.phar && mv phpunit-6.5.13.phar phpunit.phar || true",
 		"test-coverage": "php phpunit.phar --log-junit webroot/coverage/unitreport.xml --coverage-html webroot/coverage --coverage-clover webroot/coverage/coverage.xml",
 		"cs-check": "phpcs -p --standard=vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml --extensions=php --ignore=/tests/test_files/ src/ tests/ config/",
 		"cs-fix": "phpcbf -v --standard=vendor/fig-r/psr2r-sniffer/PSR2R/ruleset.xml --extensions=php --ignore=/tests/test_files/ src/ tests/ config/"

+ 26 - 21
src/Controller/Component/CommonComponent.php

@@ -28,11 +28,11 @@ class CommonComponent extends Component {
 		if ($this->Controller->request->getData() && !Configure::read('DataPreparation.notrim')) {
 			$this->Controller->request->data = Utility::trimDeep($this->Controller->request->getData());
 		}
-		if ($this->Controller->request->getQuery() && !Configure::read('DataPreparation.notrim')) {
-			$this->Controller->request->query = Utility::trimDeep($this->Controller->request->getQuery());
+		if ($this->Controller->getRequest()->getQuery() && !Configure::read('DataPreparation.notrim')) {
+			$this->Controller->setRequest($this->Controller->getRequest()->withQueryParams(Utility::trimDeep($this->Controller->getRequest()->getQuery())));
 		}
-		if ($this->Controller->request->getParam('pass') && !Configure::read('DataPreparation.notrim')) {
-			$this->Controller->request->params['pass'] = Utility::trimDeep($this->Controller->request->getParam('pass'));
+		if ($this->Controller->getRequest()->getParam('pass') && !Configure::read('DataPreparation.notrim')) {
+			$this->Controller->setRequest($this->Controller->getRequest()->withParam('pass', Utility::trimDeep($this->Controller->getRequest()->getParam('pass'))));
 		}
 	}
 
@@ -51,7 +51,7 @@ class CommonComponent extends Component {
 	 * @return string|array
 	 */
 	public function getSafeRedirectUrl($default, $data = null, $key = 'redirect') {
-		$redirectUrl = $data ?: ($this->Controller->request->getData($key) ?: $this->Controller->request->getQuery($key));
+		$redirectUrl = $data ?: ($this->Controller->getRequest()->getData($key) ?: $this->Controller->getRequest()->getQuery($key));
 		if ($redirectUrl && (substr($redirectUrl, 0, 1) !== '/' || substr($redirectUrl, 0, 2) === '//')) {
 			$redirectUrl = null;
 		}
@@ -85,7 +85,7 @@ class CommonComponent extends Component {
 	 * @return bool If it is of type POST/PUT/PATCH
 	 */
 	public function isPosted() {
-		return $this->Controller->request->is(['post', 'put', 'patch']);
+		return $this->Controller->getRequest()->is(['post', 'put', 'patch']);
 	}
 
 	/**
@@ -120,7 +120,7 @@ class CommonComponent extends Component {
 	 * @return void
 	 */
 	public function loadHelper($helpers = []) {
-		$this->Controller->helpers = array_merge($this->Controller->helpers, (array)$helpers);
+		$this->Controller->viewBuilder()->setHelpers((array)$helpers, true);
 	}
 
 	/**
@@ -131,7 +131,8 @@ class CommonComponent extends Component {
 	 * @return mixed
 	 */
 	public function getPassedParam($var, $default = null) {
-		$passed = $this->Controller->request->getParam('pass');
+		$passed = $this->Controller->getRequest()->getParam('pass');
+
 		return (isset($passed[$var])) ? $passed[$var] : $default;
 	}
 
@@ -157,14 +158,14 @@ class CommonComponent extends Component {
 	 * @return mixed URL
 	 */
 	public function currentUrl($asString = false) {
-		$action = $this->Controller->request->getParam('action');
+		$action = $this->Controller->getRequest()->getParam('action');
 
-		$passed = (array)$this->Controller->request->getParam('pass');
+		$passed = (array)$this->Controller->getRequest()->getParam('pass');
 		$url = [
-			'prefix' => $this->Controller->request->getParam('prefix'),
-			'plugin' => $this->Controller->request->getParam('plugin'),
+			'prefix' => $this->Controller->getRequest()->getParam('prefix'),
+			'plugin' => $this->Controller->getRequest()->getParam('plugin'),
 			'action' => $action,
-			'controller' => $this->Controller->request->getParam('controller'),
+			'controller' => $this->Controller->getRequest()->getParam('controller'),
 		];
 		$url = array_merge($passed, $url);
 
@@ -184,7 +185,7 @@ class CommonComponent extends Component {
 	 * @return \Cake\Http\Response
 	 */
 	public function autoRedirect($whereTo, $allowSelf = false, $status = 302) {
-		if ($allowSelf || $this->Controller->referer(null, true) !== '/' . $this->Controller->request->url) {
+		if ($allowSelf || $this->Controller->referer(null, true) !== $this->Controller->getRequest()->getRequestTarget()) {
 			return $this->Controller->redirect($this->Controller->referer($whereTo, true), $status);
 		}
 		return $this->Controller->redirect($whereTo, $status);
@@ -222,7 +223,7 @@ class CommonComponent extends Component {
 		}
 
 		if (!empty($referer)) {
-			$referer = Router::parse($referer);
+			$referer = Router::getRouteCollection()->parse($referer);
 		}
 
 		if ($conditionalAutoRedirect && !empty($this->Controller->autoRedirectActions) && is_array($referer) && !empty($referer['action'])) {
@@ -242,7 +243,7 @@ class CommonComponent extends Component {
 				if (!empty($controller) && $refererController !== '*' && $refererController !== $controller) {
 					continue;
 				}
-				if (empty($controller) && $refererController !== $this->Controller->request->getParam('controller')) {
+				if (empty($controller) && $refererController !== $this->Controller->getRequest()->getParam('controller')) {
 					continue;
 				}
 				if (!in_array($referer['action'], (array)$this->Controller->autoRedirectActions, true)) {
@@ -265,12 +266,12 @@ class CommonComponent extends Component {
 	 */
 	public function completeRedirect($url = null, $status = 302) {
 		if ($url === null) {
-			$url = $this->Controller->request->params;
+			$url = $this->Controller->getRequest()->params;
 			unset($url['pass']);
 			unset($url['isAjax']);
 		}
 		if (is_array($url)) {
-			$url += $this->Controller->request->params['pass'];
+			$url += $this->Controller->getRequest()->params['pass'];
 		}
 		return $this->Controller->redirect($url, $status);
 	}
@@ -283,9 +284,13 @@ class CommonComponent extends Component {
 	 * @return void
 	 */
 	public function forceCache($seconds = HOUR) {
-		$this->Controller->response->header('Cache-Control', 'public, max-age=' . $seconds);
-		$this->Controller->response->header('Last-modified', gmdate('D, j M Y H:i:s', time()) . ' GMT');
-		$this->Controller->response->header('Expires', gmdate('D, j M Y H:i:s', time() + $seconds) . ' GMT');
+		$response = $this->Controller->getResponse();
+
+		$response = $response->withHeader('Cache-Control', 'public, max-age=' . $seconds)
+			->withHeader('Last-modified', gmdate('D, j M Y H:i:s', time()) . ' GMT')
+			->withHeader('Expires', gmdate('D, j M Y H:i:s', time() + $seconds) . ' GMT');
+
+		$this->Controller->setResponse($response);
 	}
 
 	/**

+ 8 - 8
src/Controller/Component/MobileComponent.php

@@ -95,14 +95,14 @@ class MobileComponent extends Component {
 	 * @return void
 	 */
 	protected function _init() {
-		$mobileOverwrite = $this->Controller->request->query('mobile');
+		$mobileOverwrite = $this->Controller->getRequest()->getQuery('mobile');
 
 		if ($mobileOverwrite !== null) {
 			if ($mobileOverwrite === '-1') {
-				$this->request->getSession()->delete('User.mobile');
+				$this->Controller->getRequest()->getSession()->delete('User.mobile');
 			} else {
 				$wantsMobile = (bool)$mobileOverwrite;
-				$this->request->getSession()->write('User.mobile', (int)$wantsMobile);
+				$this->Controller->getRequest()->getSession()->write('User.mobile', (int)$wantsMobile);
 			}
 		}
 		$this->isMobile();
@@ -125,7 +125,7 @@ class MobileComponent extends Component {
 		if ($this->isMobile === null) {
 			$this->isMobile();
 		}
-		$forceMobile = $this->request->getSession()->read('User.mobile');
+		$forceMobile = $this->Controller->getRequest()->getSession()->read('User.mobile');
 
 		if ($forceMobile !== null && !$forceMobile) {
 			$this->setMobile = false;
@@ -162,8 +162,8 @@ class MobileComponent extends Component {
 			return;
 		}
 
-		$this->Controller->viewBuilder()->className('Theme');
-		$this->Controller->viewBuilder()->theme('Mobile');
+		$this->Controller->viewBuilder()->setClassName('Theme');
+		$this->Controller->viewBuilder()->setTheme('Mobile');
 	}
 
 	/**
@@ -200,9 +200,9 @@ class MobileComponent extends Component {
 		// Deprecated - the vendor libs are far more accurate and up to date
 		if (!$this->_config['engine']) {
 			if (isset($this->Controller->RequestHandler)) {
-				return $this->Controller->RequestHandler->isMobile();
+				return $this->Controller->getRequest()->is('mobile') || $this->Controller->RequestHandler->accepts('wap');
 			}
-			return $this->Controller->request->is('mobile');
+			return $this->Controller->getRequest()->is('mobile');
 		}
 		if (is_callable($this->_config['engine'])) {
 			return call_user_func($this->_config['engine']);

+ 1 - 1
src/Controller/Component/UrlComponent.php

@@ -111,7 +111,7 @@ class UrlComponent extends Component {
 		if (!isset($url['?'])) {
 			$url['?'] = [];
 		}
-		$url['?'] += $this->request->getQuery();
+		$url['?'] += $this->Controller->getRequest()->getQuery();
 
 		return $url;
 	}

+ 2 - 2
src/Controller/ShuntRequestController.php

@@ -30,7 +30,7 @@ class ShuntRequestController extends AppController {
 	 * @throws \RuntimeException
 	 */
 	public function language($language = null) {
-		$this->request->allowMethod(['post']);
+		$this->getRequest()->allowMethod(['post']);
 
 		$allowedLanguages = (array)Configure::read('Config.allowedLanguages');
 		if (!$language) {
@@ -46,7 +46,7 @@ class ShuntRequestController extends AppController {
 		}
 		$language = $allowedLanguages[$language];
 
-		$this->request->getSession()->write('Config.language', $language['locale']);
+		$this->getRequest()->getSession()->write('Config.language', $language['locale']);
 		I18n::setLocale($language['locale']);
 		$this->Flash->success(__d('tools', 'Language switched to {0}', $language['name']));
 		return $this->redirect($this->referer('/', true));

+ 1 - 1
src/Mailer/Email.php

@@ -152,7 +152,7 @@ class Email extends CakeEmail {
 			$fromName = Configure::read('Config.adminName');
 		}
 		if ($fromEmail) {
-			$this->from($fromEmail, $fromName);
+			$this->setFrom($fromEmail, $fromName);
 		}
 
 		$xMailer = Configure::read('Config.xMailer');