added usericon_dir. also added some functions useful for showing a user icon
This commit is contained in:
parent
c31129a21a
commit
8e3824cb3c
@ -154,6 +154,11 @@ file_dir = "@DEPOTDIR@/files"
|
||||
;------------------------------------------------------------------------------
|
||||
attachment_dir = "@DEPOTDIR@/attachments"
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; directory to store user icons
|
||||
;------------------------------------------------------------------------------
|
||||
usericon_dir = "@DEPOTDIR@/usericons"
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; log threshold
|
||||
;------------------------------------------------------------------------------
|
||||
|
@ -199,7 +199,7 @@ class Project extends Controller
|
||||
$project->description = $this->input->post('project_description');
|
||||
$project->commitable = $this->input->post('project_commitable');
|
||||
$project->public = $this->input->post('project_public');
|
||||
$project->members = explode (',', $this->input->post('project_members'));
|
||||
$project->members = array_unique (preg_split ('/[[:space:],]+/', $this->input->post('project_members')));
|
||||
|
||||
// validate the form
|
||||
if ($this->form_validation->run())
|
||||
|
@ -460,6 +460,35 @@ class ProjectModel extends Model
|
||||
foreach ($files as $file)
|
||||
@unlink (CODEPOT_FILE_DIR . "/{$file->encname}");
|
||||
}
|
||||
|
||||
function getUserIcons ($users)
|
||||
{
|
||||
$this->db->trans_start ();
|
||||
|
||||
$this->db->select ('userid,icon_name');
|
||||
$this->db->where_in ('userid', $users);
|
||||
$this->db->where ('icon_name IS NOT NULL', null);
|
||||
|
||||
$query = $this->db->get ('user_settings');
|
||||
if ($this->db->trans_status() === FALSE)
|
||||
{
|
||||
$this->db->trans_complete ();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$out = array();
|
||||
$result = $query->result();
|
||||
|
||||
if (!empty($result))
|
||||
{
|
||||
foreach ($result as $t) $out[$t->userid] = $t->icon_name;
|
||||
}
|
||||
|
||||
$this->db->trans_complete ();
|
||||
if ($this->db->trans_status() === FALSE) return FALSE;
|
||||
|
||||
return $out;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -77,13 +77,34 @@ $this->load->view (
|
||||
$member_count = count($members);
|
||||
$members = array_unique ($members);
|
||||
$priority = 0;
|
||||
|
||||
$icons = $this->projects->getUserIcons($members);
|
||||
if ($icons === FALSE) $icons = array(); // can't get the icon array for members.
|
||||
|
||||
for ($i = 0; $i < $member_count; $i++)
|
||||
{
|
||||
if (!array_key_exists($i, $members)) continue;
|
||||
|
||||
$m = $members[$i];
|
||||
if ($m == '') continue;
|
||||
print "<li>{$m}</li>";
|
||||
|
||||
$icon = '';
|
||||
if (array_key_exists($m, $icons))
|
||||
{
|
||||
// old browsers don't support image data URI.
|
||||
$icon_path = CODEPOT_USERICON_DIR . '/' . $icons[$m];
|
||||
$icon_image = file_get_contents($icon_path);
|
||||
if ($icon_image)
|
||||
{
|
||||
$icon = sprintf (
|
||||
'<img style="vertical-align:middle;" src="data:%s;base64,%s" alt="" /> ',
|
||||
mime_content_type($icon_path),
|
||||
base64_encode($icon_image)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
print "<li>{$icon}{$m}</li>";
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
|
@ -70,6 +70,7 @@ function load_ini ($file)
|
||||
array ('svnrepo_dir', 'string', CODEPOT_DEPOT_DIR.'/svnrepo'),
|
||||
array ('file_dir', 'string', CODEPOT_DEPOT_DIR.'/files'),
|
||||
array ('attachment_dir', 'string', CODEPOT_DEPOT_DIR.'/attachments'),
|
||||
array ('usericon_dir', 'string', CODEPOT_DEPOT_DIR.'/usericons'),
|
||||
|
||||
array ('log_threshold', 'integer', 0),
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user