Skip to content

Commit

Permalink
Merge branch '2.0' into 2.1
Browse files Browse the repository at this point in the history
Conflicts:
	lib/Cake/Utility/ClassRegistry.php
  • Loading branch information
markstory committed Jan 12, 2012
2 parents 0f8e150 + 4d73f4e commit 97ce118
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 25 deletions.
2 changes: 2 additions & 0 deletions lib/Cake/Model/Datasource/Database/Postgres.php
Expand Up @@ -206,6 +206,8 @@ public function describe($model) {
if ($c->type == 'character varying') {
$length = null;
$type = 'text';
} else if ($c->type == 'uuid') {
$length = 36;
} else {
$length = intval($c->oct_length);
}
Expand Down
42 changes: 21 additions & 21 deletions lib/Cake/Model/Model.php
Expand Up @@ -288,13 +288,13 @@ class Model extends Object implements CakeEventListener {
* ### Possible keys in association
*
* - `className`: the classname of the model being associated to the current model.
* If youre defining a Profile belongsTo User relationship, the className key should equal User.
* If you're defining a 'Profile belongsTo User' relationship, the className key should equal 'User.'
* - `foreignKey`: the name of the foreign key found in the current model. This is
* especially handy if you need to define multiple belongsTo relationships. The default
* value for this key is the underscored, singular name of the other model, suffixed with _id.
* - `conditions`: An SQL fragment used to filter related model records. Its good
* practice to use model names in SQL fragments: User.active = 1 is always
* better than just active = 1.
* value for this key is the underscored, singular name of the other model, suffixed with '_id'.
* - `conditions`: An SQL fragment used to filter related model records. It's good
* practice to use model names in SQL fragments: 'User.active = 1' is always
* better than just 'active = 1.'
* - `type`: the type of the join to use in the SQL query, default is LEFT which
* may not fit your needs in all situations, INNER may be helpful when you want
* everything from your main and associated models or nothing at all!(effective
Expand All @@ -303,7 +303,7 @@ class Model extends Object implements CakeEventListener {
* fetched. Returns all fields by default.
* - `order`: An SQL fragment that defines the sorting order for the returned associated rows.
* - `counterCache`: If set to true the associated Model will automatically increase or
* decrease the [singular_model_name]_count field in the foreign table whenever you do
* decrease the "[singular_model_name]_count" field in the foreign table whenever you do
* a save() or delete(). If its a string then its the field name to use. The value in the
* counter field represents the number of related rows.
* - `counterScope`: Optional conditions array to use for updating counter cache field.
Expand Down Expand Up @@ -335,18 +335,18 @@ class Model extends Object implements CakeEventListener {
* ### Possible keys in association
*
* - `className`: the classname of the model being associated to the current model.
* If youre defining a User hasOne Profile relationship, the className key should equal Profile.
* If you're defining a 'User hasOne Profile' relationship, the className key should equal 'Profile.'
* - `foreignKey`: the name of the foreign key found in the other model. This is
* especially handy if you need to define multiple hasOne relationships.
* The default value for this key is the underscored, singular name of the
* current model, suffixed with _id. In the example above it would default to 'user_id'.
* - `conditions`: An SQL fragment used to filter related model records. Its good
* practice to use model names in SQL fragments: Profile.approved = 1 is
* always better than just approved = 1.
* current model, suffixed with '_id'. In the example above it would default to 'user_id'.
* - `conditions`: An SQL fragment used to filter related model records. It's good
* practice to use model names in SQL fragments: "Profile.approved = 1" is
* always better than just "approved = 1."
* - `fields`: A list of fields to be retrieved when the associated model data is
* fetched. Returns all fields by default.
* - `order`: An SQL fragment that defines the sorting order for the returned associated rows.
* - `dependent`: When the dependent key is set to true, and the models delete()
* - `dependent`: When the dependent key is set to true, and the model's delete()
* method is called with the cascade parameter set to true, associated model
* records are also deleted. In this case we set it true so that deleting a
* User will also delete her associated Profile.
Expand Down Expand Up @@ -378,13 +378,13 @@ class Model extends Object implements CakeEventListener {
* ### Possible keys in association
*
* - `className`: the classname of the model being associated to the current model.
* If youre defining a User hasMany Comment relationship, the className key should equal Comment.
* If you're defining a 'User hasMany Comment' relationship, the className key should equal 'Comment.'
* - `foreignKey`: the name of the foreign key found in the other model. This is
* especially handy if you need to define multiple hasMany relationships. The default
* value for this key is the underscored, singular name of the actual model, suffixed with _id.
* - `conditions`: An SQL fragment used to filter related model records. Its good
* practice to use model names in SQL fragments: Comment.status = 1 is always
* better than just status = 1.
* value for this key is the underscored, singular name of the actual model, suffixed with '_id'.
* - `conditions`: An SQL fragment used to filter related model records. It's good
* practice to use model names in SQL fragments: "Comment.status = 1" is always
* better than just "status = 1."
* - `fields`: A list of fields to be retrieved when the associated model data is
* fetched. Returns all fields by default.
* - `order`: An SQL fragment that defines the sorting order for the returned associated rows.
Expand Down Expand Up @@ -429,7 +429,7 @@ class Model extends Object implements CakeEventListener {
* ### Possible keys in association
*
* - `className`: the classname of the model being associated to the current model.
* If you're defining a Recipe HABTM Tag' relationship, the className key should equal Tag.'
* If you're defining a 'Recipe HABTM Tag' relationship, the className key should equal 'Tag.'
* - `joinTable`: The name of the join table used in this association (if the
* current table doesn't adhere to the naming convention for HABTM join tables).
* - `with`: Defines the name of the model for the join table. By default CakePHP
Expand All @@ -439,11 +439,11 @@ class Model extends Object implements CakeEventListener {
* - `foreignKey`: the name of the foreign key found in the current model.
* This is especially handy if you need to define multiple HABTM relationships.
* The default value for this key is the underscored, singular name of the
* current model, suffixed with _id'.
* current model, suffixed with '_id'.
* - `associationForeignKey`: the name of the foreign key found in the other model.
* This is especially handy if you need to define multiple HABTM relationships.
* The default value for this key is the underscored, singular name of the other
* model, suffixed with _id'.
* model, suffixed with '_id'.
* - `unique`: If true (default value) cake will first delete existing relationship
* records in the foreign keys table before inserting new ones, when updating a
* record. So existing associations need to be passed again when updating.
Expand Down Expand Up @@ -854,7 +854,7 @@ public function __get($name) {
}
if ($name === 'tablePrefix') {
$this->setDataSource();
if (property_exists($this, 'tablePrefix')) {
if (property_exists($this, 'tablePrefix') && !empty($this->tablePrefix)) {
return $this->tablePrefix;
}
return $this->tablePrefix = null;
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Network/CakeRequest.php
Expand Up @@ -104,7 +104,7 @@ class CakeRequest implements ArrayAccess {
'ajax' => array('env' => 'HTTP_X_REQUESTED_WITH', 'value' => 'XMLHttpRequest'),
'flash' => array('env' => 'HTTP_USER_AGENT', 'pattern' => '/^(Shockwave|Adobe) Flash/'),
'mobile' => array('env' => 'HTTP_USER_AGENT', 'options' => array(
'Android', 'AvantGo', 'BlackBerry', 'DoCoMo', 'Fennec', 'iPod', 'iPhone',
'Android', 'AvantGo', 'BlackBerry', 'DoCoMo', 'Fennec', 'iPod', 'iPhone', 'iPad',
'J2ME', 'MIDP', 'NetFront', 'Nokia', 'Opera Mini', 'Opera Mobi', 'PalmOS', 'PalmSource',
'portalmmm', 'Plucker', 'ReqwirelessWeb', 'SonyEricsson', 'Symbian', 'UP\\.Browser',
'webOS', 'Windows CE', 'Windows Phone OS', 'Xiino'
Expand Down
4 changes: 2 additions & 2 deletions lib/Cake/Network/Email/CakeEmail.php
Expand Up @@ -1288,7 +1288,7 @@ protected function _attachInlineFiles() {
}
$data = $this->_readFile($fileInfo['file']);

$msg[] = '--' . $this->_boundary;
$msg[] = '--rel-' . $this->_boundary;
$msg[] = 'Content-Type: ' . $fileInfo['mimetype'];
$msg[] = 'Content-Transfer-Encoding: base64';
$msg[] = 'Content-ID: <' . $fileInfo['contentId'] . '>';
Expand Down Expand Up @@ -1323,7 +1323,7 @@ protected function _render($content) {
$msg[] = '--' . $boundary;
$msg[] = 'Content-Type: multipart/related; boundary="rel-' . $boundary . '"';
$msg[] = '';
$relBoundary = 'rel-' . $boundary;
$relBoundary = $textBoundary = 'rel-' . $boundary;
}

if ($hasMultipleTypes) {
Expand Down
2 changes: 1 addition & 1 deletion lib/Cake/Test/Case/Network/Email/CakeEmailTest.php
Expand Up @@ -865,7 +865,7 @@ public function testSendWithInlineAttachments() {
"\r\n" .
"--alt-{$boundary}--\r\n" .
"\r\n" .
"--$boundary\r\n" .
"--rel-$boundary\r\n" .
"Content-Type: application/octet-stream\r\n" .
"Content-Transfer-Encoding: base64\r\n" .
"Content-ID: <abc123>\r\n" .
Expand Down

0 comments on commit 97ce118

Please sign in to comment.