function show_other_links_item() { $show_delete = false; $show_history = false; $item = new entity($this->id); $user = new entity($this->user_id); if ($item->get_value('state') == 'Pending') { $show_delete = reason_user_has_privs($this->user_id, 'delete_pending'); $show_history = reason_user_has_privs($this->user_id, 'edit_pending'); } else { $show_delete = reason_user_has_privs($this->user_id, 'delete'); $show_history = reason_user_has_privs($this->user_id, 'edit'); } $show_locks = defined('REASON_ENTITY_LOCKS_ENABLED') && REASON_ENTITY_LOCKS_ENABLED && reason_user_has_privs($this->user_id, 'manage_locks'); if (!$show_delete && !$show_history && !$show_locks) { return; } echo '<div class="otherActionItems">' . "\n"; echo '<p class="otherActionItems"><strong>Other Action Items</strong></p>' . "\n"; echo '<ul class="leftList">' . "\n"; if ($show_delete) { $state_locked = !$item->user_can_edit_field('state', $user); $locked_class = !empty($state_locked) ? 'locked' : 'notLocked'; $locked_img = !empty($state_locked) ? '<img class="lockIndicator" src="' . REASON_HTTP_BASE_PATH . 'ui_images/lock_12px.png" alt="locked" width="12" height="12" />' : ''; if ($this->is_deletable()) { echo '<li class="navItem'; if ($this->cur_module == 'Delete') { echo ' navSelect'; } echo ' ' . $locked_class . '">'; $page_name = 'Delete'; if ($this->cur_module == 'Delete') { echo '<strong>' . $locked_img . $page_name . '</strong>'; } elseif ($item->get_value('state') == 'Deleted') { echo '<a href="' . $this->make_link(array('cur_module' => 'Undelete')) . '" class="nav">' . $locked_img . 'Undelete</a>'; } else { echo '<a href="' . $this->make_link(array('cur_module' => 'Delete')) . '" class="nav">' . $locked_img . $page_name . '</a>'; } echo '</li>' . "\n"; } else { echo '<li class="navItem'; if ($this->cur_module == 'NoDelete') { echo ' navSelect'; } echo '">'; $link = $this->make_link(array('cur_module' => 'NoDelete')); if ($this->cur_module != 'NoDelete') { echo 'Deletion Not Available <span class="smallText">(<a href="' . $link . '" class="inline">Explain</a>)</span>'; } else { echo 'Deletion Not Available'; } echo '</li>' . "\n"; } } if ($show_locks) { $class = $this->cur_module == 'ManageLocks' ? 'navSelect' : 'nav'; $text = $item->has_lock() ? 'Modify Locks' : 'Lock'; echo '<li class="navItem ' . $class . '">'; if ($this->cur_module == 'ManageLocks') { echo '<strong>' . $text . '</strong>'; } else { echo '<a href="' . $this->make_link(array('cur_module' => 'ManageLocks')) . ' "class="nav">' . $text . '</a>'; } echo '</li>' . "\n"; } if ($this->show['analytics']) { echo '<li class="navItem'; if ($this->cur_module == 'Analytics' || $this->cur_module == 'AnalyticsAbout') { echo ' navSelect'; } echo '"><a href="' . $this->make_link(array('cur_module' => 'Analytics')) . '" class="nav"><img src="' . REASON_HTTP_BASE_PATH . 'silk_icons/chart_curve.png" alt="" />Analytics</a></li>' . "\n"; } if ($show_history) { // get archive relationship id $num_arch = $this->_get_archived_item_count($this->id, $this->type_id); if ($num_arch > 0) { $selected = $this->cur_module == 'Archive' ? true : false; $page_name = 'History (' . $num_arch . ' edit' . ($num_arch == 1 ? '' : 's') . ')'; if (!$item->user_can_edit($user, 'fields')) { $lock_img = '<img class="lockIndicator" src="' . REASON_HTTP_BASE_PATH . 'ui_images/lock_12px.png" alt="locked" width="12" height="12" />'; } else { $lock_img = ''; } echo '<li class="navItem'; if ($selected) { echo ' navSelect'; } echo '">'; if ($selected) { echo '<strong>' . $lock_img . $page_name . '</strong>'; } else { echo '<a href="' . $this->make_link(array('cur_module' => 'Archive')) . '" class="nav">' . $lock_img . $page_name . '</a>'; } echo '</li>' . "\n"; } else { echo '<li class="navItem">No Edits</li>' . "\n"; } } echo '</ul>' . "\n"; echo '</div>' . "\n"; }