/** * Outputs the object as plain text. * @param EXCEPTION_SIGNATURE $obj * @access private * @abstract */ protected function _display_as_plain_text($obj) { $page_name = $obj->page_name; $dynamic_class_name = $obj->dynamic_class_name; $class_name = $obj->class_name; $application_description = $obj->application_description; $routine_name = $obj->routine_name; $error_message = $obj->message; $browser = $this->env->browser(); echo $this->par($error_message); echo $this->sep(); $table = new TEXT_TABLE_RENDERER($this); $table->add_item('Page', $page_name); if ($application_description) { $table->add_item('Application', $application_description); } if ($routine_name) { if ($dynamic_class_name) { if ($dynamic_class_name != $class_name) { $table->add_item('Class', "{$dynamic_class_name} ({$class_name})"); } else { $table->add_item('Class', $class_name); } } else { $table->add_item('Class', $class_name); } if ($class_name == $routine_name) { $table->add_item('Routine', '<constructor>'); } else { $table->add_item('Routine', $routine_name); } } else { $table->add_item('Scope', 'global'); } $table->add_separator(); $table->add_item('Server', $this->env->server_info()); $table->add_item('Library', 'WebCore ' . $this->env->version); /** @var $options EXCEPTION_RENDERER_OPTIONS */ $options = $this->_options; if ($options->include_browser_info) { $table->add_separator(); $table->add_item('Browser', $browser->description_as_plain_text()); $table->add_item('OS', $browser->system_id()); $table->add_item('User agent', $browser->user_agent_string); } $table->display(); echo $this->line(); if ($options->include_page_data) { $this->_show_array_as_text('Post', $obj->variables_for(Var_type_post)); $this->_show_array_as_text('URL', $obj->variables_for(Var_type_get)); $this->_show_array_as_text('Cookie', $obj->variables_for(Var_type_cookie)); $this->_show_array_as_text('Uploads', $obj->variables_for(Var_type_upload)); } }