Rebase on master
This commit is contained in:
commit
533dc91e8b
|
@ -158,7 +158,7 @@ namespace SparkleShare {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Uploads the user's public key to the server
|
// Uploads the user's public key to the server
|
||||||
public bool AcceptInvitation (string server, string folder, string token)
|
public bool AcceptInvitation (string server, string folder, string token)
|
||||||
{
|
{
|
||||||
|
@ -960,6 +960,67 @@ namespace SparkleShare {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Gets the avatar for a specific email address and size
|
||||||
|
public string GetAvatar (string email, int size)
|
||||||
|
{
|
||||||
|
|
||||||
|
string avatar_path = SparkleHelpers.CombineMore (SparklePaths.SparkleLocalIconPath,
|
||||||
|
size + "x" + size, "status");
|
||||||
|
|
||||||
|
if (!Directory.Exists (avatar_path)) {
|
||||||
|
|
||||||
|
Directory.CreateDirectory (avatar_path);
|
||||||
|
SparkleHelpers.DebugInfo ("Config", "Created '" + avatar_path + "'");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
string avatar_file_path = SparkleHelpers.CombineMore (avatar_path, "avatar-" + email);
|
||||||
|
|
||||||
|
if (File.Exists (avatar_file_path)) {
|
||||||
|
|
||||||
|
return avatar_file_path;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Let's try to get the person's gravatar for next time
|
||||||
|
WebClient web_client = new WebClient ();
|
||||||
|
Uri uri = new Uri ("http://www.gravatar.com/avatar/" + GetMD5 (email) +
|
||||||
|
".jpg?s=" + size + "&d=404");
|
||||||
|
|
||||||
|
string tmp_file_path = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, email + size);
|
||||||
|
|
||||||
|
if (!File.Exists (tmp_file_path)) {
|
||||||
|
|
||||||
|
web_client.DownloadFileAsync (uri, tmp_file_path);
|
||||||
|
|
||||||
|
web_client.DownloadFileCompleted += delegate {
|
||||||
|
|
||||||
|
if (File.Exists (avatar_file_path))
|
||||||
|
File.Delete (avatar_file_path);
|
||||||
|
|
||||||
|
FileInfo tmp_file_info = new FileInfo (tmp_file_path);
|
||||||
|
|
||||||
|
if (tmp_file_info.Length > 255)
|
||||||
|
File.Move (tmp_file_path, avatar_file_path);
|
||||||
|
|
||||||
|
if (AvatarFetched != null)
|
||||||
|
AvatarFetched ();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fall back to a generic icon if there is no gravatar
|
||||||
|
if (File.Exists (avatar_file_path))
|
||||||
|
return avatar_file_path;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1055,74 +1116,13 @@ namespace SparkleShare {
|
||||||
FolderFetchError ();
|
FolderFetchError ();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
fetcher.Start ();
|
fetcher.Start ();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Gets the avatar for a specific email address and size
|
|
||||||
public string GetAvatar (string email, int size)
|
|
||||||
{
|
|
||||||
|
|
||||||
string avatar_path = SparkleHelpers.CombineMore (SparklePaths.SparkleLocalIconPath,
|
|
||||||
size + "x" + size, "status");
|
|
||||||
|
|
||||||
if (!Directory.Exists (avatar_path)) {
|
|
||||||
|
|
||||||
Directory.CreateDirectory (avatar_path);
|
|
||||||
SparkleHelpers.DebugInfo ("Config", "Created '" + avatar_path + "'");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
string avatar_file_path = SparkleHelpers.CombineMore (avatar_path, "avatar-" + email);
|
|
||||||
|
|
||||||
if (File.Exists (avatar_file_path)) {
|
|
||||||
|
|
||||||
return avatar_file_path;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
// Let's try to get the person's gravatar for next time
|
|
||||||
WebClient web_client = new WebClient ();
|
|
||||||
Uri uri = new Uri ("http://www.gravatar.com/avatar/" + GetMD5 (email) +
|
|
||||||
".jpg?s=" + size + "&d=404");
|
|
||||||
|
|
||||||
string tmp_file_path = SparkleHelpers.CombineMore (SparklePaths.SparkleTmpPath, email + size);
|
|
||||||
|
|
||||||
if (!File.Exists (tmp_file_path)) {
|
|
||||||
|
|
||||||
web_client.DownloadFileAsync (uri, tmp_file_path);
|
|
||||||
|
|
||||||
web_client.DownloadFileCompleted += delegate {
|
|
||||||
|
|
||||||
if (File.Exists (avatar_file_path))
|
|
||||||
File.Delete (avatar_file_path);
|
|
||||||
|
|
||||||
FileInfo tmp_file_info = new FileInfo (tmp_file_path);
|
|
||||||
|
|
||||||
if (tmp_file_info.Length > 255)
|
|
||||||
File.Move (tmp_file_path, avatar_file_path);
|
|
||||||
|
|
||||||
if (AvatarFetched != null)
|
|
||||||
AvatarFetched ();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fall back to a generic icon if there is no gravatar
|
|
||||||
if (File.Exists (avatar_file_path))
|
|
||||||
return avatar_file_path;
|
|
||||||
else
|
|
||||||
return null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Creates an MD5 hash of input
|
// Creates an MD5 hash of input
|
||||||
public static string GetMD5 (string s)
|
public static string GetMD5 (string s)
|
||||||
{
|
{
|
||||||
|
@ -1171,7 +1171,7 @@ namespace SparkleShare {
|
||||||
Environment.Exit (0);
|
Environment.Exit (0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Checks to see if an email address is valid
|
// Checks to see if an email address is valid
|
||||||
public bool IsValidEmail (string email)
|
public bool IsValidEmail (string email)
|
||||||
|
@ -1181,7 +1181,6 @@ namespace SparkleShare {
|
||||||
return regex.IsMatch (email);
|
return regex.IsMatch (email);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1205,6 +1204,6 @@ namespace SparkleShare {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue