public function getContent()
 {
     $html = '';
     $uh = UserHelper::instance();
     $request = HTTPRequest::instance();
     $hp = Codendi_HTMLPurifier::instance();
     $user = UserManager::instance()->getCurrentUser();
     $pm = ProjectManager::instance();
     $project_ids = $user->getProjects();
     foreach ($project_ids as $project_id) {
         $project = $pm->getProject($project_id);
         if ($project->usesSVN()) {
             list($hide_now, $count_diff, $hide_url) = my_hide_url('my_svn_group', $project_id, $request->get('hide_item_id'), count($project_ids), $request->get('hide_my_svn_group'));
             $html .= $hide_url;
             $html .= '<strong>' . $project->getPublicName() . '</strong>';
             if (!$hide_now) {
                 list($latest_revisions, $nb_revisions) = svn_get_revisions($project, 0, $this->_nb_svn_commits, '', $user->getUserName(), '', '', 0, false);
                 if (db_numrows($latest_revisions) > 0) {
                     $i = 0;
                     while ($data = db_fetch_array($latest_revisions)) {
                         $html .= '<div class="' . util_get_alt_row_color($i++) . '" style="border-bottom:1px solid #ddd">';
                         $html .= '<div style="font-size:0.98em;">';
                         $html .= '<a href="' . $this->_getLinkToCommit($project->getGroupId(), $data['revision']) . '">rev #' . $data['revision'] . '</a>';
                         $html .= ' ' . $GLOBALS['Language']->getText('my_index', 'my_latest_svn_commit_on') . ' ';
                         //In the db, svn dates are stored as int whereas cvs dates are stored as timestamp
                         $html .= format_date($GLOBALS['Language']->getText('system', 'datefmt'), is_numeric($data['date']) ? $data['date'] : strtotime($data['date']));
                         $html .= ' ' . $GLOBALS['Language']->getText('my_index', 'my_latest_svn_commit_by') . ' ';
                         if (isset($data['whoid'])) {
                             $name = $uh->getDisplayNameFromUserId($data['whoid']);
                         } else {
                             $name = $uh->getDisplayNameFromUserName($data['who']);
                         }
                         $html .= $hp->purify($name, CODENDI_PURIFIER_CONVERT_HTML);
                         $html .= '</div>';
                         $html .= '<div style="padding-left:20px; padding-bottom:4px; color:#555">';
                         $html .= util_make_links(substr($data['description'], 0, 255), $project->getGroupId());
                         if (strlen($data['description']) > 255) {
                             $html .= '&nbsp;[...]';
                         }
                         $html .= '</div>';
                         $html .= '</div>';
                     }
                     $html .= '<div style="text-align:center" class="' . util_get_alt_row_color($i++) . '">';
                     $html .= '<a href="' . $this->_getLinkToMore($project->getGroupId(), $user->getUserName()) . '">[ More ]</a>';
                     $html .= '</div>';
                 } else {
                     $html .= '<div></div>';
                 }
             } else {
                 $html .= '<div></div>';
             }
         }
     }
     return $html;
 }
 function getLatestRevisions()
 {
     if (!$this->latest_revisions) {
         $pm = ProjectManager::instance();
         $project = $pm->getProject($this->group_id);
         if ($project && $this->canBeUsedByProject($project)) {
             list($this->latest_revisions, ) = svn_get_revisions($project, 0, 5, '', '', '', '', 0, false);
         }
     }
     return $this->latest_revisions;
 }
Ejemplo n.º 3
0
                //echo 'setting pref';
                user_set_preference('svn_commits_browcust' . $group_id, $pref_);
            }
        } else {
            if ($set == 'any') {
                $_commiter = 100;
            }
        }
    }
    /*
     Display commits based on the form post - by user or status or both
    */
    $pm = ProjectManager::instance();
    $project = $pm->getProject($group_id);
    $root = $project->getUnixName(false);
    list($result, $totalrows) = svn_get_revisions($project, $offset, $chunksz, $_rev_id, $_commiter, $_srch, $order_by, $pv);
    $statement = $Language->getText('svn_browse_revision', 'view_commit');
    /*
     creating a custom technician box which includes "any"
    */
    $tech_box = svn_utils_technician_box($group_id, '_commiter', $_commiter, 'Any');
    /*
     Show the new pop-up boxes to select assigned to and/or status
    */
    echo '<H3>' . $Language->getText('svn_browse_revision', 'browse_commit') . '</H3>';
    echo '<FORM class="form-inline" name="commit_form" ACTION="" METHOD="GET">
        <TABLE BORDER="0">
	<INPUT TYPE="HIDDEN" NAME="group_id" VALUE="' . $group_id . '">
	<INPUT TYPE="HIDDEN" NAME="func" VALUE="browse">
	<INPUT TYPE="HIDDEN" NAME="set" VALUE="custom">
        <TR align="center"><TD><b>' . $Language->getText('svn_browse_revision', 'rev') . '</b></TD><TD><b>' . $Language->getText('svn_browse_revision', 'commiter') . '</b></TD><TD><b>' . $Language->getText('svn_browse_revision', 'path') . '</b></TD><TD><b>' . $Language->getText('svn_browse_revision', 'search') . '</b></TD>' . '</TR>' . '<TR><TD><INPUT TYPE="TEXT" SIZE=5 CLASS="input-mini" NAME=_rev_id VALUE=' . $hp->purify($_rev_id) . '></TD>' . '<TD>' . $tech_box . '</TD>' . '<TD>' . '<INPUT type=text size=35 name=_path value=' . $hp->purify($_path) . '></TD>' . '<TD>' . '<INPUT type=text size=35 name=_srch value=' . $hp->purify($_srch) . '></TD>' . '</TR></TABLE>' . '<br><INPUT TYPE="SUBMIT" CLASS="btn" NAME="SUBMIT" VALUE="' . $Language->getText('global', 'btn_browse') . '">' . ' <input TYPE="text" name="chunksz" CLASS="input-mini" size="3" MAXLENGTH="5" ' . 'VALUE="' . $hp->purify($chunksz) . '">' . $Language->getText('svn_browse_revision', 'commit_at_once') . '</FORM>';
Ejemplo n.º 4
0
 /**
  * XXX: USE IN TESTS ONLY !!!
  * 
  * Wraps svn_get_revisions for testing purpose.
  */
 public function getRawRevisionsAndCount($limit, PFUser $author)
 {
     return svn_get_revisions($this->project, 0, $limit, '', $author->getUserName(), '', '', 0, false);
 }