Instantly downloadable new musical theatre sheet music, recordings and backing tracks
Database Error
Error: SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYJonWap' (Errcode: 28 - No space left on device)
SQL Query: SELECT `Song`.`id`, `Song`.`name`, `Song`.`artist_id`, `Song`.`artwork_id`, `Song`.`slug`, `Song`.`youtube`, `Song`.`description`, `Song`.`song_type`, `Song`.`created`, `Song`.`modified`, `Song`.`different_sample`, `Song`.`sample_filename`, `Song`.`hidden`, `Artwork`.`id`, `Artwork`.`artist_id`, `Artwork`.`filename`, `Artist`.`id`, `Artist`.`name`, `Artist`.`website`, `Artist`.`twitter`, `Artist`.`facebook`, `Artist`.`description`, `Artist`.`artwork_id`, `Artist`.`slug`, `Artist`.`public_email`, `Artist`.`paypal_email`, `Artist`.`account_id`, `Artist`.`created`, `Artist`.`modified`, `Artist`.`paypal_email_2`, `Artist`.`paypal_email_3`, `Artist`.`stripe_destination`, `Artist`.`stripe_data`, `Artist`.`email_frequency`, `Artist`.`hidden` FROM `repertwa`.`songs` AS `Song` LEFT JOIN `repertwa`.`artworks` AS `Artwork` ON (`Song`.`artwork_id` = `Artwork`.`id`) LEFT JOIN `repertwa`.`artists` AS `Artist` ON (`Song`.`artist_id` = `Artist`.`id`) INNER JOIN `repertwa`.`products` AS `Product` ON (`Song`.`id` = `Product`.`song_id` AND `Product`.`disabled`=0 AND `Product`.`filename` IS NOT NULL AND `Product`.`filename` != '') INNER JOIN `repertwa`.`tags` AS `Range` ON (`Range`.`tag` IN ('alto', 'baritone', 'tenor', 'soprano') AND `Song`.`id` = `Range`.`song_id`) WHERE `Song`.`hidden` != '1' AND `Artist`.`stripe_destination` > '' AND `Product`.`type` IN ('audio', 'sheet') GROUP BY `Song`.`id` ORDER BY `Song`.`created` desc LIMIT 105, 15
Notice: If you want to customize this error message, create app/View/Errors/pdo_error.ctp
Stack Trace
- CORE/Cake/Model/Datasource/DboSource.php line 461 → PDOStatement->execute(array)
try {
$query = $this->_connection->prepare($sql, $prepareOptions);
$query->setFetchMode(PDO::FETCH_LAZY);
if (!$query->execute($params)) {
$this->_results = $query;
array()
- CORE/Cake/Model/Datasource/DboSource.php line 427 → DboSource->_execute(string, array)
$options += array('log' => $this->fullDebug);
$t = microtime(true);
$this->_result = $this->_execute($sql, $params);
'SELECT `Song`.`id`, `Song`.`name`, `Song`.`artist_id`, `Song`.`artwork_id`, `Song`.`slug`, `Song`.`youtube`, `Song`.`description`, `Song`.`song_type`, `Song`.`created`, `Song`.`modified`, `Song`.`different_sample`, `Song`.`sample_filename`, `Song`.`hidden`, `Artwork`.`id`, `Artwork`.`artist_id`, `Artwork`.`filename`, `Artist`.`id`, `Artist`.`name`, `Artist`.`website`, `Artist`.`twitter`, `Artist`.`facebook`, `Artist`.`description`, `Artist`.`artwork_id`, `Artist`.`slug`, `Artist`.`public_email`, `Artist`.`paypal_email`, `Artist`.`account_id`, `Artist`.`created`, `Artist`.`modified`, `Artist`.`paypal_email_2`, `Artist`.`paypal_email_3`, `Artist`.`stripe_destination`, `Artist`.`stripe_data`, `Artist`.`email_frequency`, `Artist`.`hidden` FROM `repertwa`.`songs` AS `Song` LEFT JOIN `repertwa`.`artworks` AS `Artwork` ON (`Song`.`artwork_id` = `Artwork`.`id`) LEFT JOIN `repertwa`.`artists` AS `Artist` ON (`Song`.`artist_id` = `Artist`.`id`) INNER JOIN `repertwa`.`products` AS `Product` ON (`Song`.`id` = `Product`.`song_id` AND `Product`.`disabled`=0 AND `Product`.`filename` IS NOT NULL AND `Product`.`filename` != '') INNER JOIN `repertwa`.`tags` AS `Range` ON (`Range`.`tag` IN ('alto', 'baritone', 'tenor', 'soprano') AND `Song`.`id` = `Range`.`song_id`) WHERE `Song`.`hidden` != '1' AND `Artist`.`stripe_destination` > '' AND `Product`.`type` IN ('audio', 'sheet') GROUP BY `Song`.`id` ORDER BY `Song`.`created` desc LIMIT 105, 15' array()
- CORE/Cake/Model/Datasource/DboSource.php line 669 → DboSource->execute(string, array, array)
if ($cache && ($cached = $this->getQueryCache($sql, $params)) !== false) {
return $cached;
}
$result = $this->execute($sql, array(), $params);
if ($result) {
'SELECT `Song`.`id`, `Song`.`name`, `Song`.`artist_id`, `Song`.`artwork_id`, `Song`.`slug`, `Song`.`youtube`, `Song`.`description`, `Song`.`song_type`, `Song`.`created`, `Song`.`modified`, `Song`.`different_sample`, `Song`.`sample_filename`, `Song`.`hidden`, `Artwork`.`id`, `Artwork`.`artist_id`, `Artwork`.`filename`, `Artist`.`id`, `Artist`.`name`, `Artist`.`website`, `Artist`.`twitter`, `Artist`.`facebook`, `Artist`.`description`, `Artist`.`artwork_id`, `Artist`.`slug`, `Artist`.`public_email`, `Artist`.`paypal_email`, `Artist`.`account_id`, `Artist`.`created`, `Artist`.`modified`, `Artist`.`paypal_email_2`, `Artist`.`paypal_email_3`, `Artist`.`stripe_destination`, `Artist`.`stripe_data`, `Artist`.`email_frequency`, `Artist`.`hidden` FROM `repertwa`.`songs` AS `Song` LEFT JOIN `repertwa`.`artworks` AS `Artwork` ON (`Song`.`artwork_id` = `Artwork`.`id`) LEFT JOIN `repertwa`.`artists` AS `Artist` ON (`Song`.`artist_id` = `Artist`.`id`) INNER JOIN `repertwa`.`products` AS `Product` ON (`Song`.`id` = `Product`.`song_id` AND `Product`.`disabled`=0 AND `Product`.`filename` IS NOT NULL AND `Product`.`filename` != '') INNER JOIN `repertwa`.`tags` AS `Range` ON (`Range`.`tag` IN ('alto', 'baritone', 'tenor', 'soprano') AND `Song`.`id` = `Range`.`song_id`) WHERE `Song`.`hidden` != '1' AND `Artist`.`stripe_destination` > '' AND `Product`.`type` IN ('audio', 'sheet') GROUP BY `Song`.`id` ORDER BY `Song`.`created` desc LIMIT 105, 15' array( 'log' => true ) array()
- CORE/Cake/Model/Datasource/DboSource.php line 1118 → DboSource->fetchAll(string, array)
// Build SQL statement with the primary model, plus hasOne and belongsTo associations
$query = $this->buildAssociationQuery($Model, $queryData);
$resultSet = $this->fetchAll($query, $Model->cacheQueries);
unset($query);
'SELECT `Song`.`id`, `Song`.`name`, `Song`.`artist_id`, `Song`.`artwork_id`, `Song`.`slug`, `Song`.`youtube`, `Song`.`description`, `Song`.`song_type`, `Song`.`created`, `Song`.`modified`, `Song`.`different_sample`, `Song`.`sample_filename`, `Song`.`hidden`, `Artwork`.`id`, `Artwork`.`artist_id`, `Artwork`.`filename`, `Artist`.`id`, `Artist`.`name`, `Artist`.`website`, `Artist`.`twitter`, `Artist`.`facebook`, `Artist`.`description`, `Artist`.`artwork_id`, `Artist`.`slug`, `Artist`.`public_email`, `Artist`.`paypal_email`, `Artist`.`account_id`, `Artist`.`created`, `Artist`.`modified`, `Artist`.`paypal_email_2`, `Artist`.`paypal_email_3`, `Artist`.`stripe_destination`, `Artist`.`stripe_data`, `Artist`.`email_frequency`, `Artist`.`hidden` FROM `repertwa`.`songs` AS `Song` LEFT JOIN `repertwa`.`artworks` AS `Artwork` ON (`Song`.`artwork_id` = `Artwork`.`id`) LEFT JOIN `repertwa`.`artists` AS `Artist` ON (`Song`.`artist_id` = `Artist`.`id`) INNER JOIN `repertwa`.`products` AS `Product` ON (`Song`.`id` = `Product`.`song_id` AND `Product`.`disabled`=0 AND `Product`.`filename` IS NOT NULL AND `Product`.`filename` != '') INNER JOIN `repertwa`.`tags` AS `Range` ON (`Range`.`tag` IN ('alto', 'baritone', 'tenor', 'soprano') AND `Song`.`id` = `Range`.`song_id`) WHERE `Song`.`hidden` != '1' AND `Artist`.`stripe_destination` > '' AND `Product`.`type` IN ('audio', 'sheet') GROUP BY `Song`.`id` ORDER BY `Song`.`created` desc LIMIT 105, 15' array()
- CORE/Cake/Model/Model.php line 3031 → DboSource->read(Song, array)
* @return array
*/
protected function _readDataSource($type, $query) {
$results = $this->getDataSource()->read($this, $query);
$this->resetAssociations();
object(Song) { name => 'Song' actsAs => array( 'Sluggable' => array( 'label' => 'name', 'overwrite' => true ), (int) 0 => 'Containable' ) recursive => (int) 1 belongsTo => array( 'Artwork' => array( 'className' => 'Artwork', 'foreignKey' => 'artwork_id', 'conditions' => '', 'fields' => '', 'order' => '', 'counterCache' => '' ), 'Artist' => array( 'className' => 'Artist', 'foreignKey' => 'artist_id', 'conditions' => '', 'fields' => '', 'order' => '', 'counterCache' => '' ) ) hasMany => array( 'Product' => array( 'dependent' => true, 'className' => 'Product', 'foreignKey' => 'song_id', 'conditions' => '', 'fields' => '', 'order' => '', 'limit' => '', 'offset' => '', 'exclusive' => '', 'finderQuery' => '', 'counterQuery' => '' ) ) validate => array( 'name' => array( 'rule' => 'notBlank', 'message' => 'Give your song a name.' ) ) useDbConfig => 'default' useTable => 'songs' id => false data => array() schemaName => 'repertwa' table => 'songs' primaryKey => 'id' validationErrors => array() validationDomain => null tablePrefix => '' plugin => null alias => 'Song' tableToModel => array( 'songs' => 'Song', 'products' => 'Product', 'artworks' => 'Artwork', 'artists' => 'Artist' ) cacheQueries => false hasOne => array() hasAndBelongsToMany => array() Behaviors => object(BehaviorCollection) { modelName => 'Song' defaultPriority => (int) 10 [protected] _methods => array( [maximum depth reached] ) [protected] _mappedMethods => array([maximum depth reached]) [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } whitelist => array() cacheSources => true findQueryType => 'all' order => null virtualFields => array() __backAssociation => array( 'hasMany' => array( 'Product' => array( [maximum depth reached] ), 'Tag' => array( [maximum depth reached] ) ) ) __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) Product => object(Product) { name => 'Product' recursive => (int) 0 actsAs => array( [maximum depth reached] ) belongsTo => array([maximum depth reached]) hasMany => array([maximum depth reached]) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'products' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'products' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Product' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array( [maximum depth reached] ) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => null [protected] _validator => null } Artwork => object(AppModel) { useDbConfig => 'default' useTable => 'artworks' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artworks' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Artwork' alias => 'Artwork' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => null [protected] _validator => null } Artist => object(Artist) { name => 'Artist' actsAs => array( [maximum depth reached] ) recursive => (int) 0 hasMany => array( [maximum depth reached] ) belongsTo => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'artists' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artists' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Artist' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Artwork => object(AppModel) {} Account => object(Account) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _schema => array( 'id' => array( 'type' => 'string', 'null' => false, 'default' => '', 'length' => (int) 36, 'key' => 'primary', 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'name' => array( 'type' => 'string', 'null' => false, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'artist_id' => array( 'type' => 'integer', 'null' => false, 'default' => '0', 'length' => (int) 11, 'unsigned' => false, 'key' => 'index' ), 'artwork_id' => array( 'type' => 'integer', 'null' => true, 'default' => null, 'length' => (int) 11, 'unsigned' => false, 'key' => 'index' ), 'slug' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'youtube' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'description' => array( 'type' => 'text', 'null' => true, 'default' => null, 'length' => null, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'song_type' => array( 'type' => 'enum('solo','duet','trio','group')', 'null' => true, 'default' => null, 'length' => (int) 5, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'created' => array( 'type' => 'datetime', 'null' => true, 'default' => null, 'length' => null, 'key' => 'index' ), 'modified' => array( 'type' => 'datetime', 'null' => true, 'default' => null, 'length' => null ), 'different_sample' => array( 'type' => 'boolean', 'null' => false, 'default' => '0', 'length' => (int) 1 ), 'sample_filename' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 350, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'hidden' => array( 'type' => 'boolean', 'null' => false, 'default' => '0', 'length' => (int) 1 ) ) [protected] _associationKeys => array( 'belongsTo' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'counterCache' ), 'hasOne' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'dependent' ), 'hasMany' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'limit', (int) 6 => 'offset', (int) 7 => 'dependent', (int) 8 => 'exclusive', (int) 9 => 'finderQuery', (int) 10 => 'counterQuery' ), 'hasAndBelongsToMany' => array( (int) 0 => 'className', (int) 1 => 'joinTable', (int) 2 => 'with', (int) 3 => 'foreignKey', (int) 4 => 'associationForeignKey', (int) 5 => 'conditions', (int) 6 => 'fields', (int) 7 => 'order', (int) 8 => 'limit', (int) 9 => 'offset', (int) 10 => 'unique', (int) 11 => 'finderQuery' ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } [protected] _validator => null } array( 'conditions' => array( 'Song.hidden !=' => (int) 1, 'Artist.stripe_destination > ' => '', (int) 0 => array( 'Product.type' => array( (int) 0 => 'audio', (int) 1 => 'sheet' ) ) ), 'fields' => array( (int) 0 => '`Song`.`id`', (int) 1 => '`Song`.`name`', (int) 2 => '`Song`.`artist_id`', (int) 3 => '`Song`.`artwork_id`', (int) 4 => '`Song`.`slug`', (int) 5 => '`Song`.`youtube`', (int) 6 => '`Song`.`description`', (int) 7 => '`Song`.`song_type`', (int) 8 => '`Song`.`created`', (int) 9 => '`Song`.`modified`', (int) 10 => '`Song`.`different_sample`', (int) 11 => '`Song`.`sample_filename`', (int) 12 => '`Song`.`hidden`', (int) 13 => '`Artwork`.`id`', (int) 14 => '`Artwork`.`artist_id`', (int) 15 => '`Artwork`.`filename`', (int) 16 => '`Artist`.`id`', (int) 17 => '`Artist`.`name`', (int) 18 => '`Artist`.`website`', (int) 19 => '`Artist`.`twitter`', (int) 20 => '`Artist`.`facebook`', (int) 21 => '`Artist`.`description`', (int) 22 => '`Artist`.`artwork_id`', (int) 23 => '`Artist`.`slug`', (int) 24 => '`Artist`.`public_email`', (int) 25 => '`Artist`.`paypal_email`', (int) 26 => '`Artist`.`account_id`', (int) 27 => '`Artist`.`created`', (int) 28 => '`Artist`.`modified`', (int) 29 => '`Artist`.`paypal_email_2`', (int) 30 => '`Artist`.`paypal_email_3`', (int) 31 => '`Artist`.`stripe_destination`', (int) 32 => '`Artist`.`stripe_data`', (int) 33 => '`Artist`.`email_frequency`', (int) 34 => '`Artist`.`hidden`' ), 'joins' => array( (int) 0 => array( 'table' => object(AppModel) {}, 'alias' => 'Artwork', 'type' => 'LEFT', 'conditions' => '`Song`.`artwork_id` = `Artwork`.`id`' ), (int) 1 => array( 'table' => object(Artist) {}, 'alias' => 'Artist', 'type' => 'LEFT', 'conditions' => '`Song`.`artist_id` = `Artist`.`id`' ), (int) 2 => array( 'table' => 'products', 'type' => 'INNER', 'alias' => 'Product', 'conditions' => array( (int) 0 => 'Song.id = Product.song_id', (int) 1 => 'Product.disabled=0', (int) 2 => 'Product.filename IS NOT NULL', (int) 3 => 'Product.filename != ''' ) ), (int) 3 => array( 'table' => 'tags', 'type' => 'INNER', 'alias' => 'Range', 'conditions' => array( 'Range.tag' => array( [maximum depth reached] ), (int) 0 => 'Song.id = Range.song_id' ) ) ), 'limit' => (int) 15, 'offset' => (int) 105, 'order' => array( (int) 0 => array( 'Song.created' => 'desc' ) ), 'page' => (int) 8, 'group' => array( (int) 0 => 'Song.id' ), 'callbacks' => true, 'contain' => array( (int) 0 => 'Product', (int) 1 => 'Artwork', (int) 2 => 'Artist' ), 'maxLimit' => (int) 100, 'paramType' => 'named', 'sort' => 'Song.created', 'direction' => 'desc', 'recursive' => (int) 1 )
- CORE/Cake/Model/Model.php line 3003 → Model->_readDataSource(string, array)
return null;
}
return $this->_readDataSource($type, $query);
}
'all' array( 'conditions' => array( 'Song.hidden !=' => (int) 1, 'Artist.stripe_destination > ' => '', (int) 0 => array( 'Product.type' => array( (int) 0 => 'audio', (int) 1 => 'sheet' ) ) ), 'fields' => null, 'joins' => array( (int) 0 => array( 'table' => 'products', 'type' => 'INNER', 'alias' => 'Product', 'conditions' => array( (int) 0 => 'Song.id = Product.song_id', (int) 1 => 'Product.disabled=0', (int) 2 => 'Product.filename IS NOT NULL', (int) 3 => 'Product.filename != ''' ) ), (int) 1 => array( 'table' => 'tags', 'type' => 'INNER', 'alias' => 'Range', 'conditions' => array( 'Range.tag' => array( [maximum depth reached] ), (int) 0 => 'Song.id = Range.song_id' ) ) ), 'limit' => (int) 15, 'offset' => (int) 105, 'order' => array( (int) 0 => array( 'Song.created' => 'desc' ) ), 'page' => (int) 8, 'group' => array( (int) 0 => 'Song.id' ), 'callbacks' => true, 'contain' => array( (int) 0 => 'Product', (int) 1 => 'Artwork', (int) 2 => 'Artist' ), 'maxLimit' => (int) 100, 'paramType' => 'named', 'sort' => 'Song.created', 'direction' => 'desc', 'recursive' => (int) 1 )
- CORE/Cake/Controller/Component/PaginatorComponent.php line 196 → Model->find(string, array)
if ($recursive != $object->recursive) {
$parameters['recursive'] = $recursive;
}
$results = $object->find($type, array_merge($parameters, $extra));
}
'all' array( 'conditions' => array( 'Song.hidden !=' => (int) 1, 'Artist.stripe_destination > ' => '', (int) 0 => array( 'Product.type' => array( (int) 0 => 'audio', (int) 1 => 'sheet' ) ) ), 'fields' => null, 'joins' => array( (int) 0 => array( 'table' => 'products', 'type' => 'INNER', 'alias' => 'Product', 'conditions' => array( (int) 0 => 'Song.id = Product.song_id', (int) 1 => 'Product.disabled=0', (int) 2 => 'Product.filename IS NOT NULL', (int) 3 => 'Product.filename != ''' ) ), (int) 1 => array( 'table' => 'tags', 'type' => 'INNER', 'alias' => 'Range', 'conditions' => array( 'Range.tag' => array( [maximum depth reached] ), (int) 0 => 'Song.id = Range.song_id' ) ) ), 'limit' => (int) 15, 'offset' => (int) 105, 'order' => array( (int) 0 => array( 'Song.created' => 'desc' ) ), 'page' => (int) 8, 'group' => array( (int) 0 => 'Song.id' ), 'callbacks' => true, 'contain' => array( (int) 0 => 'Product', (int) 1 => 'Artwork', (int) 2 => 'Artist' ), 'maxLimit' => (int) 100, 'paramType' => 'named', 'sort' => 'Song.created', 'direction' => 'desc', 'recursive' => (int) 1 )
- APP/Controller/ShopController.php line 128 → PaginatorComponent->paginate(Song)
$this->Paginator->settings['Song']['conditions'][] = array('Product.type'=>$formats);
}
$results = $this->Paginator->paginate('Song');
$this->set('results',$results);
object(Song) { name => 'Song' actsAs => array( 'Sluggable' => array( 'label' => 'name', 'overwrite' => true ), (int) 0 => 'Containable' ) recursive => (int) 1 belongsTo => array( 'Artwork' => array( 'className' => 'Artwork', 'foreignKey' => 'artwork_id', 'conditions' => '', 'fields' => '', 'order' => '', 'counterCache' => '' ), 'Artist' => array( 'className' => 'Artist', 'foreignKey' => 'artist_id', 'conditions' => '', 'fields' => '', 'order' => '', 'counterCache' => '' ) ) hasMany => array( 'Product' => array( 'dependent' => true, 'className' => 'Product', 'foreignKey' => 'song_id', 'conditions' => '', 'fields' => '', 'order' => '', 'limit' => '', 'offset' => '', 'exclusive' => '', 'finderQuery' => '', 'counterQuery' => '' ) ) validate => array( 'name' => array( 'rule' => 'notBlank', 'message' => 'Give your song a name.' ) ) useDbConfig => 'default' useTable => 'songs' id => false data => array() schemaName => 'repertwa' table => 'songs' primaryKey => 'id' validationErrors => array() validationDomain => null tablePrefix => '' plugin => null alias => 'Song' tableToModel => array( 'songs' => 'Song', 'products' => 'Product', 'artworks' => 'Artwork', 'artists' => 'Artist' ) cacheQueries => false hasOne => array() hasAndBelongsToMany => array() Behaviors => object(BehaviorCollection) { modelName => 'Song' defaultPriority => (int) 10 [protected] _methods => array( [maximum depth reached] ) [protected] _mappedMethods => array([maximum depth reached]) [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } whitelist => array() cacheSources => true findQueryType => 'all' order => null virtualFields => array() __backAssociation => array( 'hasMany' => array( 'Product' => array( [maximum depth reached] ), 'Tag' => array( [maximum depth reached] ) ) ) __backInnerAssociation => array() __backOriginalAssociation => array() __backContainableAssociation => array() __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( 'all' => true, 'first' => true, 'count' => true, 'neighbors' => true, 'list' => true, 'threaded' => true ) Product => object(Product) { name => 'Product' recursive => (int) 0 actsAs => array( [maximum depth reached] ) belongsTo => array([maximum depth reached]) hasMany => array([maximum depth reached]) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'products' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'products' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Product' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array( [maximum depth reached] ) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => null [protected] _validator => null } Artwork => object(AppModel) { useDbConfig => 'default' useTable => 'artworks' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artworks' primaryKey => 'id' validate => array([maximum depth reached]) validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null name => 'Artwork' alias => 'Artwork' tableToModel => array( [maximum depth reached] ) cacheQueries => false belongsTo => array([maximum depth reached]) hasOne => array([maximum depth reached]) hasMany => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) actsAs => null Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null recursive => (int) 1 order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => null [protected] _validator => null } Artist => object(Artist) { name => 'Artist' actsAs => array( [maximum depth reached] ) recursive => (int) 0 hasMany => array( [maximum depth reached] ) belongsTo => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'artists' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artists' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Artist' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Artwork => object(AppModel) {} Account => object(Account) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _schema => array( 'id' => array( 'type' => 'string', 'null' => false, 'default' => '', 'length' => (int) 36, 'key' => 'primary', 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'name' => array( 'type' => 'string', 'null' => false, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'artist_id' => array( 'type' => 'integer', 'null' => false, 'default' => '0', 'length' => (int) 11, 'unsigned' => false, 'key' => 'index' ), 'artwork_id' => array( 'type' => 'integer', 'null' => true, 'default' => null, 'length' => (int) 11, 'unsigned' => false, 'key' => 'index' ), 'slug' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'youtube' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 100, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'description' => array( 'type' => 'text', 'null' => true, 'default' => null, 'length' => null, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'song_type' => array( 'type' => 'enum('solo','duet','trio','group')', 'null' => true, 'default' => null, 'length' => (int) 5, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'created' => array( 'type' => 'datetime', 'null' => true, 'default' => null, 'length' => null, 'key' => 'index' ), 'modified' => array( 'type' => 'datetime', 'null' => true, 'default' => null, 'length' => null ), 'different_sample' => array( 'type' => 'boolean', 'null' => false, 'default' => '0', 'length' => (int) 1 ), 'sample_filename' => array( 'type' => 'string', 'null' => true, 'default' => null, 'length' => (int) 350, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1' ), 'hidden' => array( 'type' => 'boolean', 'null' => false, 'default' => '0', 'length' => (int) 1 ) ) [protected] _associationKeys => array( 'belongsTo' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'counterCache' ), 'hasOne' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'dependent' ), 'hasMany' => array( (int) 0 => 'className', (int) 1 => 'foreignKey', (int) 2 => 'conditions', (int) 3 => 'fields', (int) 4 => 'order', (int) 5 => 'limit', (int) 6 => 'offset', (int) 7 => 'dependent', (int) 8 => 'exclusive', (int) 9 => 'finderQuery', (int) 10 => 'counterQuery' ), 'hasAndBelongsToMany' => array( (int) 0 => 'className', (int) 1 => 'joinTable', (int) 2 => 'with', (int) 3 => 'foreignKey', (int) 4 => 'associationForeignKey', (int) 5 => 'conditions', (int) 6 => 'fields', (int) 7 => 'order', (int) 8 => 'limit', (int) 9 => 'offset', (int) 10 => 'unique', (int) 11 => 'finderQuery' ) ) [protected] _associations => array( (int) 0 => 'belongsTo', (int) 1 => 'hasOne', (int) 2 => 'hasMany', (int) 3 => 'hasAndBelongsToMany' ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } [protected] _validator => null }
- [internal function] → ShopController->browse()
- CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(ShopController, array)
'action' => $request->params['action']
));
}
return $method->invokeArgs($this, $request->params['pass']);
object(ShopController) { name => 'Shop' uses => array( (int) 0 => 'Song', (int) 1 => 'Album', (int) 2 => 'Artist', (int) 3 => 'Browse', (int) 4 => 'CartItem', (int) 5 => 'Sale', (int) 6 => 'Account', (int) 7 => 'SaleItem', (int) 8 => 'Product' ) components => array( 'Session' => null, 'RequestHandler' => null, 'Email' => null, 'Auth' => null, 'Flash' => null, 'Paginator' => null ) paginate => array( 'Song' => array( 'limit' => (int) 15, 'order' => array( [maximum depth reached] ), 'group' => array( [maximum depth reached] ), 'conditions' => array( [maximum depth reached] ), 'contain' => array( [maximum depth reached] ), 'joins' => array( [maximum depth reached] ), 'recursive' => (int) 0 ) ) helpers => array( (int) 0 => 'Js', (int) 1 => 'Html', (int) 2 => 'Form', (int) 3 => 'Session', (int) 4 => 'Thumbnail' ) request => object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' base => '' webroot => '/' here => '/shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } response => object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) } viewPath => 'Shop' layoutPath => null viewVars => array( 'action' => 'browse', 'controller' => 'shop', 'account' => null, 'cart_count' => (int) 0 ) view => 'browse' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) { defaultPriority => (int) 10 [protected] _Controller => object(ShopController) {} [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } viewClass => 'View' View => null ext => '.ctp' plugin => null cacheAction => false passedArgs => array( 'page' => '8', 'sort' => 'Song.created', 'direction' => 'desc', 'range' => 'alto,baritone,tenor,soprano,', 'available' => 'audio,sheet,' ) scaffold => false methods => array( (int) 1 => 'index', (int) 2 => 'search', (int) 3 => 'tag', (int) 4 => 'browse', (int) 5 => '_makeURL', (int) 6 => 'afterPaypalNotification', (int) 7 => '_str_rand' ) modelClass => 'Song' modelKey => 'shop' validationErrors => null Session => object(SessionComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } RequestHandler => object(RequestHandlerComponent) { ajaxLayout => 'ajax' enabled => true request => object(CakeRequest) {} response => object(CakeResponse) {} ext => null settings => array( [maximum depth reached] ) components => array([maximum depth reached]) params => object(CakeRequest) {} [protected] _renderType => null [protected] _inputTypeMap => array( [maximum depth reached] ) [protected] _viewClassMap => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Email => object(EmailComponent) { to => null from => null replyTo => null readReceipt => null return => null cc => array([maximum depth reached]) bcc => array([maximum depth reached]) date => null subject => null headers => array([maximum depth reached]) additionalParams => null layout => 'default' template => null lineFeed => '' sendAs => 'text' delivery => 'mail' charset => 'UTF-8' attachments => array([maximum depth reached]) xMailer => 'CakePHP Email Component' filePaths => array([maximum depth reached]) smtpOptions => array([maximum depth reached]) textMessage => null htmlMessage => null messageId => true settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _controller => object(ShopController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Auth => object(AuthComponent) { components => array( [maximum depth reached] ) authenticate => array( [maximum depth reached] ) authorize => false ajaxLogin => 'login' flash => array( [maximum depth reached] ) loginAction => array( [maximum depth reached] ) loginRedirect => null logoutRedirect => array( [maximum depth reached] ) authError => 'You\'ll need an account for this.' unauthorizedRedirect => true allowedActions => array( [maximum depth reached] ) request => object(CakeRequest) {} response => object(CakeResponse) {} settings => array([maximum depth reached]) userModel => 'Account' autoRedirect => false flashElement => 'flash_auth' loginError => 'Wrong email or password. Try Again' [protected] _authenticateObjects => array([maximum depth reached]) [protected] _authorizeObjects => array([maximum depth reached]) [protected] _user => array([maximum depth reached]) [protected] _methods => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array( [maximum depth reached] ) } Flash => object(FlashComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _defaultConfig => array( [maximum depth reached] ) [protected] _Collection => null [protected] _componentMap => array([maximum depth reached]) } Paginator => object(PaginatorComponent) { settings => array( [maximum depth reached] ) whitelist => array( [maximum depth reached] ) components => array([maximum depth reached]) Controller => object(ShopController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } app => null Artist => object(Artist) { name => 'Artist' actsAs => array( [maximum depth reached] ) recursive => (int) 0 hasMany => array( [maximum depth reached] ) belongsTo => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'artists' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artists' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Artist' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Artwork => object(AppModel) {} Account => object(Account) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Song => object(Song) { name => 'Song' actsAs => array( [maximum depth reached] ) recursive => (int) 1 belongsTo => array( [maximum depth reached] ) hasMany => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'songs' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'songs' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Song' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => 'all' order => null virtualFields => array([maximum depth reached]) __backAssociation => array( [maximum depth reached] ) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Product => object(Product) {} Artwork => object(AppModel) {} Artist => object(Artist) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } } array()
- CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
$response = $controller->response;
$render = true;
$result = $controller->invokeAction($request);
if ($result instanceof CakeResponse) {
object(CakeRequest) { params => array( 'plugin' => null, 'controller' => 'shop', 'action' => 'browse', 'named' => array( 'page' => '8', 'sort' => 'Song.created', 'direction' => 'desc', 'range' => 'alto,baritone,tenor,soprano,', 'available' => 'audio,sheet,' ), 'pass' => array(), 'isAjax' => false, 'models' => array( 'CartItem' => array( [maximum depth reached] ), 'Sale' => array( [maximum depth reached] ), 'Account' => array( [maximum depth reached] ), 'SaleItem' => array( [maximum depth reached] ), 'Album' => array( [maximum depth reached] ), 'Product' => array( [maximum depth reached] ), 'Artist' => array( [maximum depth reached] ), 'Artwork' => array( [maximum depth reached] ), 'Song' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' base => '' webroot => '/' here => '/shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), '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( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' }
- CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(ShopController, CakeRequest)
));
}
$response = $this->_invoke($controller, $request);
if (isset($request->params['return'])) {
object(ShopController) { name => 'Shop' uses => array( (int) 0 => 'Song', (int) 1 => 'Album', (int) 2 => 'Artist', (int) 3 => 'Browse', (int) 4 => 'CartItem', (int) 5 => 'Sale', (int) 6 => 'Account', (int) 7 => 'SaleItem', (int) 8 => 'Product' ) components => array( 'Session' => null, 'RequestHandler' => null, 'Email' => null, 'Auth' => null, 'Flash' => null, 'Paginator' => null ) paginate => array( 'Song' => array( 'limit' => (int) 15, 'order' => array( [maximum depth reached] ), 'group' => array( [maximum depth reached] ), 'conditions' => array( [maximum depth reached] ), 'contain' => array( [maximum depth reached] ), 'joins' => array( [maximum depth reached] ), 'recursive' => (int) 0 ) ) helpers => array( (int) 0 => 'Js', (int) 1 => 'Html', (int) 2 => 'Form', (int) 3 => 'Session', (int) 4 => 'Thumbnail' ) request => object(CakeRequest) { params => array( [maximum depth reached] ) data => array([maximum depth reached]) query => array([maximum depth reached]) url => 'shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' base => '' webroot => '/' here => '/shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' [protected] _detectors => array( [maximum depth reached] ) [protected] _input => '' } response => object(CakeResponse) { [protected] _statusCodes => array( [maximum depth reached] ) [protected] _mimeTypes => array( [maximum depth reached] ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array([maximum depth reached]) [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array([maximum depth reached]) [protected] _cookies => array([maximum depth reached]) } viewPath => 'Shop' layoutPath => null viewVars => array( 'action' => 'browse', 'controller' => 'shop', 'account' => null, 'cart_count' => (int) 0 ) view => 'browse' layout => 'default' autoRender => true autoLayout => true Components => object(ComponentCollection) { defaultPriority => (int) 10 [protected] _Controller => object(ShopController) {} [protected] _enabled => array( [maximum depth reached] ) [protected] _loaded => array( [maximum depth reached] ) } viewClass => 'View' View => null ext => '.ctp' plugin => null cacheAction => false passedArgs => array( 'page' => '8', 'sort' => 'Song.created', 'direction' => 'desc', 'range' => 'alto,baritone,tenor,soprano,', 'available' => 'audio,sheet,' ) scaffold => false methods => array( (int) 1 => 'index', (int) 2 => 'search', (int) 3 => 'tag', (int) 4 => 'browse', (int) 5 => '_makeURL', (int) 6 => 'afterPaypalNotification', (int) 7 => '_str_rand' ) modelClass => 'Song' modelKey => 'shop' validationErrors => null Session => object(SessionComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } RequestHandler => object(RequestHandlerComponent) { ajaxLayout => 'ajax' enabled => true request => object(CakeRequest) {} response => object(CakeResponse) {} ext => null settings => array( [maximum depth reached] ) components => array([maximum depth reached]) params => object(CakeRequest) {} [protected] _renderType => null [protected] _inputTypeMap => array( [maximum depth reached] ) [protected] _viewClassMap => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Email => object(EmailComponent) { to => null from => null replyTo => null readReceipt => null return => null cc => array([maximum depth reached]) bcc => array([maximum depth reached]) date => null subject => null headers => array([maximum depth reached]) additionalParams => null layout => 'default' template => null lineFeed => '' sendAs => 'text' delivery => 'mail' charset => 'UTF-8' attachments => array([maximum depth reached]) xMailer => 'CakePHP Email Component' filePaths => array([maximum depth reached]) smtpOptions => array([maximum depth reached]) textMessage => null htmlMessage => null messageId => true settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _controller => object(ShopController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } Auth => object(AuthComponent) { components => array( [maximum depth reached] ) authenticate => array( [maximum depth reached] ) authorize => false ajaxLogin => 'login' flash => array( [maximum depth reached] ) loginAction => array( [maximum depth reached] ) loginRedirect => null logoutRedirect => array( [maximum depth reached] ) authError => 'You\'ll need an account for this.' unauthorizedRedirect => true allowedActions => array( [maximum depth reached] ) request => object(CakeRequest) {} response => object(CakeResponse) {} settings => array([maximum depth reached]) userModel => 'Account' autoRedirect => false flashElement => 'flash_auth' loginError => 'Wrong email or password. Try Again' [protected] _authenticateObjects => array([maximum depth reached]) [protected] _authorizeObjects => array([maximum depth reached]) [protected] _user => array([maximum depth reached]) [protected] _methods => array( [maximum depth reached] ) [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array( [maximum depth reached] ) } Flash => object(FlashComponent) { settings => array([maximum depth reached]) components => array([maximum depth reached]) [protected] _defaultConfig => array( [maximum depth reached] ) [protected] _Collection => null [protected] _componentMap => array([maximum depth reached]) } Paginator => object(PaginatorComponent) { settings => array( [maximum depth reached] ) whitelist => array( [maximum depth reached] ) components => array([maximum depth reached]) Controller => object(ShopController) {} [protected] _Collection => object(ComponentCollection) {} [protected] _componentMap => array([maximum depth reached]) } app => null Artist => object(Artist) { name => 'Artist' actsAs => array( [maximum depth reached] ) recursive => (int) 0 hasMany => array( [maximum depth reached] ) belongsTo => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'artists' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'artists' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Artist' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => null order => null virtualFields => array([maximum depth reached]) __backAssociation => array([maximum depth reached]) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Artwork => object(AppModel) {} Account => object(Account) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } Song => object(Song) { name => 'Song' actsAs => array( [maximum depth reached] ) recursive => (int) 1 belongsTo => array( [maximum depth reached] ) hasMany => array( [maximum depth reached] ) validate => array( [maximum depth reached] ) useDbConfig => 'default' useTable => 'songs' id => false data => array([maximum depth reached]) schemaName => 'repertwa' table => 'songs' primaryKey => 'id' validationErrors => array([maximum depth reached]) validationDomain => null tablePrefix => '' plugin => null alias => 'Song' tableToModel => array( [maximum depth reached] ) cacheQueries => false hasOne => array([maximum depth reached]) hasAndBelongsToMany => array([maximum depth reached]) Behaviors => object(BehaviorCollection) {} whitelist => array([maximum depth reached]) cacheSources => true findQueryType => 'all' order => null virtualFields => array([maximum depth reached]) __backAssociation => array( [maximum depth reached] ) __backInnerAssociation => array([maximum depth reached]) __backOriginalAssociation => array([maximum depth reached]) __backContainableAssociation => array([maximum depth reached]) __safeUpdateMode => false useConsistentAfterFind => true findMethods => array( [maximum depth reached] ) Product => object(Product) {} Artwork => object(AppModel) {} Artist => object(Artist) {} [protected] _schema => array( [maximum depth reached] ) [protected] _associationKeys => array( [maximum depth reached] ) [protected] _associations => array( [maximum depth reached] ) [protected] _insertID => null [protected] _sourceConfigured => true [protected] _eventManager => object(CakeEventManager) {} [protected] _validator => null } [protected] _responseClass => 'CakeResponse' [protected] _mergeParent => 'AppController' [protected] _eventManager => object(CakeEventManager) { [protected] _generalManager => object(CakeEventManager) {} [protected] _listeners => array( [maximum depth reached] ) [protected] _isGlobal => false } } object(CakeRequest) { params => array( 'plugin' => null, 'controller' => 'shop', 'action' => 'browse', 'named' => array( 'page' => '8', 'sort' => 'Song.created', 'direction' => 'desc', 'range' => 'alto,baritone,tenor,soprano,', 'available' => 'audio,sheet,' ), 'pass' => array(), 'isAjax' => false, 'models' => array( 'CartItem' => array( [maximum depth reached] ), 'Sale' => array( [maximum depth reached] ), 'Account' => array( [maximum depth reached] ), 'SaleItem' => array( [maximum depth reached] ), 'Album' => array( [maximum depth reached] ), 'Product' => array( [maximum depth reached] ), 'Artist' => array( [maximum depth reached] ), 'Artwork' => array( [maximum depth reached] ), 'Song' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' base => '' webroot => '/' here => '/shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), '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( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' }
- APP/webroot/index.php line 107 → Dispatcher->dispatch(CakeRequest, CakeResponse)
$Dispatcher = new Dispatcher();
$Dispatcher->dispatch(
new CakeRequest(),
new CakeResponse()
);
object(CakeRequest) { params => array( 'plugin' => null, 'controller' => 'shop', 'action' => 'browse', 'named' => array( 'page' => '8', 'sort' => 'Song.created', 'direction' => 'desc', 'range' => 'alto,baritone,tenor,soprano,', 'available' => 'audio,sheet,' ), 'pass' => array(), 'isAjax' => false, 'models' => array( 'CartItem' => array( [maximum depth reached] ), 'Sale' => array( [maximum depth reached] ), 'Account' => array( [maximum depth reached] ), 'SaleItem' => array( [maximum depth reached] ), 'Album' => array( [maximum depth reached] ), 'Product' => array( [maximum depth reached] ), 'Artist' => array( [maximum depth reached] ), 'Artwork' => array( [maximum depth reached] ), 'Song' => array( [maximum depth reached] ) ) ) data => array() query => array() url => 'shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' base => '' webroot => '/' here => '/shop/browse/page:8/sort:Song.created/direction:desc/range:alto%2Cbaritone%2Ctenor%2Csoprano%2C/available:audio%2Csheet%2C' [protected] _detectors => array( 'get' => array( 'env' => 'REQUEST_METHOD', 'value' => 'GET' ), 'post' => array( 'env' => 'REQUEST_METHOD', 'value' => 'POST' ), 'put' => array( 'env' => 'REQUEST_METHOD', 'value' => 'PUT' ), 'delete' => array( 'env' => 'REQUEST_METHOD', 'value' => 'DELETE' ), 'head' => array( 'env' => 'REQUEST_METHOD', 'value' => 'HEAD' ), 'options' => array( 'env' => 'REQUEST_METHOD', 'value' => 'OPTIONS' ), 'ssl' => array( 'env' => 'HTTPS', 'value' => (int) 1 ), '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( [maximum depth reached] ) ), 'requested' => array( 'param' => 'requested', 'value' => (int) 1 ), 'json' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'json' ), 'xml' => array( 'accept' => array( [maximum depth reached] ), 'param' => 'ext', 'value' => 'xml' ) ) [protected] _input => '' } object(CakeResponse) { [protected] _statusCodes => array( (int) 100 => 'Continue', (int) 101 => 'Switching Protocols', (int) 200 => 'OK', (int) 201 => 'Created', (int) 202 => 'Accepted', (int) 203 => 'Non-Authoritative Information', (int) 204 => 'No Content', (int) 205 => 'Reset Content', (int) 206 => 'Partial Content', (int) 300 => 'Multiple Choices', (int) 301 => 'Moved Permanently', (int) 302 => 'Found', (int) 303 => 'See Other', (int) 304 => 'Not Modified', (int) 305 => 'Use Proxy', (int) 307 => 'Temporary Redirect', (int) 400 => 'Bad Request', (int) 401 => 'Unauthorized', (int) 402 => 'Payment Required', (int) 403 => 'Forbidden', (int) 404 => 'Not Found', (int) 405 => 'Method Not Allowed', (int) 406 => 'Not Acceptable', (int) 407 => 'Proxy Authentication Required', (int) 408 => 'Request Time-out', (int) 409 => 'Conflict', (int) 410 => 'Gone', (int) 411 => 'Length Required', (int) 412 => 'Precondition Failed', (int) 413 => 'Request Entity Too Large', (int) 414 => 'Request-URI Too Large', (int) 415 => 'Unsupported Media Type', (int) 416 => 'Requested range not satisfiable', (int) 417 => 'Expectation Failed', (int) 429 => 'Too Many Requests', (int) 500 => 'Internal Server Error', (int) 501 => 'Not Implemented', (int) 502 => 'Bad Gateway', (int) 503 => 'Service Unavailable', (int) 504 => 'Gateway Time-out', (int) 505 => 'Unsupported Version' ) [protected] _mimeTypes => array( 'html' => array( (int) 0 => 'text/html', (int) 1 => '*/*' ), 'json' => 'application/json', 'xml' => array( (int) 0 => 'application/xml', (int) 1 => 'text/xml' ), 'rss' => 'application/rss+xml', 'ai' => 'application/postscript', 'bcpio' => 'application/x-bcpio', 'bin' => 'application/octet-stream', 'ccad' => 'application/clariscad', 'cdf' => 'application/x-netcdf', 'class' => 'application/octet-stream', 'cpio' => 'application/x-cpio', 'cpt' => 'application/mac-compactpro', 'csh' => 'application/x-csh', 'csv' => array( (int) 0 => 'text/csv', (int) 1 => 'application/vnd.ms-excel' ), 'dcr' => 'application/x-director', 'dir' => 'application/x-director', 'dms' => 'application/octet-stream', 'doc' => 'application/msword', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'drw' => 'application/drafting', 'dvi' => 'application/x-dvi', 'dwg' => 'application/acad', 'dxf' => 'application/dxf', 'dxr' => 'application/x-director', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'exe' => 'application/octet-stream', 'ez' => 'application/andrew-inset', 'flv' => 'video/x-flv', 'gtar' => 'application/x-gtar', 'gz' => 'application/x-gzip', 'bz2' => 'application/x-bzip', '7z' => 'application/x-7z-compressed', 'hdf' => 'application/x-hdf', 'hqx' => 'application/mac-binhex40', 'ico' => 'image/x-icon', 'ips' => 'application/x-ipscript', 'ipx' => 'application/x-ipix', 'js' => 'application/javascript', 'latex' => 'application/x-latex', 'lha' => 'application/octet-stream', 'lsp' => 'application/x-lisp', 'lzh' => 'application/octet-stream', 'man' => 'application/x-troff-man', 'me' => 'application/x-troff-me', 'mif' => 'application/vnd.mif', 'ms' => 'application/x-troff-ms', 'nc' => 'application/x-netcdf', 'oda' => 'application/oda', 'otf' => 'font/otf', 'pdf' => 'application/pdf', 'pgn' => 'application/x-chess-pgn', 'pot' => 'application/vnd.ms-powerpoint', 'pps' => 'application/vnd.ms-powerpoint', 'ppt' => 'application/vnd.ms-powerpoint', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'ppz' => 'application/vnd.ms-powerpoint', 'pre' => 'application/x-freelance', 'prt' => 'application/pro_eng', 'ps' => 'application/postscript', 'roff' => 'application/x-troff', 'scm' => 'application/x-lotusscreencam', 'set' => 'application/set', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'sit' => 'application/x-stuffit', 'skd' => 'application/x-koan', 'skm' => 'application/x-koan', 'skp' => 'application/x-koan', 'skt' => 'application/x-koan', 'smi' => 'application/smil', 'smil' => 'application/smil', 'sol' => 'application/solids', 'spl' => 'application/x-futuresplash', 'src' => 'application/x-wais-source', 'step' => 'application/STEP', 'stl' => 'application/SLA', 'stp' => 'application/STEP', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swf' => 'application/x-shockwave-flash', 't' => 'application/x-troff', 'tar' => 'application/x-tar', 'tcl' => 'application/x-tcl', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'tr' => 'application/x-troff', 'tsp' => 'application/dsptype', 'ttc' => 'font/ttf', 'ttf' => 'font/ttf', 'unv' => 'application/i-deas', 'ustar' => 'application/x-ustar', 'vcd' => 'application/x-cdlink', 'vda' => 'application/vda', 'xlc' => 'application/vnd.ms-excel', 'xll' => 'application/vnd.ms-excel', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlw' => 'application/vnd.ms-excel', 'zip' => 'application/zip', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'au' => 'audio/basic', 'kar' => 'audio/midi', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mp2' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mpga' => 'audio/mpeg', 'ogg' => 'audio/ogg', 'oga' => 'audio/ogg', 'spx' => 'audio/ogg', 'ra' => 'audio/x-realaudio', 'ram' => 'audio/x-pn-realaudio', 'rm' => 'audio/x-pn-realaudio', 'rpm' => 'audio/x-pn-realaudio-plugin', 'snd' => 'audio/basic', 'tsi' => 'audio/TSP-audio', 'wav' => 'audio/x-wav', 'aac' => 'audio/aac', 'asc' => 'text/plain', 'c' => 'text/plain', 'cc' => 'text/plain', 'css' => 'text/css', 'etx' => 'text/x-setext', 'f' => 'text/plain', 'f90' => 'text/plain', 'h' => 'text/plain', 'hh' => 'text/plain', 'htm' => array( (int) 0 => 'text/html', (int) 1 => '*/*' ), 'ics' => 'text/calendar', 'm' => 'text/plain', 'rtf' => 'text/rtf', 'rtx' => 'text/richtext', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'tsv' => 'text/tab-separated-values', 'tpl' => 'text/template', 'txt' => 'text/plain', 'text' => 'text/plain', 'avi' => 'video/x-msvideo', 'fli' => 'video/x-fli', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'qt' => 'video/quicktime', 'viv' => 'video/vnd.vivo', 'vivo' => 'video/vnd.vivo', 'ogv' => 'video/ogg', 'webm' => 'video/webm', 'mp4' => 'video/mp4', 'm4v' => 'video/mp4', 'f4v' => 'video/mp4', 'f4p' => 'video/mp4', 'm4a' => 'audio/mp4', 'f4a' => 'audio/mp4', 'f4b' => 'audio/mp4', 'gif' => 'image/gif', 'ief' => 'image/ief', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'pbm' => 'image/x-portable-bitmap', 'pgm' => 'image/x-portable-graymap', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'ppm' => 'image/x-portable-pixmap', 'ras' => 'image/cmu-raster', 'rgb' => 'image/x-rgb', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'xbm' => 'image/x-xbitmap', 'xpm' => 'image/x-xpixmap', 'xwd' => 'image/x-xwindowdump', 'ice' => 'x-conference/x-cooltalk', 'iges' => 'model/iges', 'igs' => 'model/iges', 'mesh' => 'model/mesh', 'msh' => 'model/mesh', 'silo' => 'model/mesh', 'vrml' => 'model/vrml', 'wrl' => 'model/vrml', 'mime' => 'www/mime', 'pdb' => 'chemical/x-pdb', 'xyz' => 'chemical/x-pdb', 'javascript' => 'application/javascript', 'form' => 'application/x-www-form-urlencoded', 'file' => 'multipart/form-data', 'xhtml' => array( (int) 0 => 'application/xhtml+xml', (int) 1 => 'application/xhtml', (int) 2 => 'text/xhtml' ), 'xhtml-mobile' => 'application/vnd.wap.xhtml+xml', 'atom' => 'application/atom+xml', 'amf' => 'application/x-amf', 'wap' => array( (int) 0 => 'text/vnd.wap.wml', (int) 1 => 'text/vnd.wap.wmlscript', (int) 2 => 'image/vnd.wap.wbmp' ), 'wml' => 'text/vnd.wap.wml', 'wmlscript' => 'text/vnd.wap.wmlscript', 'wbmp' => 'image/vnd.wap.wbmp', 'woff' => 'application/x-font-woff', 'webp' => 'image/webp', 'appcache' => 'text/cache-manifest', 'manifest' => 'text/cache-manifest', 'htc' => 'text/x-component', 'rdf' => 'application/xml', 'crx' => 'application/x-chrome-extension', 'oex' => 'application/x-opera-extension', 'xpi' => 'application/x-xpinstall', 'safariextz' => 'application/octet-stream', 'webapp' => 'application/x-web-app-manifest+json', 'vcf' => 'text/x-vcard', 'vtt' => 'text/vtt', 'mkv' => 'video/x-matroska', 'pkpass' => 'application/vnd.apple.pkpass' ) [protected] _protocol => 'HTTP/1.1' [protected] _status => (int) 200 [protected] _contentType => 'text/html' [protected] _headers => array() [protected] _body => null [protected] _file => null [protected] _fileRange => null [protected] _charset => 'UTF-8' [protected] _cacheDirectives => array() [protected] _cookies => array() }