예제 #1
0
파일: crud.php 프로젝트: nemein/openpsa
 /**
  * Generates an object view.
  *
  * @param mixed $handler_id The ID of the handler.
  * @param array $args The argument list.
  * @param array &$data The local request data.
  */
 public function _handler_read($handler_id, array $args, array &$data)
 {
     $this->_mode = 'read';
     $this->_load_object($handler_id, $args, $data);
     $this->_load_schemadb();
     if ($GLOBALS['midcom_config']['enable_ajax_editing']) {
         // AJAX editing is possible
         $this->_load_controller('ajax');
         $this->_controller->process_ajax();
         $this->_datamanager =& $this->_controller->datamanager;
     } else {
         $this->_load_datamanager();
     }
     $this->_prepare_request_data();
     if ($this->_controller) {
         // For AJAX handling it is the controller that renders everything
         $this->_request_data['object_view'] = $this->_controller->get_content_html();
     } else {
         $this->_request_data['object_view'] = $this->_datamanager->get_content_html();
     }
     // Call the per-component metadata methods
     $this->_populate_toolbar($handler_id);
     $this->_update_title($handler_id);
     $this->_update_breadcrumb($handler_id);
     // Let MidCOM know about the object
     midcom::get('metadata')->set_request_metadata($this->_object->metadata->revised, $this->_object->guid);
     $this->bind_view_to_object($this->_object, $this->_datamanager->schema->name);
     $this->_handler_callback($handler_id, $args, $data);
 }