diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 34d7bb0ab6..362ae67c7c 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -57,11 +57,13 @@ Yii Framework 2 Change Log - Enh #10056: Allowed any callable to be passed to `ActionColumn::$urlCreator` (freezy-sk) - Enh #10061: `yii\helpers\BaseInflector::transliterate()` is now public. Introduced different levels of transliteration strictness (silverfire) - Enh #10118: Allow easy extension of slug generation in `yii\behaviors\SluggableBehavior` (cebe, hesna) +- Enh #10149: Made `yii\db\Connection` serializable (Sam Mousa) - Enh: Added last resort measure for `FileHelper::removeDirectory()` fail to unlink symlinks under Windows (samdark) - Chg #9369: `Yii::$app->user->can()` now returns `false` instead of erroring in case `authManager` component is not configured (creocoder) - Chg #9411: `DetailView` now automatically sets container tag ID in case it's not specified (samdark) - Chg #9953: `TimestampBehavior::getValue()` changed to make value processing consistent with `AttributeBehavior::getValue()` (silverfire) - New #10083: Added wrapper for PHP webserver (samdark) +- Enh #10098: Changed `yii.confirm` context bind to triggered dom element. (lichunqiang) - Enh #10158: Added the possibility to specify CSS and Javascript options per file in `\yii\web\AssetBundle` (machour) 2.0.6 August 05, 2015 diff --git a/framework/UPGRADE.md b/framework/UPGRADE.md index ccad8a6fc5..9f789f3b81 100644 --- a/framework/UPGRADE.md +++ b/framework/UPGRADE.md @@ -25,7 +25,8 @@ initialization to support wider range of allowed characters. Because of this cha See the [Cache Flushing Guide](http://www.yiiframework.com/doc-2.0/guide-caching-data.html#cache-flushing) - If you implement `parseRequest()` or `createUrl()` and rely on parameter names, call `substitutePlaceholderNames()` in order to replace temporary IDs with parameter names after doing matching. - +* The context of `yii.confirm` function in `yii.js` was changed to the triggered dom element. + - If you rewrited the `yii.confirm` function, you can get the triggered dom element as: `this` or `$(this)` to get jquery object. Upgrade from Yii 2.0.5 ---------------------- diff --git a/framework/assets/yii.js b/framework/assets/yii.js index ccf1c96181..da43dd8865 100644 --- a/framework/assets/yii.js +++ b/framework/assets/yii.js @@ -329,7 +329,7 @@ yii = (function ($) { } if (message !== undefined) { - pub.confirm(message, function () { + $.proxy(pub.confirm, this)(message, function () { pub.handleAction($this, event); }); } else { diff --git a/framework/db/Connection.php b/framework/db/Connection.php index e1a1bc02aa..47a17e42ac 100644 --- a/framework/db/Connection.php +++ b/framework/db/Connection.php @@ -945,4 +945,14 @@ class Connection extends Component return null; } + + /** + * Close the connection before serializing. + * @return array + */ + public function __sleep() + { + $this->close(); + return array_keys((array) $this); + } } diff --git a/tests/framework/db/ConnectionTest.php b/tests/framework/db/ConnectionTest.php index d9084a3a16..2108baddc8 100644 --- a/tests/framework/db/ConnectionTest.php +++ b/tests/framework/db/ConnectionTest.php @@ -11,6 +11,7 @@ use yii\db\Transaction; */ class ConnectionTest extends DatabaseTestCase { + public function testConstruct() { $connection = $this->getConnection(false); @@ -42,6 +43,17 @@ class ConnectionTest extends DatabaseTestCase $connection->open(); } + public function testSerialize() + { + $connection = $this->getConnection(false, false); + $connection->open(); + $serialized = serialize($connection); + $unserialized = unserialize($serialized); + $this->assertInstanceOf('yii\db\Connection', $unserialized); + + $this->assertEquals(123, $connection->createCommand("SELECT 123")->queryScalar()); + } + public function testGetDriverName() { $connection = $this->getConnection(false, false);