From 469242c4a6ffbf80b231728c0f93135de9ed6fd2 Mon Sep 17 00:00:00 2001 From: inga-lovinde <52715130+inga-lovinde@users.noreply.github.com> Date: Thu, 17 Jun 2010 06:56:09 +0000 Subject: [PATCH] ShallerConnector implemented; Users migration implemented --- Builder/IISMainHandler/build.txt | 2 +- Builder/IISMainHandler/product.wxs | 10 ++ Common/Common.csproj | 1 + Common/Config.cs | 6 + Common/actions/ChangeSet.cs | 1 + Common/dataobjects/Account.cs | 117 ++++++++++++++++++ Common/dataobjects/User.cs | 29 +++++ Core/Util.cs | 26 ++++ FLocal.sln | 8 ++ IISMainHandler/HandlersFactory.cs | 17 ++- IISMainHandler/IISMainHandler.csproj | 8 ++ .../handlers/request/AbstractPostHandler.cs | 31 +++++ .../handlers/request/MigrateAccountHandler.cs | 37 ++++++ .../handlers/response/BoardAsThread.cs | 2 +- .../handlers/response/LoginHandler.cs | 24 ++++ .../response/MigrateAccountHandler.cs | 43 +++++++ Importer/Importer.csproj | 62 ++++++++++ Importer/Properties/AssemblyInfo.cs | 36 ++++++ Importer/ShallerConnector.cs | 48 +++++++ Importer/ShallerGateway.cs | 14 +++ Importer/bin/Release/Importer.dll | Bin 0 -> 6144 bytes Importer/bin/Release/Importer.pdb | Bin 0 -> 13824 bytes .../Importer.csproj.FileListAbsolute.txt | 5 + Importer/obj/Release/Importer.dll | Bin 0 -> 6144 bytes Importer/obj/Release/Importer.pdb | Bin 0 -> 13824 bytes templates/Full/Login.xslt | 65 ++++++++++ templates/Full/MigrateAccount.xslt | 44 +++++++ templates/Full/Post.xslt | 2 +- templates/Full/elems/Header.xslt | 3 +- templates/Full/result/MigrateAccount.xslt | 25 ++++ 30 files changed, 661 insertions(+), 5 deletions(-) create mode 100644 Common/dataobjects/Account.cs create mode 100644 IISMainHandler/handlers/request/AbstractPostHandler.cs create mode 100644 IISMainHandler/handlers/request/MigrateAccountHandler.cs create mode 100644 IISMainHandler/handlers/response/LoginHandler.cs create mode 100644 IISMainHandler/handlers/response/MigrateAccountHandler.cs create mode 100644 Importer/Importer.csproj create mode 100644 Importer/Properties/AssemblyInfo.cs create mode 100644 Importer/ShallerConnector.cs create mode 100644 Importer/ShallerGateway.cs create mode 100644 Importer/bin/Release/Importer.dll create mode 100644 Importer/bin/Release/Importer.pdb create mode 100644 Importer/obj/Release/Importer.csproj.FileListAbsolute.txt create mode 100644 Importer/obj/Release/Importer.dll create mode 100644 Importer/obj/Release/Importer.pdb create mode 100644 templates/Full/Login.xslt create mode 100644 templates/Full/MigrateAccount.xslt create mode 100644 templates/Full/result/MigrateAccount.xslt diff --git a/Builder/IISMainHandler/build.txt b/Builder/IISMainHandler/build.txt index 725cdcd..0acdeb5 100644 --- a/Builder/IISMainHandler/build.txt +++ b/Builder/IISMainHandler/build.txt @@ -1 +1 @@ -193 \ No newline at end of file +216 \ No newline at end of file diff --git a/Builder/IISMainHandler/product.wxs b/Builder/IISMainHandler/product.wxs index ba510b6..2e49201 100644 --- a/Builder/IISMainHandler/product.wxs +++ b/Builder/IISMainHandler/product.wxs @@ -49,6 +49,12 @@ + + + + + + + \ No newline at end of file diff --git a/Importer/Properties/AssemblyInfo.cs b/Importer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..55b6543 --- /dev/null +++ b/Importer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Importer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Importer")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("8a89bd8e-95bf-4085-ad06-768a3fde2335")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Importer/ShallerConnector.cs b/Importer/ShallerConnector.cs new file mode 100644 index 0000000..024c26f --- /dev/null +++ b/Importer/ShallerConnector.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; +using System.Net; +using System.Configuration; +using System.IO; + +namespace FLocal.Importer { + class ShallerConnector { + + public static string getPageContent(string requestUrl, Dictionary postData, CookieContainer cookies) { + string baseUrl = ConfigurationManager.AppSettings["Importer_BaseUrl"]; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUrl + requestUrl); + request.KeepAlive = true; + request.CookieContainer = cookies; + if(postData.Count < 1) { + request.Method = "GET"; + } else { + + StringBuilder postBuilder = new StringBuilder(); + foreach(KeyValuePair kvp in postData) { + postBuilder.Append(HttpUtility.UrlEncode(kvp.Key)); + postBuilder.Append('='); + postBuilder.Append(HttpUtility.UrlEncode(kvp.Value)); + } + + byte[] postBytes = Encoding.ASCII.GetBytes(postBuilder.ToString()); + + request.Method = "POST"; + request.ContentType = "application/x-www-form-urlencoded"; + request.ContentLength = postBytes.Length; + + Stream stream = request.GetRequestStream(); + stream.Write(postBytes, 0, postBytes.Length); + stream.Close(); + } + request.UserAgent = "ShallerConnector v0.1"; + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + cookies.Add(response.Cookies); + using(StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251))) { + return reader.ReadToEnd(); + } + } + + } +} diff --git a/Importer/ShallerGateway.cs b/Importer/ShallerGateway.cs new file mode 100644 index 0000000..ae5fb56 --- /dev/null +++ b/Importer/ShallerGateway.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace FLocal.Importer { + public class ShallerGateway { + + public static string getUserInfo(string userName) { + return ShallerConnector.getPageContent("showprofile.php?User=" + userName + "&What=login&showlite=l", new Dictionary(), new System.Net.CookieContainer()); + } + + } +} diff --git a/Importer/bin/Release/Importer.dll b/Importer/bin/Release/Importer.dll new file mode 100644 index 0000000000000000000000000000000000000000..7802fbccd317b889058d9689fd1b861e262c4b6a GIT binary patch literal 6144 zcmeHLeQX?85ud%?`|vqFa_1zAz^NnNMD_$!V3ZO7-hM{LLV>?EyBlfAp=^VWO2 z*WJCu*Q&*>ltBKVfK&=CNC+XM1|cw|>KCmHVL9GOoKcH$s6+%LS{(}lC4ZnH! zk+U5tA^s}j**iNkZ)V=iy!Yn4y~#VjL@E(!crIQfdKPbP!xDZtSV4De=kqaos^voG zv&zJU&e=uN(@U;XaE+p#Gi=-O^{mj{vaOr8o;s4zi%wo7+uEX6*Gx~35ltv6{djfz zM18ckDA3ueM2I$n6RL8P`|#HB4C7&-;}xj-4NUsaZ(6|vJ~x$y&qyO|hmFa1L^Bf~_~oQU=9B+(}DZid_^*7toFtrH=FMvH*Hy+IKreX;C=9{d;p`lN3)zd^~S z6P--Do|^+DeH#YC6P3Wz)P~`G(iN5iLH3nS;$d4`@ietzqJvGOL^pF@(b%^D1?l}x z7=sZ-a{qI%qgSJ8DC0lgg?vX{U?nFGEE)=Q!SiTWJAi*BWLm@9oGUpdG_~1b}x=D4m_dueh>*GM%A_=u?2aqnzOw_pwU{7S{El!6- z(6@7KAJlYkdVca|EYb48R%B?0(+S3JyFLjRaWH7q!NQETYhib9-Gi{ZpV8gmhvVAA z=H1R7MxAR|Fc=TUwXMu{xR#>H5%E3_7$1qBJNQ;M@>p(g^0Kl=PqWT{& zqg|MVsMib79*&2dK1L#MZitGl12a`Z~pUW&(7*(mJBZDenk$^+T)s zA@@5NI^ezz*fqdb2N@uQXcuN8)Lj>Z{=v+r4l1>oW+SKilfB9Py$AXau=OBWfZtGw zc0GW#3@=MT;2GaF?SjV=%Pjyfx@#^&%hBo*-Zeg#PJ#V-(9d$;LCeXqFd7oBjBg1< zSdIRn4DkAd2qEQ-8iZj8&Qcp5?!)l%&3wclaV`qSXd19WcY*h1It%>o^hdzW3d0@= zCnOXSJ|N*^5csbfGYi3a^9p)S|y#Xm9S638zdZ&FfHMyCA>pI18_H)62C{n zii8gWc4J0Xsh1uD+y)PCRd1#9G^LKx59u!Tc6yFV>J+_1XVu++kEpY#T2H73_)n@j zy&|JGj}ijoXI z0}I2!H)y-EO24B{B_DhOmN_DhLc_LWe7l56YNb{sN$rqMBI^uy(N4gypO)7yhC?Vi5?rqH;=*Yc(}@b=T& zQlwdKKebmk6%MyaCttS2t&}d79M>0aGH+RwSu`w5xTB73i=6McbZElK8CJ3`R2LXG zd~w>SP|?ddu4QH^Q}KLJq$An8p;x1lqYjMaeABVL(+!uBaCy#aI16K>jGaL5(+l!fQdxfaT<=cf$cpqw<~Q5iy0 zMp4uUm=Oy#M`*s>bTL#8D*bk>GVnMT3J4465OQX*R}6pS@PRe3l- zu;Sp&I%nZr3C7)KZ^4i$o)MO@EHUqrueB&y4_#T)GX18MUs|YgL1GCuO&K!LL`@nt z7MNRisCltwN+M?(mU*wp6R)GAhE>K=tgmKXoF_&~$guCrgOTYpum9>v$>Zb>&wCuXPwHQZt-74IZZqE5KwS)~eX6G<Ir-)2vg=4}3dV@v#`HA!EJT{%oaG zPl2Q-gkA6#>t3agaHPU0a$L2f))>cJ6PX>gcu=;-6=I~ok;zQM8yh`Rt%f&dp+?t} zzGi-_OpiwL`DW!yUNi!%vStJ}tV=v8HI!eo&KOdL)|sXvDm>~I`6K{O;9_pz1Q0X_ z3iqz?IE~RPQOh(TSjI*TXq3=r;?yvpXF}hmeY8wHbXxxP(1NsC1g9+R2uS3>%foV> zl)V{Rgsz1@9(7b&uz}}bkG;|96wd7=;R3qXgRBF)CGZ_sHlC(X;I{vd*_dCAAIZF zCQ@UuEs2&uES6|fby74^Vlhou6bS-BVDT}gBazkHPJA~0tLTk5#1eC0#bQB%9-xx= zOpGNHZK0|ySc*h-+7dSd?bNP>7>UIsr {!NFaiouHWzte+4nGZbhCc#sMZ=3f<* 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 f4tf@G7{+8Ax%qegC6)BhhhV# literal 0 HcmV?d00001 diff --git a/Importer/obj/Release/Importer.csproj.FileListAbsolute.txt b/Importer/obj/Release/Importer.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..4a96437 --- /dev/null +++ b/Importer/obj/Release/Importer.csproj.FileListAbsolute.txt @@ -0,0 +1,5 @@ +D:\penartur\Documents\Visual Studio 2008\Projects\FLocal\trunk\Importer\obj\Release\ResolveAssemblyReference.cache +D:\penartur\Documents\Visual Studio 2008\Projects\FLocal\trunk\Importer\bin\Release\Importer.dll +D:\penartur\Documents\Visual Studio 2008\Projects\FLocal\trunk\Importer\bin\Release\Importer.pdb +D:\penartur\Documents\Visual Studio 2008\Projects\FLocal\trunk\Importer\obj\Release\Importer.dll +D:\penartur\Documents\Visual Studio 2008\Projects\FLocal\trunk\Importer\obj\Release\Importer.pdb diff --git a/Importer/obj/Release/Importer.dll b/Importer/obj/Release/Importer.dll new file mode 100644 index 0000000000000000000000000000000000000000..7802fbccd317b889058d9689fd1b861e262c4b6a GIT binary patch literal 6144 zcmeHLeQX?85ud%?`|vqFa_1zAz^NnNMD_$!V3ZO7-hM{LLV>?EyBlfAp=^VWO2 z*WJCu*Q&*>ltBKVfK&=CNC+XM1|cw|>KCmHVL9GOoKcH$s6+%LS{(}lC4ZnH! zk+U5tA^s}j**iNkZ)V=iy!Yn4y~#VjL@E(!crIQfdKPbP!xDZtSV4De=kqaos^voG zv&zJU&e=uN(@U;XaE+p#Gi=-O^{mj{vaOr8o;s4zi%wo7+uEX6*Gx~35ltv6{djfz zM18ckDA3ueM2I$n6RL8P`|#HB4C7&-;}xj-4NUsaZ(6|vJ~x$y&qyO|hmFa1L^Bf~_~oQU=9B+(}DZid_^*7toFtrH=FMvH*Hy+IKreX;C=9{d;p`lN3)zd^~S z6P--Do|^+DeH#YC6P3Wz)P~`G(iN5iLH3nS;$d4`@ietzqJvGOL^pF@(b%^D1?l}x z7=sZ-a{qI%qgSJ8DC0lgg?vX{U?nFGEE)=Q!SiTWJAi*BWLm@9oGUpdG_~1b}x=D4m_dueh>*GM%A_=u?2aqnzOw_pwU{7S{El!6- z(6@7KAJlYkdVca|EYb48R%B?0(+S3JyFLjRaWH7q!NQETYhib9-Gi{ZpV8gmhvVAA z=H1R7MxAR|Fc=TUwXMu{xR#>H5%E3_7$1qBJNQ;M@>p(g^0Kl=PqWT{& zqg|MVsMib79*&2dK1L#MZitGl12a`Z~pUW&(7*(mJBZDenk$^+T)s zA@@5NI^ezz*fqdb2N@uQXcuN8)Lj>Z{=v+r4l1>oW+SKilfB9Py$AXau=OBWfZtGw zc0GW#3@=MT;2GaF?SjV=%Pjyfx@#^&%hBo*-Zeg#PJ#V-(9d$;LCeXqFd7oBjBg1< zSdIRn4DkAd2qEQ-8iZj8&Qcp5?!)l%&3wclaV`qSXd19WcY*h1It%>o^hdzW3d0@= zCnOXSJ|N*^5csbfGYi3a^9p)S|y#Xm9S638zdZ&FfHMyCA>pI18_H)62C{n zii8gWc4J0Xsh1uD+y)PCRd1#9G^LKx59u!Tc6yFV>J+_1XVu++kEpY#T2H73_)n@j zy&|JGj}ijoXI z0}I2!H)y-EO24B{B_DhOmN_DhLc_LWe7l56YNb{sN$rqMBI^uy(N4gypO)7yhC?Vi5?rqH;=*Yc(}@b=T& zQlwdKKebmk6%MyaCttS2t&}d79M>0aGH+RwSu`w5xTB73i=6McbZElK8CJ3`R2LXG zd~w>SP|?ddu4QH^Q}KLJq$An8p;x1lqYjMaeABVL(+!uBaCy#aI16K>jGaL5(+l!fQdxfaT<=cf$cpqw<~Q5iy0 zMp4uUm=Oy#M`*s>bTL#8D*bk>GVnMT3J4465OQX*R}6pS@PRe3l- zu;Sp&I%nZr3C7)KZ^4i$o)MO@EHUqrueB&y4_#T)GX18MUs|YgL1GCuO&K!LL`@nt z7MNRisCltwN+M?(mU*wp6R)GAhE>K=tgmKXoF_&~$guCrgOTYpum9>v$>Zb>&wCuXPwHQZt-74IZZqE5KwS)~eX6G<Ir-)2vg=4}3dV@v#`HA!EJT{%oaG zPl2Q-gkA6#>t3agaHPU0a$L2f))>cJ6PX>gcu=;-6=I~ok;zQM8yh`Rt%f&dp+?t} zzGi-_OpiwL`DW!yUNi!%vStJ}tV=v8HI!eo&KOdL)|sXvDm>~I`6K{O;9_pz1Q0X_ z3iqz?IE~RPQOh(TSjI*TXq3=r;?yvpXF}hmeY8wHbXxxP(1NsC1g9+R2uS3>%foV> zl)V{Rgsz1@9(7b&uz}}bkG;|96wd7=;R3qXgRBF)CGZ_sHlC(X;I{vd*_dCAAIZF zCQ@UuEs2&uES6|fby74^Vlhou6bS-BVDT}gBazkHPJA~0tLTk5#1eC0#bQB%9-xx= zOpGNHZK0|ySc*h-+7dSd?bNP>7>UIsr {!NFaiouHWzte+4nGZbhCc#sMZ=3f<* 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 f4tf@G7{+8Ax%qegC6)BhhhV# literal 0 HcmV?d00001 diff --git a/templates/Full/Login.xslt b/templates/Full/Login.xslt new file mode 100644 index 0000000..b677379 --- /dev/null +++ b/templates/Full/Login.xslt @@ -0,0 +1,65 @@ + + + + + + + + +
+ + + + + + + + + + +
+ Âõîä +
+ Ââåäèòå âàøå èìÿ ïîëüçîâàòåëÿ è ïàðîëü äëÿ ðåãèñòðàöèè â ôîðóìå. + Åñëè âû åù¸ íå ïîëüçîâàëèñü ýòèì ôîðóìîì, íî ïðèøëè ñî ñòàðîãî ôîðóì.ëîêàëà – âû ìîæåòå ñîçäàòü ïàðîëü â ôîðìå ìèãðàöèè. +
+
+ Ëîãèí
+
+ Ïàðîëü
+
+ +
+
+
+
+ + + + +
+ + + + + + + + + + +
+ Ìèãðàöèÿ +
+ Åñëè âû ïðèøëè ñî ñòàðîãî ôîðóì.ëîêàëà – ââåäèòå ñâîé ëîãèí. +
+
+ Ëîãèí
+
+ +
+
+
+
+ +
\ No newline at end of file diff --git a/templates/Full/MigrateAccount.xslt b/templates/Full/MigrateAccount.xslt new file mode 100644 index 0000000..b63eb07 --- /dev/null +++ b/templates/Full/MigrateAccount.xslt @@ -0,0 +1,44 @@ + + + + + + + + +
+ + + + + + + + + + +
+ Ìèãðàöèÿ ïîëüçîâàòåëÿ +
+ Ââåäèòå ñòðîêó + (fhn:) + (âìåñòå ñî ñêîáêàìè) â ïîëå áèîãðàôèè â ñâî¸ì ïðîôàéëå íà ñòàðîì ôîðóìå. +
+
+ + + + + + + Íîâûé ïàðîëü
+
+ Ïîâòîðèòå ïàðîëü
+
+ +
+
+
+
+ +
\ No newline at end of file diff --git a/templates/Full/Post.xslt b/templates/Full/Post.xslt index f9cc4c1..f2cd876 100644 --- a/templates/Full/Post.xslt +++ b/templates/Full/Post.xslt @@ -53,7 +53,7 @@ - /Thread//p/ + /Thread//p * Ïëîñêèé diff --git a/templates/Full/elems/Header.xslt b/templates/Full/elems/Header.xslt index ca64bb4..2b03f7c 100644 --- a/templates/Full/elems/Header.xslt +++ b/templates/Full/elems/Header.xslt @@ -38,7 +38,8 @@ | Ïîèñê | - My Home + + Âõîä | Êòî â îíëàéíå | diff --git a/templates/Full/result/MigrateAccount.xslt b/templates/Full/result/MigrateAccount.xslt new file mode 100644 index 0000000..031ad14 --- /dev/null +++ b/templates/Full/result/MigrateAccount.xslt @@ -0,0 +1,25 @@ + + + + + + + + +
+ + + + + + + +
+ Ìèãðàöèÿ ïîëüçîâàòåëÿ +
+ Ìèãðàöèÿ óñïåøíî çàâåðøåíà, òåïåðü âû ìîæåòå âîéòè â ôîðóì, èñïîëüçóÿ ñâîé ëîãèí è íîâûé ïàðîëü. +
+
+
+ +
\ No newline at end of file