Example #1
0
 /**
  * Handler for folder move. Checks for updating permissions, initializes
  * the move and the content topic itself. Handles also the sent form.
  *
  * @param mixed $handler_id The ID of the handler.
  * @param Array $args The argument list.
  * @param Array &$data The local request data.
  * @return boolean Indicating success
  */
 public function _handler_move($handler_id, array $args, array &$data)
 {
     $this->_object = midcom::get('dbfactory')->get_object_by_guid($args[0]);
     if (!is_a($this->_object, 'midcom_db_topic') && !is_a($this->_object, 'midcom_db_article')) {
         throw new midcom_error_notfound("Moving only topics and articles is supported.");
     }
     $this->_object->require_do('midgard:update');
     if (isset($_POST['move_to'])) {
         $this->_move_object((int) $_POST['move_to']);
         return new midcom_response_relocate(midcom::get('permalinks')->create_permalink($this->_object->guid));
     }
     $object_label = midcom_helper_reflector::get($this->_object)->get_object_label($this->_object);
     if (is_a($this->_object, 'midcom_db_topic')) {
         // This is a topic
         $this->_object->require_do('midcom.admin.folder:topic_management');
         $this->_node_toolbar->hide_item("__ais/folder/move/{$this->_object->guid}/");
         $data['current_folder'] = new midcom_db_topic($this->_object->up);
     } else {
         // This is a regular object, bind to view
         $this->bind_view_to_object($this->_object);
         $this->add_breadcrumb(midcom::get('permalinks')->create_permalink($this->_object->guid), $object_label);
         $this->_view_toolbar->hide_item("__ais/folder/move/{$this->_object->guid}/");
         $data['current_folder'] = new midcom_db_topic($this->_object->topic);
     }
     $this->add_breadcrumb("__ais/folder/move/{$this->_object->guid}/", $this->_l10n->get('move'));
     $data['title'] = sprintf(midcom::get('i18n')->get_string('move %s', 'midcom.admin.folder'), $object_label);
     midcom::get('head')->set_pagetitle($data['title']);
     // Ensure we get the correct styles
     midcom::get('style')->prepend_component_styledir('midcom.admin.folder');
     $this->add_stylesheet(MIDCOM_STATIC_URL . '/midcom.admin.folder/folder.css');
 }
Example #2
0
 private function _update_score($identifier, $score)
 {
     // Use the DB Factory to resolve the class and to get the object
     try {
         $object = midcom::get('dbfactory')->get_object_by_guid($identifier);
     } catch (midcom_error $e) {
         // This is probably a pseudo leaf, store the score to the current node
         $this->_topic->set_parameter('midcom.helper.nav.score', $identifier, $score);
         return true;
         // This will skip the rest of the handling
     }
     // Get the original approval status and update metadata reference
     $metadata = midcom_helper_metadata::retrieve($object);
     if (!is_object($metadata)) {
         throw new midcom_error("Could not fetch metadata for object {$object->guid}");
     }
     // Make sure this is reference to correct direction (from our point of view)
     $metadata->__object =& $object;
     // Get the approval status if metadata object is available
     $approval_status = false;
     if ($metadata->is_approved()) {
         $approval_status = true;
     }
     $object->metadata->score = $score;
     //$metadata->set() calls update *AND* updates the metadata cache correctly, thus we use that in stead of raw update
     if (!$metadata->set('score', $object->metadata->score)) {
         // Show an error message on an update failure
         $reflector =& midcom_helper_reflector::get($object);
         $title = $reflector->get_class_label() . ' ' . $reflector->get_object_label($object);
         midcom::get('uimessages')->add($this->_l10n->get('midcom.admin.folder'), sprintf($this->_l10n->get('failed to update %s due to: %s'), $title, midcom_connection::get_error_string()), 'error');
         return false;
     }
     // Approve if possible
     if ($approval_status && $object->can_do('midcom:approve')) {
         if (!isset($metadata)) {
             $metadata = midcom_helper_metadata::retrieve($object);
         }
         $metadata->approve();
     }
     return true;
 }
Example #3
0
<?php

/**
 * @package midcom.helper.reflector
 * @author The Midgard Project, http://www.midgard-project.org
 * @copyright The Midgard Project, http://www.midgard-project.org
 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License
 */
if (!isset($_GET['guid']) || empty($_GET['guid'])) {
    throw new midcom_error_notfound('Specify $guid via GET for info');
}
$object = midcom::get('dbfactory')->get_object_by_guid($_GET['guid']);
$reflector =& midcom_helper_reflector::get($object);
echo "Got " . $reflector->get_class_label() . ' "' . $reflector->get_object_label($object) . "\", dump<pre>\n";
var_dump($object);
echo "</pre>\n";
if (midcom_helper_reflector_tree::has_children($object)) {
    echo "Object has children<br/>\n";
    echo "Child counts <pre>\n";
    $counts = midcom_helper_reflector_tree::count_child_objects($object);
    print_r($counts);
    echo "</pre>\n";
    echo "Child objects dump<pre>\n";
    $children = midcom_helper_reflector_tree::get_child_objects($object);
    var_dump($children);
    echo "</pre>\n";
}
Example #4
0
 /**
  * Populate the object breadcrumb
  *
  * @param mixed $object        MgdSchema object for which the toolbar will be created
  * @param String $handler_id   Initialized handler id
  * @param array $data          Local request data
  */
 private static function _set_object_breadcrumb($object, $handler_id, &$data)
 {
     $tmp = array();
     $breadcrumb = array();
     $label = $data['object_reflector']->get_object_label($object);
     $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('view', $object->guid), MIDCOM_NAV_NAME => $label);
     $parent = $object->get_parent();
     if (is_a($object, 'midcom_db_parameter') && is_object($parent) && $parent->guid) {
         // Add "parameters" list to breadcrumb if we're in a param
         $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('parameters', $parent->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('parameters', 'midcom'));
     }
     $i = 0;
     while (is_object($parent) && $parent->guid && $i < 10) {
         $i++;
         $parent_reflector = midcom_helper_reflector::get($parent);
         $parent_label = $parent_reflector->get_object_label($parent);
         $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('view', $parent->guid), MIDCOM_NAV_NAME => $parent_label);
         $parent = $parent->get_parent();
     }
     $breadcrumb = array_reverse($breadcrumb);
     switch ($handler_id) {
         case '____mfa-asgard-object_edit':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('edit', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('edit', 'midcom'));
             break;
         case '____mfa-asgard-object_copy':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('copy', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('copy', 'midcom'));
             break;
         case '____mfa-asgard-object_copy_tree':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('copy/tree', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('copy', 'midcom'));
             break;
         case '____mfa-asgard-components_configuration_edit_folder':
             $breadcrumb[] = array(MIDCOM_NAV_URL => "__mfa/asgard/components/configuration/edit/{$object->component}/{$object->guid}/", MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('component configuration', 'midcom'));
             break;
         case '____mfa-asgard-object_metadata':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('metadata', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('metadata', 'midcom'));
             break;
         case '____mfa-asgard-object_attachments':
         case '____mfa-asgard-object_attachments_edit':
         case '____mfa-asgard-object_attachments_delete':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('attachments', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('attachments', 'midgard.admin.asgard'));
             if ($handler_id == '____mfa-asgard-object_attachments_edit') {
                 $breadcrumb[] = array(MIDCOM_NAV_URL => "__mfa/asgard/object/attachments/{$object->guid}/edit/", MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('edit', 'midcom'));
             }
             if ($handler_id == '____mfa-asgard-object_attachments_delete') {
                 $breadcrumb[] = array(MIDCOM_NAV_URL => "__mfa/asgard/object/attachments/{$object->guid}/delete/", MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('delete', 'midcom'));
             }
             break;
         case '____mfa-asgard-object_parameters':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('parameters', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('parameters', 'midcom'));
             break;
         case '____mfa-asgard-object_permissions':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('permissions', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('privileges', 'midcom'));
             break;
         case '____mfa-asgard-object_create':
             if ($data['new_type_arg'] == 'midgard_parameter') {
                 // Add "parameters" list to breadcrumb if we're creating a param
                 $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('parameters', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('parameters', 'midcom'));
             }
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('create' . $data['new_type_arg'], $object->guid), MIDCOM_NAV_NAME => sprintf(midcom::get('i18n')->get_string('create %s', 'midcom'), midgard_admin_asgard_plugin::get_type_label($data['new_type_arg'])));
             break;
         case '____mfa-asgard-object_delete':
             $breadcrumb[] = array(MIDCOM_NAV_URL => self::_generate_url('delete', $object->guid), MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('delete', 'midcom'));
             break;
         case '____mfa-asgard_midcom.helper.replicator-object':
             $breadcrumb[] = array(MIDCOM_NAV_URL => "__mfa/asgard_midcom.helper.replicator/object/{$object->guid}/", MIDCOM_NAV_NAME => midcom::get('i18n')->get_string('replication information', 'midcom.helper.replicator'));
             break;
         case '____mfa-asgard-object_rcs_diff':
             $tmp[] = array(MIDCOM_NAV_URL => "__mfa/asgard/object/rcs/preview/{$object->guid}/{$data['args'][1]}/{$data['args'][2]}", MIDCOM_NAV_NAME => sprintf($data['l10n']->get('differences between %s and %s'), $data['args'][1], $data['args'][2]));
         case '____mfa-asgard-object_rcs_preview':
             if (isset($data['args'][2])) {
                 $current = $data['args'][2];
             } else {
                 $current = $data['args'][1];
             }
             $tmp[] = array(MIDCOM_NAV_URL => "__mfa/asgard/object/rcs/preview/{$object->guid}/{$current}/", MIDCOM_NAV_NAME => sprintf($data['l10n']->get('version %s'), $current));
         case '____mfa-asgard-object_rcs_history':
             $tmp[] = array(MIDCOM_NAV_URL => "__mfa/asgard/object/rcs/{$object->guid}/", MIDCOM_NAV_NAME => $data['l10n']->get('show history'));
             $tmp = array_reverse($tmp);
             $breadcrumb = array_merge($breadcrumb, $tmp);
             break;
     }
     midcom_core_context::get()->set_custom_key('midcom.helper.nav.breadcrumb', $breadcrumb);
 }
Example #5
0
 /**
  * Helper to update the breadcrumb
  */
 private function _update_breadcrumb()
 {
     $ref = midcom_helper_reflector::get($this->_linked_object);
     $object_label = $ref->get_object_label($this->_linked_object);
     $this->add_breadcrumb(midcom::get('permalinks')->create_permalink($this->_linked_object->guid), $object_label);
     $this->add_breadcrumb('', $this->_l10n->get('billing data') . " : " . $object_label);
 }
Example #6
0
 private function _add_linked_field($key)
 {
     $linked_type = $this->_reflector->get_link_name($key);
     $linked_type_reflector = midcom_helper_reflector::get($linked_type);
     $field_type = $this->_reflector->get_midgard_type($key);
     if ($key == 'up') {
         $field_label = sprintf($this->_l10n->get('under %s'), midgard_admin_asgard_plugin::get_type_label($linked_type));
     } else {
         $type_label = midgard_admin_asgard_plugin::get_type_label($linked_type);
         if (substr($type_label, 0, strlen($key)) == $key) {
             // Handle abbreviations like "lang" for "language"
             $field_label = $type_label;
         } else {
             if ($key == $type_label) {
                 $field_label = $key;
             } else {
                 $ref = midcom_helper_reflector::get($this->_object);
                 $component_l10n = $ref->get_component_l10n();
                 $field_label = sprintf($this->_l10n->get('%s (%s)'), $component_l10n->get($key), $type_label);
             }
         }
     }
     // Get the chooser widgets
     switch ($field_type) {
         case MGD_TYPE_UINT:
         case MGD_TYPE_STRING:
         case MGD_TYPE_GUID:
             $class = midcom::get('dbclassloader')->get_midcom_class_name_for_mgdschema_object($linked_type);
             if (!$class) {
                 break;
             }
             $component = midcom::get('dbclassloader')->get_component_for_class($linked_type);
             $this->_schemadb['object']->append_field($key, array('title' => $field_label, 'storage' => $key, 'type' => 'select', 'type_config' => array('require_corresponding_option' => false, 'options' => array(), 'allow_other' => true, 'allow_multiple' => false), 'widget' => 'chooser', 'widget_config' => array('class' => $class, 'component' => $component, 'titlefield' => $linked_type_reflector->get_label_property(), 'id_field' => $this->_reflector->get_link_target($key), 'searchfields' => $linked_type_reflector->get_search_properties(), 'result_headers' => $this->_get_result_headers($linked_type_reflector), 'orders' => array(), 'creation_mode_enabled' => true, 'creation_handler' => midcom_connection::get_url('self') . "__mfa/asgard/object/create/chooser/{$linked_type}/", 'creation_default_key' => $linked_type_reflector->get_label_property(), 'generate_path_for' => midcom_helper_reflector::get_name_property($this->_object))));
             break;
     }
 }
Example #7
0
 /**
  * Trash view
  *
  * @param mixed $handler_id The ID of the handler.
  * @param Array $args The argument list.
  * @param Array &$data The local request data.
  * @return boolean Indicating success.
  */
 public function _handler_trash_type($handler_id, array $args, array &$data)
 {
     midcom::get('auth')->require_admin_user();
     midcom::get('cache')->content->no_cache();
     $this->type = $args[0];
     $data['view_title'] = midgard_admin_asgard_plugin::get_type_label($this->type);
     midcom::get('head')->set_pagetitle($data['view_title']);
     $dummy = new $this->type();
     $data['midcom_dba_classname'] = midcom::get('dbclassloader')->get_midcom_class_name_for_mgdschema_object($dummy);
     $data['type'] = $this->type;
     $data['reflector'] = midcom_helper_reflector::get($data['type']);
     $data['label_property'] = $data['reflector']->get_label_property();
     if (isset($_POST['undelete']) && !isset($_POST['purge']) && is_array($_POST['undelete'])) {
         $this->_undelete();
         return new midcom_response_relocate("__mfa/asgard/trash/{$this->type}/");
     }
     if (isset($_POST['purge']) && is_array($_POST['undelete'])) {
         $this->_purge();
         return new midcom_response_relocate("__mfa/asgard/trash/{$this->type}/");
     }
     $qb = new org_openpsa_qbpager_direct($data['type'], "{$data['type']}_trash");
     $qb->include_deleted();
     $qb->add_constraint('metadata.deleted', '=', true);
     $qb->add_order('metadata.revised', 'DESC');
     $data['qb'] =& $qb;
     $data['trash'] = $qb->execute_unchecked();
     // Set the breadcrumb data
     $this->add_breadcrumb('__mfa/asgard/', $this->_l10n->get('midgard.admin.asgard'));
     $this->add_breadcrumb("__mfa/asgard/{$this->type}/", $data['view_title']);
     $this->add_breadcrumb("__mfa/asgard/trash/{$this->type}/", sprintf($this->_l10n->get('%s trash'), midgard_admin_asgard_plugin::get_type_label($data['type'])));
 }
Example #8
0
 /**
  * Helper function to prepare the breadcrumb
  */
 private function _prepare_breadcrumb()
 {
     $ref = midcom_helper_reflector::get($this->_current_object);
     $object_label = $ref->get_object_label($this->_current_object);
     $this->add_breadcrumb(midcom::get('permalinks')->create_permalink($this->_current_object->guid), $object_label);
     $this->add_breadcrumb(midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . '__mfa/org.openpsa.relatedto/render/' . $this->_current_object->guid . '/both/', $this->_l10n->get('view related information'));
     $this->add_breadcrumb("", $this->_l10n->get('journal entry') . " : " . $object_label);
 }
Example #9
0
 private function _find_linking_property($new_type)
 {
     // Figure out the linking property
     $new_type_reflector = midcom_helper_reflector::get($new_type);
     $link_properties = $new_type_reflector->get_link_properties();
     $type_to_link_to = midcom_helper_reflector::class_rewrite(get_class($this->_object));
     foreach ($link_properties as $new_type_property => $link) {
         $linked_type = midcom_helper_reflector::class_rewrite($link['class']);
         if (midcom_helper_reflector::is_same_class($linked_type, $type_to_link_to) || $link['type'] == MGD_TYPE_GUID && is_null($link['class'])) {
             $parent_property = $link['target'];
             return array($new_type_property, $parent_property);
         }
     }
     return false;
 }
Example #10
0
 /**
  * Get path components for object
  *
  * @param midgard_object $object, the object to get path for
  * @param GUID $stop_at in case we wish to stop resolving at certain object give guid here
  * @return array path components
  */
 public static function resolve_path_parts(&$object, $stop_at = null)
 {
     static $cache = array();
     $cache_key = $object->guid . $stop_at;
     if (isset($cache[$cache_key])) {
         return $cache[$cache_key];
     }
     $ret = array();
     $object_reflector =& midcom_helper_reflector::get($object);
     $part = array('object' => $object, 'label' => $object_reflector->get_object_label($object));
     $ret[] = $part;
     unset($part, $object_reflector);
     $parent = self::get_parent($object);
     while (is_object($parent)) {
         $parent_reflector =& midcom_helper_reflector::get($parent);
         $part = array('object' => $parent, 'label' => $parent_reflector->get_object_label($parent));
         $ret[] = $part;
         unset($part, $parent_reflector);
         $parent = self::get_parent($parent);
     }
     unset($parent);
     $ret = array_reverse($ret);
     $cache[$cache_key] = $ret;
     unset($ret);
     return $cache[$cache_key];
 }
Example #11
0
 /**
  * This function constructs the message
  */
 private function _construct_message()
 {
     // Construct the message
     $message = array();
     // Resolve parent title
     $parent_object = midcom::get('dbfactory')->get_object_by_guid($this->objectguid);
     $ref = midcom_helper_reflector::get($parent_object);
     $parent_title = $ref->get_object_label($parent_object);
     // Resolve commenting user
     $auth = midcom::get('auth');
     if ($auth->user) {
         $user_string = "{$auth->user->name} ({$auth->user->username})";
     } else {
         $user_string = "{$this->author} (" . midcom::get('i18n')->get_string('anonymous', 'midcom') . ")";
     }
     $message['title'] = sprintf(midcom::get('i18n')->get_string('page %s has been commented by %s', 'net.nehmer.comments'), $parent_title, $user_string);
     $message['content'] = "{$this->title}\n";
     $message['content'] .= "{$this->content}\n\n";
     $message['content'] .= midcom::get('i18n')->get_string('link to page', 'net.nemein.wiki') . ":\n";
     $message['content'] .= midcom::get('permalinks')->create_permalink($this->objectguid);
     $message['abstract'] = $message['title'];
     return $message;
 }
Example #12
0
 /**
  * Static helper
  */
 public static function resolve_object_title($object)
 {
     $object_reflector = midcom_helper_reflector::get($object);
     return $object_reflector->get_object_label($object);
 }
Example #13
0
 private function _list_leaf_children($object, $skip = array())
 {
     if ($children = self::_get_child_objects($object)) {
         if ($skip) {
             foreach ($children as $class => $objects) {
                 if (in_array($class, $skip)) {
                     unset($children[$class]);
                 }
             }
         }
     }
     if ($children) {
         echo "        <ul>\n";
         foreach ($children as $class => $objects) {
             foreach ($objects as $object) {
                 $title = midcom_helper_reflector::get($class)->get_object_label($object);
                 echo "            <li class=\"leaf_child {$class}\" style=\"display: none;\">{$title}\n";
                 self::_list_leaf_children($object);
                 echo "            </li>\n";
             }
         }
         echo "        </ul>\n";
     }
 }
Example #14
0
 /**
  * Handler for folder metadata. Checks for updating permissions, initializes
  * the metadata and the content topic itself. Handles also the sent form.
  *
  * @param mixed $handler_id The ID of the handler.
  * @param Array $args The argument list.
  * @param Array &$data The local request data.
  * @return boolean Indicating success
  */
 public function _handler_metadata($handler_id, array $args, array &$data)
 {
     $this->_object = midcom::get('dbfactory')->get_object_by_guid($args[0]);
     // FIXME: We should modify the schema according to whether or not scheduling is used
     $this->_object->require_do('midgard:update');
     if (is_a($this->_object, 'midcom_db_topic')) {
         // This is a topic
         $this->_object->require_do('midcom.admin.folder:topic_management');
     } else {
         // This is a regular object, bind to view
         $this->bind_view_to_object($this->_object);
     }
     $this->_metadata = midcom_helper_metadata::retrieve($this->_object);
     if (!$this->_metadata) {
         throw new midcom_error("Failed to retrieve Metadata for " . get_class($this->_object) . " {$this->_object->guid}.");
     }
     // Load the DM2 controller instance
     $this->_load_datamanager();
     switch ($this->_controller->process_form()) {
         case 'save':
             midcom::get('cache')->invalidate($this->_object->guid);
         case 'cancel':
             return new midcom_response_relocate(midcom::get('permalinks')->create_permalink($this->_object->guid));
     }
     $object_label = midcom_helper_reflector::get($this->_object)->get_object_label($this->_object);
     if (is_a($this->_object, 'midcom_db_topic')) {
         $this->_node_toolbar->hide_item("__ais/folder/metadata/{$this->_object->guid}/");
     } else {
         $this->add_breadcrumb(midcom::get('permalinks')->create_permalink($this->_object->guid), $object_label);
         $this->_view_toolbar->hide_item("__ais/folder/metadata/{$this->_object->guid}/");
     }
     $this->add_breadcrumb("__ais/folder/metadata/{$this->_object->guid}/", $this->_l10n->get('edit metadata'));
     $data['title'] = sprintf(midcom::get('i18n')->get_string('edit metadata of %s', 'midcom.admin.folder'), $object_label);
     midcom::get('head')->set_pagetitle($data['title']);
     // Set the help object in the toolbar
     $help_toolbar = midcom::get('toolbars')->get_help_toolbar();
     $help_toolbar->add_help_item('edit_metadata', 'midcom.admin.folder', null, null, 1);
     // Ensure we get the correct styles
     midcom::get('style')->prepend_component_styledir('midcom.admin.folder');
 }
Example #15
0
 /**
  * Default line rendering, used if a specific renderer cannot be found
  *
  * Tries to find certain properties likely to hold semi-useful information about
  * the object, failing that outputs class and guid.
  *
  * @param array &$link The necessary link information
  * @param object &other_obj The link target
  */
 private function _render_line_default(&$link, &$other_obj)
 {
     $class = get_class($other_obj);
     $object_url = midcom::get('permalinks')->create_permalink($other_obj->guid);
     $ref = midcom_helper_reflector::get($other_obj);
     $class_label = $ref->get_class_label();
     $object_label = $ref->get_object_label($other_obj);
     if ($object_url) {
         $object_label = '<a href="' . $object_url . '" target="' . $class . $this->_object->guid . '">' . $object_label . '</a>';
     }
     echo "            <li class=\"unknown {$class}\" id=\"org_openpsa_relatedto_line_{$link['guid']}\">\n";
     echo '                <span class="icon">' . $this->_request_data['icon'] . "</span>\n";
     echo '                <span class="title">' . $object_label . "</span>\n";
     echo '                <ul class="metadata">';
     echo '                    <li>' . $class_label . "</li>\n";
     echo "                </ul>\n";
     self::render_line_controls($link, $other_obj);
     echo "</li>\n";
 }
Example #16
0
 /**
  * Method for updating title for current object and handler, should be implemented in the
  * component handler for better performance.
  *
  * @param mixed $handler_id The ID of the handler.
  */
 public function _update_title($handler_id)
 {
     $ref = midcom_helper_reflector::get($this->_dba_class);
     $view_title = $this->_topic->extra . ': ';
     switch ($this->_mode) {
         case 'create':
             $view_title = sprintf($this->_l10n_midcom->get('create %s'), $ref->get_class_label());
             break;
         case 'read':
             $object_title = $ref->get_object_label($this->_object);
             $view_title .= $object_title;
             break;
         case 'update':
             $object_title = $ref->get_object_label($this->_object);
             $view_title .= sprintf($this->_l10n_midcom->get('edit %s'), $object_title);
             break;
         case 'delete':
             $object_title = $ref->get_object_label($this->_object);
             $view_title .= sprintf($this->_l10n_midcom->get('delete %s'), $object_title);
             break;
     }
     midcom::get('head')->set_pagetitle($view_title);
 }