Browse Source

Merge branch 'master' of github.com:yiisoft/yii2

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
b07ac2810e
  1. 1
      apps/advanced/backend/config/AppAsset.php
  2. 1
      apps/advanced/backend/config/params.php
  3. 61
      apps/advanced/backend/views/layouts/main.php
  4. 52
      apps/advanced/backend/views/site/index.php
  5. 8
      apps/advanced/backend/views/site/login.php
  6. 73
      apps/advanced/backend/web/css/site.css
  7. 1
      apps/advanced/console/config/params.php
  8. 1
      apps/advanced/frontend/config/AppAsset.php
  9. 1
      apps/advanced/frontend/config/params.php
  10. 49
      apps/advanced/frontend/views/layouts/main.php
  11. 8
      apps/advanced/frontend/views/site/about.php
  12. 15
      apps/advanced/frontend/views/site/contact.php
  13. 52
      apps/advanced/frontend/views/site/index.php
  14. 13
      apps/advanced/frontend/views/site/login.php
  15. 10
      apps/advanced/frontend/views/site/requestPasswordResetToken.php
  16. 8
      apps/advanced/frontend/views/site/resetPassword.php
  17. 8
      apps/advanced/frontend/views/site/signup.php
  18. 73
      apps/advanced/frontend/web/css/site.css
  19. 1
      framework/yii/captcha/Captcha.php
  20. 1
      framework/yii/data/ArrayDataProvider.php
  21. 1
      tests/unit/TestCase.php
  22. 2
      tests/unit/data/ar/Customer.php
  23. 2
      tests/unit/data/base/InvalidRulesModel.php
  24. 1
      tests/unit/data/base/Singer.php
  25. 1
      tests/unit/data/base/Speaker.php
  26. 5
      tests/unit/data/config.php
  27. 1
      tests/unit/framework/base/BehaviorTest.php
  28. 1
      tests/unit/framework/base/ModelTest.php
  29. 3
      tests/unit/framework/behaviors/AutoTimestampTest.php
  30. 1
      tests/unit/framework/caching/ApcCacheTest.php
  31. 3
      tests/unit/framework/caching/CacheTestCase.php
  32. 2
      tests/unit/framework/caching/DbCacheTest.php
  33. 1
      tests/unit/framework/caching/FileCacheTest.php
  34. 1
      tests/unit/framework/caching/MemCacheTest.php
  35. 1
      tests/unit/framework/caching/MemCachedTest.php
  36. 1
      tests/unit/framework/caching/WinCacheTest.php
  37. 1
      tests/unit/framework/caching/XCacheTest.php
  38. 1
      tests/unit/framework/caching/ZendDataCacheTest.php
  39. 2
      tests/unit/framework/console/controllers/AssetControllerTest.php
  40. 2
      tests/unit/framework/data/SortTest.php
  41. 61
      tests/unit/framework/db/CommandTest.php
  42. 12
      tests/unit/framework/db/ConnectionTest.php
  43. 1
      tests/unit/framework/db/QueryBuilderTest.php
  44. 20
      tests/unit/framework/db/QueryTest.php
  45. 6
      tests/unit/framework/db/mssql/MssqlCommandTest.php
  46. 6
      tests/unit/framework/db/mssql/MssqlConnectionTest.php
  47. 20
      tests/unit/framework/db/pgsql/PostgreSQLConnectionTest.php
  48. 1
      tests/unit/framework/db/pgsql/PostgreSQLQueryBuilderTest.php
  49. 1
      tests/unit/framework/db/sqlite/SqliteQueryBuilderTest.php
  50. 1
      tests/unit/framework/helpers/ConsoleTest.php
  51. 3
      tests/unit/framework/helpers/FileHelperTest.php
  52. 3
      tests/unit/framework/helpers/JsonTest.php
  53. 1
      tests/unit/framework/helpers/StringHelperTest.php
  54. 1
      tests/unit/framework/helpers/VarDumperTest.php
  55. 3
      tests/unit/framework/requirements/YiiRequirementCheckerTest.php
  56. 1
      tests/unit/framework/validators/EmailValidatorTest.php

1
apps/advanced/backend/config/AppAsset.php

@ -6,6 +6,7 @@
*/
namespace backend\config;
use yii\web\AssetBundle;
/**

1
apps/advanced/backend/config/params.php

@ -1,5 +1,4 @@
<?php
return array(
'adminEmail' => 'admin@example.com',
);

61
apps/advanced/backend/views/layouts/main.php

@ -1,7 +1,8 @@
<?php
use backend\config\AppAsset;
use yii\helpers\Html;
use yii\widgets\Menu;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
/**
@ -19,45 +20,45 @@ AppAsset::register($this);
<?php $this->head(); ?>
</head>
<body>
<div class="container">
<?php $this->beginBody(); ?>
<div class="masthead">
<h3 class="muted">My Company</h3>
<div class="navbar fullwidth">
<div class="navbar-inner">
<div class="container">
<?php echo Menu::widget(array(
'options' => array('class' => 'nav'),
'items' => array(
array('label' => 'Home', 'url' => array('/site/index')),
Yii::$app->user->isGuest ?
array('label' => 'Login', 'url' => array('/site/login')) :
array('label' => 'Logout (' . Yii::$app->user->identity->username .')' , 'url' => array('/site/logout')),
<?php
NavBar::begin(array(
'brandLabel' => 'My Company',
'brandUrl' => Yii::$app->homeUrl,
'options' => array(
'class' => 'navbar-inverse navbar-fixed-top',
),
)); ?>
</div>
</div>
</div>
<!-- /.navbar -->
</div>
));
$menuItems = array(
array('label' => 'Home', 'url' => array('/site/index')),
);
if (Yii::$app->user->isGuest) {
$menuItems[] = array('label' => 'Login', 'url' => array('/site/login'));
} else {
$menuItems[] = array('label' => 'Logout (' . Yii::$app->user->identity->username .')' , 'url' => array('/site/logout'));
}
echo Nav::widget(array(
'options' => array('class' => 'navbar-nav pull-right'),
'items' => $menuItems,
));
NavBar::end();
?>
<div class="container">
<?php echo Breadcrumbs::widget(array(
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : array(),
)); ?>
<?php echo $content; ?>
</div>
<hr>
<div class="footer">
<p>&copy; My Company <?php echo date('Y'); ?></p>
<p>
<?php echo Yii::powered(); ?>
Template by <a href="http://twitter.github.io/bootstrap/">Twitter Bootstrap</a>
</p>
<footer class="footer">
<div class="container">
<p class="pull-left">&copy; My Company <?php echo date('Y'); ?></p>
<p class="pull-right"><?php echo Yii::powered(); ?></p>
</div>
</footer>
<?php $this->endBody(); ?>
</div>
</body>
</html>
<?php $this->endPage(); ?>

52
apps/advanced/backend/views/site/index.php

@ -2,46 +2,52 @@
/**
* @var yii\base\View $this
*/
$this->title = 'Welcome';
$this->title = 'My Yii Application';
?>
<div class="site-index">
<div class="jumbotron">
<h1>Welcome!</h1>
<h1>Congratulations!</h1>
<p class="lead">You have successfully created your Yii-powered application.</p>
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus
commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<a class="btn btn-large btn-success" href="http://www.yiiframework.com">Get started with Yii</a>
<p><a class="btn btn-large btn-success" href="http://www.yiiframework.com">Get started with Yii</a></p>
</div>
<hr>
<div class="body-content">
<!-- Example row of columns -->
<div class="row-fluid">
<div class="span4">
<div class="row">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris
condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod.
Donec sed odio dui. </p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/doc/">Yii Documentation &raquo;</a></p>
</div>
<div class="span4">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris
condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod.
Donec sed odio dui. </p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/forum/">Yii Forum &raquo;</a></p>
</div>
<div class="span4">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta
felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum
massa.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/extensions/">Yii Extensions &raquo;</a></p>
</div>
</div>
</div>
</div>

8
apps/advanced/backend/views/site/login.php

@ -10,11 +10,14 @@ use yii\widgets\ActiveForm;
$this->title = 'Login';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-login">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>Please fill out the following fields to login:</p>
<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'login-form')); ?>
<?php echo $form->field($model, 'username')->textInput(); ?>
<?php echo $form->field($model, 'password')->passwordInput(); ?>
<?php echo $form->field($model, 'rememberMe')->checkbox(); ?>
@ -22,3 +25,6 @@ $this->params['breadcrumbs'][] = $this->title;
<?php echo Html::submitButton('Login', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

73
apps/advanced/backend/web/css/site.css

@ -1,78 +1,19 @@
body {
padding-top: 20px;
padding-bottom: 60px;
padding-top: 70px;
}
/* Custom container */
.container {
margin: 0 auto;
max-width: 1000px;
.footer {
border-top: 1px solid #ddd;
margin-top: 30px;
padding-top: 15px;
padding-bottom: 30px;
}
.container > hr {
margin: 60px 0;
}
/* Main marketing message and sign up button */
.jumbotron {
margin: 80px 0;
text-align: center;
background-color: transparent;
}
.jumbotron h1 {
font-size: 100px;
line-height: 1;
}
.jumbotron .lead {
font-size: 24px;
line-height: 1.25;
}
.jumbotron .btn {
font-size: 21px;
padding: 14px 24px;
}
/* Supporting marketing content */
.marketing {
margin: 60px 0;
}
.marketing p + h4 {
margin-top: 28px;
}
/* Customize the navbar links to be fill the entire space of the .navbar */
.navbar.fullwidth .navbar-inner {
padding: 0;
}
.navbar.fullwidth .nav {
margin: 0;
display: table;
width: 100%;
}
.navbar.fullwidth .nav li {
display: table-cell;
width: 1%;
float: none;
}
.navbar.fullwidth .nav li a {
font-weight: bold;
text-align: center;
border-left: 1px solid rgba(255, 255, 255, .75);
border-right: 1px solid rgba(0, 0, 0, .1);
}
.navbar.fullwidth .nav li:first-child a {
border-left: 0;
border-radius: 3px 0 0 3px;
}
.navbar.fullwidth .nav li:last-child a {
border-right: 0;
border-radius: 0 3px 3px 0;
}

1
apps/advanced/console/config/params.php

@ -1,5 +1,4 @@
<?php
return array(
'adminEmail' => 'admin@example.com',
);

1
apps/advanced/frontend/config/AppAsset.php

@ -6,6 +6,7 @@
*/
namespace frontend\config;
use yii\web\AssetBundle;
/**

1
apps/advanced/frontend/config/params.php

@ -1,5 +1,4 @@
<?php
return array(
'adminEmail' => 'admin@example.com',
);

49
apps/advanced/frontend/views/layouts/main.php

@ -1,7 +1,8 @@
<?php
use frontend\config\AppAsset;
use yii\helpers\Html;
use yii\widgets\Menu;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use frontend\widgets\Alert;
@ -20,15 +21,15 @@ AppAsset::register($this);
<?php $this->head(); ?>
</head>
<body>
<div class="container">
<?php $this->beginBody(); ?>
<div class="masthead">
<h3 class="muted">My Company</h3>
<div class="navbar fullwidth">
<div class="navbar-inner">
<div class="container">
<?php
NavBar::begin(array(
'brandLabel' => 'My Company',
'brandUrl' => Yii::$app->homeUrl,
'options' => array(
'class' => 'navbar-inverse navbar-fixed-top',
),
));
$menuItems = array(
array('label' => 'Home', 'url' => array('/site/index')),
array('label' => 'About', 'url' => array('/site/about')),
@ -37,40 +38,32 @@ AppAsset::register($this);
if (Yii::$app->user->isGuest) {
$menuItems[] = array('label' => 'Signup', 'url' => array('/site/signup'));
$menuItems[] = array('label' => 'Login', 'url' => array('/site/login'));
}
else {
} else {
$menuItems[] = array('label' => 'Logout (' . Yii::$app->user->identity->username .')' , 'url' => array('/site/logout'));
}
echo Menu::widget(array(
'options' => array('class' => 'nav'),
echo Nav::widget(array(
'options' => array('class' => 'navbar-nav pull-right'),
'items' => $menuItems,
));
NavBar::end();
?>
</div>
</div>
</div>
<!-- /.navbar -->
</div>
<div class="container">
<?php echo Breadcrumbs::widget(array(
'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : array(),
)); ?>
<?php echo Alert::widget()?>
<?php echo $content; ?>
</div>
<hr>
<div class="footer">
<p>&copy; My Company <?php echo date('Y'); ?></p>
<p>
<?php echo Yii::powered(); ?>
Template by <a href="http://twitter.github.io/bootstrap/">Twitter Bootstrap</a>
</p>
<footer class="footer">
<div class="container">
<p class="pull-left">&copy; My Company <?php echo date('Y'); ?></p>
<p class="pull-right"><?php echo Yii::powered(); ?></p>
</div>
</footer>
<?php $this->endBody(); ?>
</div>
</body>
</html>
<?php $this->endPage(); ?>

8
apps/advanced/frontend/views/site/about.php

@ -1,16 +1,16 @@
<?php
use yii\helpers\Html;
/**
* @var yii\base\View $this
*/
$this->title = 'About';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-about">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>
This is the About page. You may modify the following file to customize its content:
</p>
<p>This is the About page. You may modify the following file to customize its content:</p>
<code><?php echo __FILE__; ?></code>
</div>

15
apps/advanced/frontend/views/site/contact.php

@ -11,24 +11,29 @@ use yii\captcha\Captcha;
$this->title = 'Contact';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-contact">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>
If you have business inquiries or other questions, please fill out the following form to contact us. Thank you.
</p>
<?php $form = ActiveForm::begin(array(
'options' => array('class' => 'form-horizontal'),
'fieldConfig' => array('inputOptions' => array('class' => 'input-xlarge')),
)); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'contact-form')); ?>
<?php echo $form->field($model, 'name')->textInput(); ?>
<?php echo $form->field($model, 'email')->textInput(); ?>
<?php echo $form->field($model, 'subject')->textInput(); ?>
<?php echo $form->field($model, 'body')->textArea(array('rows' => 6)); ?>
<?php echo $form->field($model, 'verifyCode')->widget(Captcha::className(), array(
'options' => array('class' => 'input-medium'),
'options' => array('class' => 'form-control'),
'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>',
)); ?>
<div class="form-actions">
<?php echo Html::submitButton('Submit', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

52
apps/advanced/frontend/views/site/index.php

@ -2,46 +2,52 @@
/**
* @var yii\base\View $this
*/
$this->title = 'Welcome';
$this->title = 'My Yii Application';
?>
<div class="site-index">
<div class="jumbotron">
<h1>Welcome!</h1>
<h1>Congratulations!</h1>
<p class="lead">You have successfully created your Yii-powered application.</p>
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus
commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
<a class="btn btn-large btn-success" href="http://www.yiiframework.com">Get started with Yii</a>
<p><a class="btn btn-large btn-success" href="http://www.yiiframework.com">Get started with Yii</a></p>
</div>
<hr>
<div class="body-content">
<!-- Example row of columns -->
<div class="row-fluid">
<div class="span4">
<div class="row">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris
condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod.
Donec sed odio dui. </p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/doc/">Yii Documentation &raquo;</a></p>
</div>
<div class="span4">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris
condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod.
Donec sed odio dui. </p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/forum/">Yii Forum &raquo;</a></p>
</div>
<div class="span4">
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta
felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum
massa.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.</p>
<p><a class="btn" href="#">View details &raquo;</a></p>
<p><a class="btn btn-default" href="http://www.yiiframework.com/extensions/">Yii Extensions &raquo;</a></p>
</div>
</div>
</div>
</div>

13
apps/advanced/frontend/views/site/login.php

@ -10,17 +10,24 @@ use yii\widgets\ActiveForm;
$this->title = 'Login';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-login">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>Please fill out the following fields to login:</p>
<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'login-form')); ?>
<?php echo $form->field($model, 'username')->textInput(); ?>
<?php echo $form->field($model, 'password')->passwordInput(); ?>
<?php echo $form->field($model, 'rememberMe')->checkbox(); ?>
<div style="color:#999;margin:1em 0">
If you forgot your password you can <?php echo Html::a('reset it', array('site/request-password-reset'))?>.
</div>
<div class="form-actions">
<?php echo Html::submitButton('Login', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
<p>If you forgot your password you can <?php echo Html::a('reset it', array('site/request-password-reset'))?>.</p>
</div>
</div>
</div>

10
apps/advanced/frontend/views/site/requestPasswordResetToken.php

@ -5,18 +5,24 @@ use yii\widgets\ActiveForm;
/**
* @var yii\base\View $this
* @var yii\widgets\ActiveForm $form
* @var frontend\models\User $model
* @var common\models\User $model
*/
$this->title = 'Request password reset';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-request-password-reset">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>Please fill out your email. A link to reset password will be sent there.</p>
<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'request-password-reset-form')); ?>
<?php echo $form->field($model, 'email')->textInput(); ?>
<div class="form-actions">
<?php echo Html::submitButton('Send', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

8
apps/advanced/frontend/views/site/resetPassword.php

@ -10,13 +10,19 @@ use yii\widgets\ActiveForm;
$this->title = 'Reset password';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-reset-password">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>Please choose your new password:</p>
<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'reset-password-form')); ?>
<?php echo $form->field($model, 'password')->passwordInput(); ?>
<div class="form-actions">
<?php echo Html::submitButton('Save', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

8
apps/advanced/frontend/views/site/signup.php

@ -10,11 +10,14 @@ use yii\widgets\ActiveForm;
$this->title = 'Signup';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-signup">
<h1><?php echo Html::encode($this->title); ?></h1>
<p>Please fill out the following fields to signup:</p>
<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal'))); ?>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(array('id' => 'form-signup')); ?>
<?php echo $form->field($model, 'username')->textInput(); ?>
<?php echo $form->field($model, 'email')->textInput(); ?>
<?php echo $form->field($model, 'password')->passwordInput(); ?>
@ -22,3 +25,6 @@ $this->params['breadcrumbs'][] = $this->title;
<?php echo Html::submitButton('Signup', array('class' => 'btn btn-primary')); ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

73
apps/advanced/frontend/web/css/site.css

@ -1,78 +1,19 @@
body {
padding-top: 20px;
padding-bottom: 60px;
padding-top: 70px;
}
/* Custom container */
.container {
margin: 0 auto;
max-width: 1000px;
.footer {
border-top: 1px solid #ddd;
margin-top: 30px;
padding-top: 15px;
padding-bottom: 30px;
}
.container > hr {
margin: 60px 0;
}
/* Main marketing message and sign up button */
.jumbotron {
margin: 80px 0;
text-align: center;
background-color: transparent;
}
.jumbotron h1 {
font-size: 100px;
line-height: 1;
}
.jumbotron .lead {
font-size: 24px;
line-height: 1.25;
}
.jumbotron .btn {
font-size: 21px;
padding: 14px 24px;
}
/* Supporting marketing content */
.marketing {
margin: 60px 0;
}
.marketing p + h4 {
margin-top: 28px;
}
/* Customize the navbar links to be fill the entire space of the .navbar */
.navbar.fullwidth .navbar-inner {
padding: 0;
}
.navbar.fullwidth .nav {
margin: 0;
display: table;
width: 100%;
}
.navbar.fullwidth .nav li {
display: table-cell;
width: 1%;
float: none;
}
.navbar.fullwidth .nav li a {
font-weight: bold;
text-align: center;
border-left: 1px solid rgba(255, 255, 255, .75);
border-right: 1px solid rgba(0, 0, 0, .1);
}
.navbar.fullwidth .nav li:first-child a {
border-left: 0;
border-radius: 3px 0 0 3px;
}
.navbar.fullwidth .nav li:last-child a {
border-right: 0;
border-radius: 0 3px 3px 0;
}

1
framework/yii/captcha/Captcha.php

@ -13,7 +13,6 @@ use yii\helpers\Html;
use yii\helpers\Json;
use yii\widgets\InputWidget;
/**
* Captcha renders a CAPTCHA image and an input field that takes user-entered verification code.
*

1
framework/yii/data/ArrayDataProvider.php

@ -7,7 +7,6 @@
namespace yii\data;
use yii\base\InvalidConfigException;
use yii\helpers\ArrayHelper;
/**

1
tests/unit/TestCase.php

@ -37,6 +37,7 @@ abstract class TestCase extends \yii\test\TestCase
* Populates Yii::$app with a new application
* The application will be destroyed on tearDown() automatically.
* @param array $config The application configuration, if needed
* @param string $appClass name of the application class to create
*/
protected function mockApplication($config = array(), $appClass = '\yii\console\Application')
{

2
tests/unit/data/ar/Customer.php

@ -1,6 +1,6 @@
<?php
namespace yiiunit\data\ar;
use yii\db\ActiveQuery;
class Customer extends ActiveRecord

2
tests/unit/data/base/InvalidRulesModel.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\data\base;
use yii\base\Model;
/**
@ -13,5 +14,4 @@ class InvalidRulesModel extends Model
array('test'),
);
}
}

1
tests/unit/data/base/Singer.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\data\base;
use yii\base\Model;
/**

1
tests/unit/data/base/Speaker.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\data\base;
use yii\base\Model;
/**

5
tests/unit/data/config.php

@ -1,5 +1,4 @@
<?php
return array(
'databases' => array(
'mysql' => array(
@ -23,6 +22,6 @@ return array(
'username' => 'postgres',
'password' => 'postgres',
'fixture' => __DIR__ . '/postgres.sql',
)
)
),
),
);

1
tests/unit/framework/base/BehaviorTest.php

@ -8,7 +8,6 @@ use yiiunit\TestCase;
class BarClass extends Component
{
}
class FooClass extends Component

1
tests/unit/framework/base/ModelTest.php

@ -1,6 +1,7 @@
<?php
namespace yiiunit\framework\base;
use yii\base\Model;
use yiiunit\TestCase;
use yiiunit\data\base\Speaker;

3
tests/unit/framework/behaviors/AutoTimestampTest.php

@ -26,7 +26,8 @@ class AutoTimestampTest extends TestCase
}
}
public function setUp() {
public function setUp()
{
$this->mockApplication(
array(
'components' => array(

1
tests/unit/framework/caching/ApcCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\ApcCache;
/**

3
tests/unit/framework/caching/CacheTestCase.php

@ -6,7 +6,8 @@ namespace yii\caching;
* Mock for the time() function for caching classes
* @return int
*/
function time() {
function time()
{
return \yiiunit\framework\caching\CacheTestCase::$time ?: \time();
}

2
tests/unit/framework/caching/DbCacheTest.php

@ -35,7 +35,7 @@ class DbCacheTest extends CacheTestCase
* @param bool $reset whether to clean up the test database
* @return \yii\db\Connection
*/
function getConnection($reset = true)
public function getConnection($reset = true)
{
if ($this->_connection === null) {
$databases = $this->getParam('databases');

1
tests/unit/framework/caching/FileCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\FileCache;
/**

1
tests/unit/framework/caching/MemCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\MemCache;
/**

1
tests/unit/framework/caching/MemCachedTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\MemCache;
/**

1
tests/unit/framework/caching/WinCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\WinCache;
/**

1
tests/unit/framework/caching/XCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\XCache;
/**

1
tests/unit/framework/caching/ZendDataCacheTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\caching;
use yii\caching\Cache;
use yii\caching\ZendDataCache;

2
tests/unit/framework/console/controllers/AssetControllerTest.php

@ -226,7 +226,7 @@ class AssetControllerTest extends TestCase
'yii',
),
),
);;
);
$bundleFile = $this->testFilePath . DIRECTORY_SEPARATOR . 'bundle.php';
$configFile = $this->testFilePath . DIRECTORY_SEPARATOR . 'config.php';

2
tests/unit/framework/data/SortTest.php

@ -6,11 +6,11 @@
*/
namespace yiiunit\framework\data;
use yii\web\UrlManager;
use yiiunit\TestCase;
use yii\data\Sort;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0

61
tests/unit/framework/db/CommandTest.php

@ -15,7 +15,7 @@ class CommandTest extends DatabaseTestCase
$this->mockApplication();
}
function testConstruct()
public function testConstruct()
{
$db = $this->getConnection(false);
@ -29,7 +29,7 @@ class CommandTest extends DatabaseTestCase
$this->assertEquals($sql, $command->sql);
}
function testGetSetSql()
public function testGetSetSql()
{
$db = $this->getConnection(false);
@ -42,7 +42,7 @@ class CommandTest extends DatabaseTestCase
$this->assertEquals($sql2, $command->sql);
}
function testAutoQuoting()
public function testAutoQuoting()
{
$db = $this->getConnection(false);
@ -51,7 +51,7 @@ class CommandTest extends DatabaseTestCase
$this->assertEquals("SELECT `id`, `t`.`name` FROM `tbl_customer` t", $command->sql);
}
function testPrepareCancel()
public function testPrepareCancel()
{
$db = $this->getConnection(false);
@ -63,7 +63,7 @@ class CommandTest extends DatabaseTestCase
$this->assertEquals(null, $command->pdoStatement);
}
function testExecute()
public function testExecute()
{
$db = $this->getConnection();
@ -80,7 +80,7 @@ class CommandTest extends DatabaseTestCase
$command->execute();
}
function testQuery()
public function testQuery()
{
$db = $this->getConnection();
@ -141,7 +141,7 @@ class CommandTest extends DatabaseTestCase
$command->query();
}
function testBindParamValue()
public function testBindParamValue()
{
$db = $this->getConnection();
@ -197,7 +197,7 @@ class CommandTest extends DatabaseTestCase
$this->assertEquals('user5@example.com', $command->queryScalar());
}
function testFetchMode()
public function testFetchMode()
{
$db = $this->getConnection();
@ -221,78 +221,63 @@ class CommandTest extends DatabaseTestCase
$this->assertTrue(is_array($result) && isset($result[0]));
}
function testInsert()
public function testInsert()
{
}
function testUpdate()
public function testUpdate()
{
}
function testDelete()
public function testDelete()
{
}
function testCreateTable()
public function testCreateTable()
{
}
function testRenameTable()
public function testRenameTable()
{
}
function testDropTable()
public function testDropTable()
{
}
function testTruncateTable()
public function testTruncateTable()
{
}
function testAddColumn()
public function testAddColumn()
{
}
function testDropColumn()
public function testDropColumn()
{
}
function testRenameColumn()
public function testRenameColumn()
{
}
function testAlterColumn()
public function testAlterColumn()
{
}
function testAddForeignKey()
public function testAddForeignKey()
{
}
function testDropForeignKey()
public function testDropForeignKey()
{
}
function testCreateIndex()
public function testCreateIndex()
{
}
function testDropIndex()
public function testDropIndex()
{
}
}

12
tests/unit/framework/db/ConnectionTest.php

@ -12,7 +12,7 @@ class ConnectionTest extends DatabaseTestCase
$this->mockApplication();
}
function testConstruct()
public function testConstruct()
{
$connection = $this->getConnection(false);
$params = $this->database;
@ -22,7 +22,7 @@ class ConnectionTest extends DatabaseTestCase
$this->assertEquals($params['password'], $connection->password);
}
function testOpenClose()
public function testOpenClose()
{
$connection = $this->getConnection(false, false);
@ -43,13 +43,13 @@ class ConnectionTest extends DatabaseTestCase
$connection->open();
}
function testGetDriverName()
public function testGetDriverName()
{
$connection = $this->getConnection(false, false);
$this->assertEquals($this->driverName, $connection->driverName);
}
function testQuoteValue()
public function testQuoteValue()
{
$connection = $this->getConnection(false);
$this->assertEquals(123, $connection->quoteValue(123));
@ -57,7 +57,7 @@ class ConnectionTest extends DatabaseTestCase
$this->assertEquals("'It\\'s interesting'", $connection->quoteValue("It's interesting"));
}
function testQuoteTableName()
public function testQuoteTableName()
{
$connection = $this->getConnection(false);
$this->assertEquals('`table`', $connection->quoteTableName('table'));
@ -68,7 +68,7 @@ class ConnectionTest extends DatabaseTestCase
$this->assertEquals('(table)', $connection->quoteTableName('(table)'));
}
function testQuoteColumnName()
public function testQuoteColumnName()
{
$connection = $this->getConnection(false);
$this->assertEquals('`column`', $connection->quoteColumnName('column'));

1
tests/unit/framework/db/QueryBuilderTest.php

@ -129,5 +129,4 @@ class QueryBuilderTest extends DatabaseTestCase
$tableSchema = $qb->db->getSchema()->getTableSchema($tableName);
$this->assertEquals(0, count($tableSchema->primaryKey));
}
}

20
tests/unit/framework/db/QueryTest.php

@ -15,7 +15,7 @@ class QueryTest extends DatabaseTestCase
$this->mockApplication();
}
function testSelect()
public function testSelect()
{
// default
$query = new Query;
@ -31,14 +31,14 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals('something', $query->selectOption);
}
function testFrom()
public function testFrom()
{
$query = new Query;
$query->from('tbl_user');
$this->assertEquals(array('tbl_user'), $query->from);
}
function testWhere()
public function testWhere()
{
$query = new Query;
$query->where('id = :id', array(':id' => 1));
@ -54,12 +54,11 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals(array(':id' => 1, ':name' => 'something', ':age' => '30'), $query->params);
}
function testJoin()
public function testJoin()
{
}
function testGroup()
public function testGroup()
{
$query = new Query;
$query->groupBy('team');
@ -72,7 +71,7 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals(array('team', 'company', 'age'), $query->groupBy);
}
function testHaving()
public function testHaving()
{
$query = new Query;
$query->having('id = :id', array(':id' => 1));
@ -88,7 +87,7 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals(array(':id' => 1, ':name' => 'something', ':age' => '30'), $query->params);
}
function testOrder()
public function testOrder()
{
$query = new Query;
$query->orderBy('team');
@ -107,7 +106,7 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals(array('team' => false, 'company' => true, 'age' => false), $query->orderBy);
}
function testLimitOffset()
public function testLimitOffset()
{
$query = new Query;
$query->limit(10)->offset(5);
@ -115,8 +114,7 @@ class QueryTest extends DatabaseTestCase
$this->assertEquals(5, $query->offset);
}
function testUnion()
public function testUnion()
{
}
}

6
tests/unit/framework/db/mssql/MssqlCommandTest.php

@ -12,7 +12,7 @@ class MssqlCommandTest extends CommandTest
parent::setUp();
}
function testAutoQuoting()
public function testAutoQuoting()
{
$db = $this->getConnection(false);
@ -21,12 +21,12 @@ class MssqlCommandTest extends CommandTest
$this->assertEquals("SELECT [id], [t].[name] FROM [tbl_customer] t", $command->sql);
}
function testPrepareCancel()
public function testPrepareCancel()
{
$this->markTestSkipped('MSSQL driver does not support this feature.');
}
function testBindParamValue()
public function testBindParamValue()
{
$db = $this->getConnection();

6
tests/unit/framework/db/mssql/MssqlConnectionTest.php

@ -12,7 +12,7 @@ class MssqlConnectionTest extends ConnectionTest
parent::setUp();
}
function testQuoteValue()
public function testQuoteValue()
{
$connection = $this->getConnection(false);
$this->assertEquals(123, $connection->quoteValue(123));
@ -20,7 +20,7 @@ class MssqlConnectionTest extends ConnectionTest
$this->assertEquals("'It''s interesting'", $connection->quoteValue("It's interesting"));
}
function testQuoteTableName()
public function testQuoteTableName()
{
$connection = $this->getConnection(false);
$this->assertEquals('[table]', $connection->quoteTableName('table'));
@ -31,7 +31,7 @@ class MssqlConnectionTest extends ConnectionTest
$this->assertEquals('(table)', $connection->quoteTableName('(table)'));
}
function testQuoteColumnName()
public function testQuoteColumnName()
{
$connection = $this->getConnection(false);
$this->assertEquals('[column]', $connection->quoteColumnName('column'));

20
tests/unit/framework/db/pgsql/PostgreSQLConnectionTest.php

@ -1,28 +1,30 @@
<?php
namespace yiiunit\framework\db\pgsql;
use yiiunit\framework\db\ConnectionTest;
class PostgreSQLConnectionTest extends ConnectionTest {
public function setUp() {
class PostgreSQLConnectionTest extends ConnectionTest
{
public function setUp()
{
$this->driverName = 'pgsql';
parent::setUp();
}
public function testConnection() {
public function testConnection()
{
$connection = $this->getConnection(true);
}
function testQuoteValue() {
public function testQuoteValue()
{
$connection = $this->getConnection(false);
$this->assertEquals(123, $connection->quoteValue(123));
$this->assertEquals("'string'", $connection->quoteValue('string'));
$this->assertEquals("'It''s interesting'", $connection->quoteValue("It's interesting"));
}
function testQuoteTableName()
public function testQuoteTableName()
{
$connection = $this->getConnection(false);
$this->assertEquals('"table"', $connection->quoteTableName('table'));
@ -34,7 +36,7 @@ class PostgreSQLConnectionTest extends ConnectionTest {
$this->assertEquals('(table)', $connection->quoteTableName('(table)'));
}
function testQuoteColumnName()
public function testQuoteColumnName()
{
$connection = $this->getConnection(false);
$this->assertEquals('"column"', $connection->quoteColumnName('column'));
@ -46,6 +48,4 @@ class PostgreSQLConnectionTest extends ConnectionTest {
$this->assertEquals('{{column}}', $connection->quoteColumnName('{{column}}'));
$this->assertEquals('(column)', $connection->quoteColumnName('(column)'));
}
}

1
tests/unit/framework/db/pgsql/PostgreSQLQueryBuilderTest.php

@ -72,5 +72,4 @@ class PostgreSQLQueryBuilderTest extends QueryBuilderTest
array(Schema::TYPE_MONEY . ' NOT NULL', 'numeric(19,4) NOT NULL'),
);
}
}

1
tests/unit/framework/db/sqlite/SqliteQueryBuilderTest.php

@ -78,5 +78,4 @@ class SqliteQueryBuilderTest extends QueryBuilderTest
$this->setExpectedException('yii\base\NotSupportedException');
parent::testAddDropPrimayKey();
}
}

1
tests/unit/framework/helpers/ConsoleTest.php

@ -75,5 +75,4 @@ class ConsoleTest extends TestCase
sleep(1);
}
}*/
}

3
tests/unit/framework/helpers/FileHelperTest.php

@ -268,7 +268,8 @@ class FileHelperTest extends TestCase
$this->assertEquals(array($dirName . DIRECTORY_SEPARATOR . $fileName), $foundFiles);
}
public function testMkdir() {
public function testMkdir()
{
$basePath = $this->testFilePath;
$dirName = $basePath . DIRECTORY_SEPARATOR . 'test_dir_level_1' . DIRECTORY_SEPARATOR . 'test_dir_level_2';
FileHelper::mkdir($dirName);

3
tests/unit/framework/helpers/JsonTest.php

@ -23,7 +23,8 @@ class JsonTest extends TestCase
// simple object encoding
$data = new \stdClass();
$data->a = 1; $data->b = 2;
$data->a = 1;
$data->b = 2;
$this->assertSame('{"a":1,"b":2}', Json::encode($data));
// expression encoding

1
tests/unit/framework/helpers/StringHelperTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\helpers;
use \yii\helpers\StringHelper as StringHelper;
use yii\test\TestCase;

1
tests/unit/framework/helpers/VarDumperTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\helpers;
use \yii\helpers\VarDumper;
use yii\test\TestCase;

3
tests/unit/framework/requirements/YiiRequirementCheckerTest.php

@ -60,7 +60,8 @@ class YiiRequirementCheckerTest extends TestCase
/**
* @depends testCheck
*/
public function testCheckEval() {
public function testCheckEval()
{
$requirementsChecker = new YiiRequirementChecker();
$requirements = array(

1
tests/unit/framework/validators/EmailValidatorTest.php

@ -1,5 +1,6 @@
<?php
namespace yiiunit\framework\validators;
use yii\validators\EmailValidator;
use yiiunit\TestCase;

Loading…
Cancel
Save