private void DoAfterUploadJobs() { try { if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.UseURLShortener) || Info.Job == TaskJob.ShortenURL || (Info.TaskSettings.AdvancedSettings.AutoShortenURLLength > 0 && Info.Result.URL.Length > Info.TaskSettings.AdvancedSettings.AutoShortenURLLength)) { UploadResult result = ShortenURL(Info.Result.URL); if (result != null) { Info.Result.ShortenedURL = result.ShortenedURL; } } if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.ShareURLToSocialNetworkingService)) { OAuthInfo twitterOAuth = Program.UploadersConfig.TwitterOAuthInfoList.ReturnIfValidIndex(Program.UploadersConfig.TwitterSelectedAccount); if (twitterOAuth != null) { using (TwitterMsg twitter = new TwitterMsg(twitterOAuth)) { twitter.Message = Info.Result.ToString(); twitter.Config = Program.UploadersConfig.TwitterClientConfig; twitter.ShowDialog(); } } } if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.SendURLWithEmail)) { using (EmailForm emailForm = new EmailForm(Program.UploadersConfig.EmailRememberLastTo ? Program.UploadersConfig.EmailLastTo : string.Empty, Program.UploadersConfig.EmailDefaultSubject, Info.Result.ToString())) { emailForm.Icon = ShareXResources.Icon; if (emailForm.ShowDialog() == DialogResult.OK) { if (Program.UploadersConfig.EmailRememberLastTo) { Program.UploadersConfig.EmailLastTo = emailForm.ToEmail; } Email email = new Email { SmtpServer = Program.UploadersConfig.EmailSmtpServer, SmtpPort = Program.UploadersConfig.EmailSmtpPort, FromEmail = Program.UploadersConfig.EmailFrom, Password = Program.UploadersConfig.EmailPassword }; email.Send(emailForm.ToEmail, emailForm.Subject, emailForm.Body); } } } if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.CopyURLToClipboard)) { string txt; if (!string.IsNullOrEmpty(Info.TaskSettings.AdvancedSettings.ClipboardContentFormat)) { txt = new UploadInfoParser().Parse(Info, Info.TaskSettings.AdvancedSettings.ClipboardContentFormat); } else { txt = Info.Result.ToString(); } if (!string.IsNullOrEmpty(txt)) { ClipboardHelpers.CopyText(txt); } } if (Info.TaskSettings.AfterUploadJob.HasFlag(AfterUploadTasks.ShowQRCode)) { threadWorker.InvokeAsync(() => new QRCodeForm(Info.Result.ToString()).Show()); } } catch (Exception e) { DebugHelper.WriteException(e); if (Info.Result == null) Info.Result = new UploadResult(); Info.Result.Errors.Add(e.ToString()); } }
public void ShareURL(string url) { if (!string.IsNullOrEmpty(url)) { string encodedUrl = URLHelpers.URLEncode(url); switch (Info.TaskSettings.URLSharingServiceDestination) { case URLSharingServices.Email: if (Program.UploadersConfig.IsValid(URLSharingServices.Email)) { using (EmailForm emailForm = new EmailForm(Program.UploadersConfig.EmailRememberLastTo ? Program.UploadersConfig.EmailLastTo : string.Empty, Program.UploadersConfig.EmailDefaultSubject, url)) { if (emailForm.ShowDialog() == DialogResult.OK) { if (Program.UploadersConfig.EmailRememberLastTo) { Program.UploadersConfig.EmailLastTo = emailForm.ToEmail; } Email email = new Email { SmtpServer = Program.UploadersConfig.EmailSmtpServer, SmtpPort = Program.UploadersConfig.EmailSmtpPort, FromEmail = Program.UploadersConfig.EmailFrom, Password = Program.UploadersConfig.EmailPassword }; email.Send(emailForm.ToEmail, emailForm.Subject, emailForm.Body); } } } else { URLHelpers.OpenURL("mailto:?body=" + encodedUrl); } break; case URLSharingServices.Twitter: if (Program.UploadersConfig.IsValid(URLSharingServices.Twitter)) { OAuthInfo twitterOAuth = Program.UploadersConfig.TwitterOAuthInfoList[Program.UploadersConfig.TwitterSelectedAccount]; using (TwitterTweetForm twitter = new TwitterTweetForm(twitterOAuth, url)) { twitter.ShowDialog(); } } else { URLHelpers.OpenURL("https://twitter.com/intent/tweet?text=" + encodedUrl); } break; case URLSharingServices.Facebook: URLHelpers.OpenURL("https://www.facebook.com/sharer/sharer.php?u=" + encodedUrl); break; case URLSharingServices.GooglePlus: URLHelpers.OpenURL("https://plus.google.com/share?url=" + encodedUrl); break; case URLSharingServices.Reddit: URLHelpers.OpenURL("http://www.reddit.com/submit?url=" + encodedUrl); break; case URLSharingServices.Pinterest: URLHelpers.OpenURL(string.Format("http://pinterest.com/pin/create/button/?url={0}&media={0}", encodedUrl)); break; case URLSharingServices.Tumblr: URLHelpers.OpenURL("https://www.tumblr.com/share?v=3&u=" + encodedUrl); break; case URLSharingServices.LinkedIn: URLHelpers.OpenURL("https://www.linkedin.com/shareArticle?url=" + encodedUrl); break; case URLSharingServices.StumbleUpon: URLHelpers.OpenURL("http://www.stumbleupon.com/submit?url=" + encodedUrl); break; case URLSharingServices.Delicious: URLHelpers.OpenURL("https://delicious.com/save?v=5&url=" + encodedUrl); break; case URLSharingServices.VK: URLHelpers.OpenURL("http://vk.com/share.php?url=" + encodedUrl); break; } } }
public void SendEmail() { var emailForm = new EmailForm( Engine.ConfigUploaders.EmailRememberLastTo ? Engine.ConfigUploaders.EmailLastTo : string.Empty, Engine.ConfigUploaders.EmailDefaultSubject, Engine.ConfigUploaders.EmailDefaultBody); if (emailForm.ShowDialog() == DialogResult.OK) { if (Engine.ConfigUploaders.EmailRememberLastTo) { Engine.ConfigUploaders.EmailLastTo = emailForm.ToEmail; } var email = new Email { SmtpServer = Engine.ConfigUploaders.EmailSmtpServer, SmtpPort = Engine.ConfigUploaders.EmailSmtpPort, FromEmail = Engine.ConfigUploaders.EmailFrom, Password = Engine.ConfigUploaders.EmailPassword }; Stream emailData = null; try { emailData = Data; if (emailData != null && emailData.Length > 0) { email.Send(emailForm.ToEmail, emailForm.Subject, emailForm.Body, emailData, Info.FileName); } } finally { if (emailData != null) emailData.Dispose(); } } }