Browse Source

Ease migration by providing the BC wrappers in 2.5 to already use the 3.x way.

euromark 11 years ago
parent
commit
99ba211181

+ 10 - 0
Test/Case/View/Helper/FormExtHelperTest.php

@@ -37,6 +37,16 @@ class FormExtHelperTest extends MyCakeTestCase {
 	}
 
 	/**
+	 * FormExtHelperTest::testPostLinkShim()
+	 *
+	 * @return void
+	 */
+	public function testPostLinkShim() {
+		$result = $this->Form->postLink('foo', '/bar', array('confirm' => 'Confirm me'));
+		$this->assertTextContains('onclick="if (confirm("Confirm me")) {', $result);
+	}
+
+	/**
 	 * FormExtHelperTest::testDeleteLink()
 	 *
 	 * @return void

+ 13 - 2
Test/Case/View/Helper/HtmlExtHelperTest.php

@@ -22,7 +22,7 @@ class HtmlExtHelperTest extends MyCakeTestCase {
 	}
 
 	/**
-	 * MyHelperTest::testTime()
+	 * HtmlExtHelperTest::testTime()
 	 *
 	 * @return void
 	 */
@@ -36,7 +36,18 @@ class HtmlExtHelperTest extends MyCakeTestCase {
 	}
 
 	/**
-	 * MyHelperTest::testImageFromBlob()
+	 * HtmlExtHelperTest::testLinkShim()
+	 *
+	 * @return void
+	 */
+	public function testLinkShim() {
+		$result = $this->Html->link('foo', '/bar', array('confirm' => 'Confirm me'));
+		$expected = '<a href="/bar" onclick="if (confirm(&quot;Confirm me&quot;)) { return true; } return false;">foo</a>';
+		$this->assertEquals($expected, $result);
+	}
+
+	/**
+	 * HtmlExtHelperTest::testImageFromBlob()
 	 *
 	 * @return void
 	 */

+ 7 - 0
View/Helper/FormExtHelper.php

@@ -80,12 +80,19 @@ class FormExtHelper extends FormHelper {
 	 *
 	 * @see FormHelper::postLink for details
 	 *
+	 * Shim option
+	 * - confirm: replaces 3rd param
+	 *
 	 * @return string
 	 */
 	public function postLink($title, $url = null, $options = array(), $confirmMessage = false) {
 		if (!isset($options['class'])) {
 			$options['class'] = 'post-link postLink';
 		}
+		if (isset($options['confirm'])) {
+			$confirmMessage = $options['confirm'];
+			unset($options['confirm']);
+		}
 		return parent::postLink($title, $url, $options, $confirmMessage);
 	}
 

+ 18 - 0
View/Helper/HtmlExtHelper.php

@@ -96,6 +96,24 @@ class HtmlExtHelper extends HtmlHelper {
 	}
 
 	/**
+	 * HtmlExtHelper::link()
+	 *
+	 * Shim option
+	 * - confirm: replaces 4th param
+	 *
+	 * @see HtmlHelper::link for details
+	 *
+	 * @return string
+	 */
+	public function link($title, $url = null, $options = array(), $confirmMessage = false) {
+		if (isset($options['confirm'])) {
+			$confirmMessage = $options['confirm'];
+			unset($options['confirm']);
+		}
+		return parent::link($title, $url, $options, $confirmMessage);
+	}
+
+	/**
 	 * Keep named and query params for pagination/filter after edit etc.
 	 *
 	 * @params same as Html::link($title, $url, $options, $confirmMessage)