SYSPATH/classes/Kohana/Response.php [ 458 ]
453 $file = fopen($filename, 'rb');
454 }
455
456 if ( ! is_resource($file))
457 {
458 throw new Kohana_Exception('Could not read file to send: :file', array(
459 ':file' => $download,
460 ));
461 }
462
463 // Inline or download?
-
APPPATH/classes/Controller/Ajax.php [ 553 ] » Kohana_Response->send_file(arguments)
0
string(27) "public_files/1862479672.zip"
1
string(14) "1862479672.zip"
2
array(1) ( "mime_type" => string(17) "application/x-zip" )
548 $data = Model::factory("User")->get_edum(htmlspecialchars($id)); 549 if (count($data) > 0) { 550 Model::factory("User")->inc_downloads_edum(htmlspecialchars($id)); 551 $userfile_name = $data[0]["edum_file"]; 552 $userfile_extn = substr($userfile_name, strrpos($userfile_name, '.') + 1); 553 $this->response->send_file('public_files/' . $data[0]["edum_file"], $data[0]["edum_file"], array('mime_type' => File::mime_by_ext($userfile_extn))); 554 } else { 555 header('HTTP/1.0 404 Not Found', true, 404); 556 557 echo '404. File not found'; 558
-
SYSPATH/classes/Kohana/Controller.php [ 84 ] » Controller_Ajax->action_download()
79 array(':uri' => $this->request->uri()) 80 )->request($this->request); 81 } 82 83 // Execute the action itself 84 $this->{$action}(); 85 86 // Execute the "after action" method 87 $this->after(); 88 89 // Return the response
-
{PHP internal call} » Kohana_Controller->execute()
-
SYSPATH/classes/Kohana/Request/Client/Internal.php [ 97 ] » ReflectionMethod->invoke(arguments)
0
object Controller_Ajax(4)
{ public shopId => string(6) "668577" public secretKey => string(48) "live_iGpk2J4joAAox2fQF7VwgLI8f5FiF4ofhkUW0imYfDw" public request => object Request(19)
{ protected _requested_with => NULL protected _method => string(3) "GET" protected _protocol => string(8) "HTTP/1.0" protected _secure => bool TRUE protected _referrer => NULL protected _route => object Route(5)
public response => object Response(5){ protected _filters => array(0) protected _uri => string(8) "download" protected _regex => array(0) protected _defaults => array(2) ( "controller" => string(4) "ajax" "action" => string(8) "download" ) protected _route_regex => string(14) "#^download$#uD" }
protected _routes => array(0) protected _header => object HTTP_Header(0){ }
protected _body => NULL protected _directory => string(0) "" protected _controller => string(4) "Ajax" protected _action => string(8) "download" protected _uri => string(8) "download" protected _external => bool FALSE protected _params => array(0) protected _get => array(2) ( "s" => string(9) "materials" "id" => string(3) "494" ) protected _post => array(0) protected _cookies => array(0) protected _client => object Request_Client_Internal(9){ protected _previous_environment => NULL protected _cache => NULL protected _follow => bool FALSE protected _follow_headers => array(1) ( 0 => string(13) "Authorization" ) protected _strict_redirect => bool TRUE protected _header_callbacks => array(1) ( "Location" => string(34) "Request_Client::on_header_location" ) protected _max_callback_depth => integer 5 protected _callback_depth => integer 1 protected _callback_params => array(0) }
}{ protected _status => integer 200 protected _header => object HTTP_Header(0)
}{ }
protected _body => string(0) "" protected _cookies => array(0) protected _protocol => string(8) "HTTP/1.0" }92 93 // Create a new instance of the controller 94 $controller = $class->newInstance($request, $response); 95 96 // Run the controller's execute() method 97 $response = $class->getMethod('execute')->invoke($controller); 98 99 if ( ! $response instanceof Response) 100 { 101 // Controller failed to return a Response. 102 throw new Kohana_Exception('Controller failed to return a Response');
-
SYSPATH/classes/Kohana/Request/Client.php [ 114 ] » Kohana_Request_Client_Internal->execute_request(arguments)
0
object Request(19)
{ protected _requested_with => NULL protected _method => string(3) "GET" protected _protocol => string(8) "HTTP/1.0" protected _secure => bool TRUE protected _referrer => NULL protected _route => object Route(5)
{ protected _filters => array(0) protected _uri => string(8) "download" protected _regex => array(0) protected _defaults => array(2) ( "controller" => string(4) "ajax" "action" => string(8) "download" ) protected _route_regex => string(14) "#^download$#uD" }
protected _routes => array(0) protected _header => object HTTP_Header(0){ }
protected _body => NULL protected _directory => string(0) "" protected _controller => string(4) "Ajax" protected _action => string(8) "download" protected _uri => string(8) "download" protected _external => bool FALSE protected _params => array(0) protected _get => array(2) ( "s" => string(9) "materials" "id" => string(3) "494" ) protected _post => array(0) protected _cookies => array(0) protected _client => object Request_Client_Internal(9){ protected _previous_environment => NULL protected _cache => NULL protected _follow => bool FALSE protected _follow_headers => array(1) ( 0 => string(13) "Authorization" ) protected _strict_redirect => bool TRUE protected _header_callbacks => array(1) ( "Location" => string(34) "Request_Client::on_header_location" ) protected _max_callback_depth => integer 5 protected _callback_depth => integer 1 protected _callback_params => array(0) }
}1
object Response(5)
{ protected _status => integer 200 protected _header => object HTTP_Header(0)
{ }
protected _body => string(0) "" protected _cookies => array(0) protected _protocol => string(8) "HTTP/1.0" }109 $orig_response = $response = Response::factory(array('_protocol' => $request->protocol())); 110 111 if (($cache = $this->cache()) instanceof HTTP_Cache) 112 return $cache->execute($this, $request, $response); 113 114 $response = $this->execute_request($request, $response); 115 116 // Execute response callbacks 117 foreach ($this->header_callbacks() as $header => $callback) 118 { 119 if ($response->headers($header))
-
SYSPATH/classes/Kohana/Request.php [ 986 ] » Kohana_Request_Client->execute(arguments)
0
object Request(19)
{ protected _requested_with => NULL protected _method => string(3) "GET" protected _protocol => string(8) "HTTP/1.0" protected _secure => bool TRUE protected _referrer => NULL protected _route => object Route(5)
{ protected _filters => array(0) protected _uri => string(8) "download" protected _regex => array(0) protected _defaults => array(2) ( "controller" => string(4) "ajax" "action" => string(8) "download" ) protected _route_regex => string(14) "#^download$#uD" }
protected _routes => array(0) protected _header => object HTTP_Header(0){ }
protected _body => NULL protected _directory => string(0) "" protected _controller => string(4) "Ajax" protected _action => string(8) "download" protected _uri => string(8) "download" protected _external => bool FALSE protected _params => array(0) protected _get => array(2) ( "s" => string(9) "materials" "id" => string(3) "494" ) protected _post => array(0) protected _cookies => array(0) protected _client => object Request_Client_Internal(9){ protected _previous_environment => NULL protected _cache => NULL protected _follow => bool FALSE protected _follow_headers => array(1) ( 0 => string(13) "Authorization" ) protected _strict_redirect => bool TRUE protected _header_callbacks => array(1) ( "Location" => string(34) "Request_Client::on_header_location" ) protected _max_callback_depth => integer 5 protected _callback_depth => integer 1 protected _callback_params => array(0) }
}981 throw new Request_Exception('Unable to execute :uri without a Kohana_Request_Client', array( 982 ':uri' => $this->_uri, 983 )); 984 } 985 986 return $this->_client->execute($this); 987 } 988 989 /** 990 * Returns whether this request is the initial request Kohana received. 991 * Can be used to test for sub requests.
-
DOCROOT/index.php [ 123 ] » Kohana_Request->execute()
118 * Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO']. 119 * If no source is specified, the URI will be automatically detected. 120 */ 121 122 echo Request::factory(TRUE, array(), FALSE) 123 ->execute() 124 ->send_headers(TRUE) 125 ->body(); 126 }