enhanced the code folder view to show an executable file differently
This commit is contained in:
parent
d790696448
commit
05ef3af213
@ -157,6 +157,28 @@ class Code extends Controller
|
||||
$file['created_tag'] = $this->subversion->getRevProp ($projectid, $file['created_rev'], CODEPOT_SVN_TAG_PROPERTY);
|
||||
if ($file['created_tag'] === FALSE) $file['created_tag'] = '';
|
||||
|
||||
|
||||
foreach ($file['content'] as &$f)
|
||||
{
|
||||
$exe = $this->subversion->getProp (
|
||||
$projectid, $path . '/' . $f['name'],
|
||||
$file['created_rev'], 'svn:executable');
|
||||
if ($exe !== FALSE && is_array($exe))
|
||||
{
|
||||
// the answer is like this
|
||||
// Array ( [file:///var/lib/codepot/svnrepo/sg/trunk/drbdfix/drbdfix.sh] => Array ( [svn:executable] => * ) )
|
||||
foreach ($exe as &$ex)
|
||||
{
|
||||
if (array_key_exists('svn:executable', $ex))
|
||||
{
|
||||
$f['executable'] = $ex['svn:executable'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$data['project'] = $project;
|
||||
$data['headpath'] = $path;
|
||||
$data['file'] = $file;
|
||||
|
@ -1137,6 +1137,26 @@ class SubversionModel extends Model
|
||||
return @svn_proplist ($workurl, 0, $rev);
|
||||
}
|
||||
|
||||
function getProp ($projectid, $path, $rev, $prop)
|
||||
{
|
||||
$orgurl = 'file://'.$this->_canonical_path(CODEPOT_SVNREPO_DIR."/{$projectid}/{$path}");
|
||||
|
||||
$workurl = ($path == '')? $orgurl: "{$orgurl}@"; // trailing @ for collision prevention
|
||||
$info = @svn_info ($workurl, FALSE, $rev);
|
||||
|
||||
if ($info === FALSE || count($info) != 1)
|
||||
{
|
||||
if ($rev == SVN_REVISION_HEAD || $path == '') return FALSE;
|
||||
|
||||
// rebuild the URL with a peg revision and retry it.
|
||||
$workurl = "{$orgurl}@{$rev}";
|
||||
$info = @svn_info ($workurl, FALSE, $rev);
|
||||
if ($info === FALSE || count($info) != 1) return FALSE;
|
||||
}
|
||||
|
||||
return @svn_propget ($workurl, $prop, FALSE, $rev);
|
||||
}
|
||||
|
||||
function _cloc_revision_by_lang ($projectid, $path, $rev)
|
||||
{
|
||||
$orgurl = 'file://'.$this->_canonical_path(CODEPOT_SVNREPO_DIR."/{$projectid}/{$path}");
|
||||
|
@ -713,7 +713,8 @@ $this->load->view (
|
||||
{
|
||||
// file
|
||||
$hexpath = $this->converter->AsciiToHex($fullpath);
|
||||
print "<tr class='{$rowclass}'>";
|
||||
$executable_class = array_key_exists('executable', $f)? 'executable': '';
|
||||
print "<tr class='{$rowclass} {$executable_class}'>";
|
||||
print '<td>';
|
||||
$fa_type = codepot_get_fa_file_type ($f['name']);
|
||||
print "<i class='fa fa-{$fa_type}-o'></i> ";
|
||||
|
@ -10,6 +10,10 @@
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#code_folder_mainarea_result_table tr.executable {
|
||||
background-color: #F0FAF0;
|
||||
}
|
||||
|
||||
#code_folder_mainarea_result_readme {
|
||||
padding: 0.2em 0.2em 0.2em 0.2em;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user