浏览代码

Consistent before callback returns

euromark 11 年之前
父节点
当前提交
122f2f5ca7

+ 3 - 5
Controller/QloginController.php

@@ -19,12 +19,10 @@ class QloginController extends ToolsAppController {
 		}
 		}
 	}
 	}
 
 
-	/****************************************************************************************
-	* ADMIN functions
-	****************************************************************************************/
-
 	/**
 	/**
 	 * Main login function
 	 * Main login function
+	 *
+	 * @return void
 	 */
 	 */
 	public function go($key = null) {
 	public function go($key = null) {
 		if (!$key) {
 		if (!$key) {
@@ -40,7 +38,7 @@ class QloginController extends ToolsAppController {
 			$this->Common->flashMessage(__('Invalid Key'), 'error');
 			$this->Common->flashMessage(__('Invalid Key'), 'error');
 			return $this->Common->autoRedirect($default);
 			return $this->Common->autoRedirect($default);
 		}
 		}
-		//die(returns($entry));
+
 		$alias = Configure::read('Qlogin.generator') ?: 'Token';
 		$alias = Configure::read('Qlogin.generator') ?: 'Token';
 		$uid = $entry[$alias]['user_id'];
 		$uid = $entry[$alias]['user_id'];
 		$url = $entry[$alias]['url'];
 		$url = $entry[$alias]['url'];

+ 2 - 1
Lib/EmailLib.php

@@ -401,9 +401,10 @@ class EmailLib extends CakeEmail {
 				if (!isset($fileInfo['file'])) {
 				if (!isset($fileInfo['file'])) {
 					throw new SocketException(__d('cake_dev', 'File not specified.'));
 					throw new SocketException(__d('cake_dev', 'File not specified.'));
 				}
 				}
+				$fileName = $fileInfo['file'];
 				$fileInfo['file'] = realpath($fileInfo['file']);
 				$fileInfo['file'] = realpath($fileInfo['file']);
 				if ($fileInfo['file'] === false || !file_exists($fileInfo['file'])) {
 				if ($fileInfo['file'] === false || !file_exists($fileInfo['file'])) {
-					throw new SocketException(__d('cake_dev', 'File not found: "%s"', $fileInfo['file']));
+					throw new SocketException(__d('cake_dev', 'File not found: "%s"', $fileName));
 				}
 				}
 				if (is_int($name)) {
 				if (is_int($name)) {
 					$name = basename($fileInfo['file']);
 					$name = basename($fileInfo['file']);

+ 7 - 5
Model/Behavior/SluggedBehavior.php

@@ -124,31 +124,32 @@ class SluggedBehavior extends ModelBehavior {
 	 * BeforeValidate method
 	 * BeforeValidate method
 	 *
 	 *
 	 * @param Model $Model
 	 * @param Model $Model
-	 * @return void
+	 * @return boolean Success
 	 */
 	 */
 	public function beforeValidate(Model $Model, $options = array()) {
 	public function beforeValidate(Model $Model, $options = array()) {
 		extract($this->settings[$Model->alias]);
 		extract($this->settings[$Model->alias]);
 		if ($run !== 'beforeValidate') {
 		if ($run !== 'beforeValidate') {
-			return;
+			return true;
 		}
 		}
 		if (is_string($this->settings[$Model->alias]['trigger'])) {
 		if (is_string($this->settings[$Model->alias]['trigger'])) {
 			if (!$Model->{$this->settings[$Model->alias]['trigger']}) {
 			if (!$Model->{$this->settings[$Model->alias]['trigger']}) {
-				return;
+				return true;
 			}
 			}
 		}
 		}
 		$this->generateSlug($Model);
 		$this->generateSlug($Model);
+		return true;
 	}
 	}
 
 
 	/**
 	/**
 	 * BeforeSave method
 	 * BeforeSave method
 	 *
 	 *
 	 * @param Model $Model
 	 * @param Model $Model
-	 * @return void
+	 * @return boolean Success
 	 */
 	 */
 	public function beforeSave(Model $Model, $options = array()) {
 	public function beforeSave(Model $Model, $options = array()) {
 		extract($this->settings[$Model->alias]);
 		extract($this->settings[$Model->alias]);
 		if ($run !== 'beforeSave') {
 		if ($run !== 'beforeSave') {
-			return;
+			return true;
 		}
 		}
 		if (is_string($this->settings[$Model->alias]['trigger'])) {
 		if (is_string($this->settings[$Model->alias]['trigger'])) {
 			if (!$Model->{$this->settings[$Model->alias]['trigger']}) {
 			if (!$Model->{$this->settings[$Model->alias]['trigger']}) {
@@ -156,6 +157,7 @@ class SluggedBehavior extends ModelBehavior {
 			}
 			}
 		}
 		}
 		$this->generateSlug($Model);
 		$this->generateSlug($Model);
+		return true;
 	}
 	}
 
 
 	/**
 	/**

+ 17 - 0
Test/Case/Model/Behavior/SluggedBehaviorTest.php

@@ -130,6 +130,23 @@ class SluggedBehaviorTest extends CakeTestCase {
 	}
 	}
 
 
 	/**
 	/**
+	 * Test slug generation/update on beforeSave
+	 *
+	 * @return void
+	 */
+	public function testSlugGenerationBeforeSave() {
+		$this->Model->Behaviors->unload('Slugged');
+		$this->Model->Behaviors->load('Tools.Slugged', array(
+			'run' => 'beforeSave', 'overwrite' => true));
+
+		$this->Model->create(array('name' => 'Some Article 25271'));
+		$result = $this->Model->save();
+
+		$result[$this->Model->alias]['id'] = $this->Model->id;
+		$this->assertEquals('Some-Article-25271', $result[$this->Model->alias]['slug']);
+	}
+
+	/**
 	 * Test slug generation with i18n replacement pieces
 	 * Test slug generation with i18n replacement pieces
 	 *
 	 *
 	 * @return void
 	 * @return void