function validateLove($loveId, $md, &$love) { $valid = false; $loveFactory = new Docman_MetadataListOfValuesElementFactory($md->getId()); $_love =& $loveFactory->getByElementId($loveId, $md->getLabel()); if ($_love !== null) { // Still Need to verify that $love belong to $md $valid = true; $love = $_love; } return $valid; }
function fetchLogsForItem($item_id, $display_access_logs) { $html = ''; $uh = UserHelper::instance(); $hp = Codendi_HTMLPurifier::instance(); $html .= '<h3>' . $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs') . '</h3>'; $dar = $this->dao->searchByItemIdOrderByTimestamp($item_id); if ($dar && !$dar->isError()) { if ($dar->valid()) { $titles = array(); $titles[] = $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_when'); $titles[] = $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_who'); $titles[] = $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_what'); $titles[] = $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_old_value'); $titles[] = $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_new_value'); $html .= html_build_list_table_top($titles, false, false, false); $odd_even = array('boxitem', 'boxitemalt'); $i = 0; $_previous_date = -1; $_previous_auth = -1; while ($dar->valid()) { $row = $dar->current(); if ($row['type'] != PLUGIN_DOCMAN_EVENT_ACCESS || $display_access_logs) { $user = $row['user_id'] ? $hp->purify($uh->getDisplayNameFromUserId($row['user_id'])) : $GLOBALS['Language']->getText('plugin_docman', 'details_history_anonymous'); $html .= '<tr class="' . $odd_even[$i++ % count($odd_even)] . '">'; $html .= '<td>' . html_time_ago($row['time']) . '</td>'; $html .= '<td>' . $user . '</td>'; if ($row['type'] == PLUGIN_DOCMAN_EVENT_METADATA_UPDATE) { $_old_v = $row['old_value']; $_new_v = $row['new_value']; $mdFactory = new Docman_MetadataFactory($row['group_id']); $md =& $mdFactory->getFromLabel($row['field']); if ($md->getType() == PLUGIN_DOCMAN_METADATA_TYPE_LIST) { $mdlovebo = new Docman_MetadataListOfValuesElementFactory(); $_old_e =& $mdlovebo->getByElementId($row['old_value'], $md->getLabel()); $_new_e =& $mdlovebo->getByElementId($row['new_value'], $md->getLabel()); if ($_old_e !== null) { $_old_v = $_old_e->getName(); } if ($_new_e !== null) { $_new_v = $_new_e->getName(); } } else { if ($md->getType() == PLUGIN_DOCMAN_METADATA_TYPE_DATE) { $_old_v = format_date($GLOBALS['Language']->getText('system', 'datefmt'), $_old_v); $_new_v = format_date($GLOBALS['Language']->getText('system', 'datefmt'), $_new_v); } } $html .= '<td>' . $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_change_field', array($md->getName())) . '</td>'; $html .= '<td>' . $_old_v . '</td>'; $html .= '<td>' . $_new_v . '</td>'; } elseif ($row['type'] == PLUGIN_DOCMAN_EVENT_WIKIPAGE_UPDATE) { $old_version = $row['old_value']; $new_version = $row['new_value']; $dIF = $this->_getItemFactory($row['group_id']); $pagename = $dIF->getItemFromDb($item_id)->getPageName(); $difflink = '/wiki/index.php?group_id=' . $row['group_id']; $difflink .= '&pagename=' . urlencode($pagename) . '&action=diff'; $difflink .= '&versions%5b%5d=' . $old_version . '&versions%5b%5d=' . $new_version; $html .= '<td colspan>' . $this->getText($row['type']) . '</td>'; $html .= '<td colspan="2" align="center"><a href=' . $difflink . '>diffs</a>'; } elseif ($row['type'] == PLUGIN_DOCMAN_EVENT_SET_VERSION_AUTHOR) { $newUser = $row['new_value']; $html .= '<td>' . $this->getText($row['type']) . '</td>'; $html .= "<td> </td>"; $html .= "<td>{$newUser}</td>"; } elseif ($row['type'] == PLUGIN_DOCMAN_EVENT_SET_VERSION_DATE) { $newDate = format_date($GLOBALS['Language']->getText('system', 'datefmt'), $row['new_value']); $html .= '<td>' . $this->getText($row['type']) . '</td>'; $html .= "<td> </td>"; $html .= "<td>{$newDate}</td>"; } elseif ($row['type'] == PLUGIN_DOCMAN_EVENT_DEL_VERSION) { $old_version = $row['old_value']; $html .= '<td>' . $this->getText($row['type']) . '</td>'; $html .= '<td colspan="2" align="center">' . $old_version . '</td>'; } elseif ($row['type'] == PLUGIN_DOCMAN_EVENT_RESTORE_VERSION) { $versionNumber = $row['old_value']; $html .= '<td>' . $this->getText($row['type']) . '</td>'; $html .= '<td colspan="2" align="center">' . $versionNumber . '</td>'; } else { $html .= '<td colspan>' . $this->getText($row['type']) . '</td><td colspan="2"> </td>'; } $html .= '</tr>'; $_previous_date = $row['time']; $_previous_auth = $row['user_id']; } $dar->next(); } $html .= '</table>'; } else { $html .= '<div>' . $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_no') . '</div>'; } } else { $html .= '<div>' . $GLOBALS['Language']->getText('plugin_docman', 'details_history_logs_error') . '</div>'; $html .= $dar->isError(); } return $html; }