ギコナビ
Revisão | 1650028eb47c68aeda224503e4d833b48fddaaa5 (tree) |
---|---|
Hora | 2008-09-15 15:45:45 |
Autor | cvs2git <cvs2git> |
Commiter | cvs2git |
This commit was manufactured by cvs2svn to create tag 'v1_59_1_765'.
@@ -249,6 +249,8 @@ type | ||
249 | 249 | function LFusianaGet(const s: String): Boolean; |
250 | 250 | // CookieÌæ¾ |
251 | 251 | procedure GetCookie(Rawtext: String; ABoard: TBoard); |
252 | + // hiddenf[^æ¾ | |
253 | + procedure GetHiddenParameter(Rawtext: String; ABoard: TBoard); | |
252 | 254 | //! üÍAVXgÌ|bvAbvj [ÌNbNCxg |
253 | 255 | procedure InputAssistMenuClick(Sender: TObject); |
254 | 256 | //! TMemoÌJ[\Êuɶñ}ü |
@@ -832,7 +834,10 @@ begin | ||
832 | 834 | |
833 | 835 | if MsgResult = IDYES then begin |
834 | 836 | GetCookie(Indy.Response.RawHeaders.Text, Board); |
835 | - | |
837 | + if (Board.Is2ch) then begin | |
838 | + GetHiddenParameter(ResponseText, Board); | |
839 | + end; | |
840 | + | |
836 | 841 | if (Board.SPID = '') and (Board.PON = '') and (Board.Cookie = '') then |
837 | 842 | raise Exception.Create(''); |
838 | 843 |
@@ -860,6 +865,9 @@ begin | ||
860 | 865 | |
861 | 866 | if MsgResult = IDYES then begin |
862 | 867 | GetCookie(Indy.Response.RawHeaders.Text, Board); |
868 | + if (Board.Is2ch) then begin | |
869 | + GetHiddenParameter(ResponseText, Board); | |
870 | + end; | |
863 | 871 | |
864 | 872 | if (Board.SPID = '') and (Board.PON = '') and (Board.Cookie = '') then |
865 | 873 | raise Exception.Create(''); |
@@ -1898,7 +1906,90 @@ begin | ||
1898 | 1906 | end; |
1899 | 1907 | end; |
1900 | 1908 | end; |
1909 | +//! hiddenf[^æ¾ | |
1910 | +procedure TEditorForm.GetHiddenParameter(Rawtext: String; ABoard: TBoard); | |
1911 | +const | |
1912 | + INPUT_MARK = '<input type=hidden' ; // 嶬¶ÎçÎçȱÆÉÓ | |
1913 | + VALUE_MARK = 'value=' ; // 嶬¶ÎçÎçȱÆÉÓ | |
1914 | + NAME_MARK = 'name=' ; // 嶬¶ÎçÎçȱÆÉÓ | |
1915 | + IGNORE_NAMES : array[0..6] of String = | |
1916 | + ('subject', 'from', 'mail', 'message', 'bbs', 'time', 'key'); | |
1917 | +var | |
1918 | + tmp, line, name, value, lname : String; | |
1919 | + pos, pose, i : Integer; | |
1920 | +begin | |
1921 | + tmp := AnsiLowerCase(Rawtext); | |
1922 | + pos := AnsiPos(INPUT_MARK, tmp); | |
1923 | + while (pos > 0 ) do begin | |
1924 | + tmp := Copy(Rawtext, pos + Length(INPUT_MARK), Length(tmp)); | |
1925 | + Delete(Rawtext, 1, pos+ Length(INPUT_MARK) - 1); | |
1926 | + pose := AnsiPos('>', tmp); | |
1927 | + // name=xxx value=yyy ªØèo³êé | |
1928 | + line := Copy(tmp, 1, pose - 1); | |
1929 | + name := ''; | |
1930 | + value := ''; | |
1931 | + pos := AnsiPos(NAME_MARK, tmp); | |
1932 | + if (pos > 0) then begin | |
1933 | + name := Copy(Rawtext, pos + Length(NAME_MARK), Length(line)); | |
1934 | + //¼p"ÅnÜÁÄ¢é© | |
1935 | + if AnsiPos('"', name) = 1 then begin | |
1936 | + // ¼p"ÜÅðRs[ | |
1937 | + Delete(name, 1, 1); | |
1938 | + pose := AnsiPos('"', name); | |
1939 | + if (pose > 0) then begin | |
1940 | + Delete(name, pose, Length(name)); | |
1941 | + end else begin | |
1942 | + pose := AnsiPos(' ', name); | |
1943 | + if (pose > 0) then begin | |
1944 | + Delete(name, pose, Length(name)); | |
1945 | + end; | |
1946 | + end; | |
1947 | + end else begin | |
1948 | + pose := AnsiPos(' ', name); | |
1949 | + if (pose > 0) then begin | |
1950 | + Delete(name, pose, Length(name)); | |
1951 | + end; | |
1952 | + end; | |
1953 | + end; | |
1954 | + lname := AnsiLowerCase(name); | |
1955 | + for i := 0 to Length(IGNORE_NAMES) do begin | |
1956 | + if lname = IGNORE_NAMES[i] then begin | |
1957 | + name := ''; | |
1958 | + break; | |
1959 | + end; | |
1960 | + end; | |
1961 | + pos := AnsiPos(VALUE_MARK, tmp); | |
1962 | + if (name <> '') and (pos > 0) then begin | |
1963 | + value := Copy(Rawtext, pos + Length(VALUE_MARK), Length(line)); | |
1964 | + //¼p"ÅnÜÁÄ¢é© | |
1965 | + if AnsiPos('"', value) = 1 then begin | |
1966 | + // ¼p"ÜÅðRs[ | |
1967 | + Delete(value, 1, 1); | |
1968 | + pose := AnsiPos('"', value); | |
1969 | + if (pose > 0) then begin | |
1970 | + Delete(value, pose, Length(value)); | |
1971 | + end else begin | |
1972 | + pose := AnsiPos(' ', value); | |
1973 | + if (pose > 0) then begin | |
1974 | + Delete(value, pose, Length(value)); | |
1975 | + end; | |
1976 | + end; | |
1977 | + end else begin | |
1978 | + pose := AnsiPos(' ', value); | |
1979 | + if (pose > 0) then begin | |
1980 | + Delete(value, pose, Length(name)); | |
1981 | + end; | |
1982 | + end; | |
1983 | + end; | |
1984 | + if (name <> '') then begin | |
1985 | + ABoard.Cookie := ABoard.Cookie + name + '=' + value + '; '; | |
1901 | 1986 | |
1987 | + end; | |
1988 | + Delete(tmp, 1, Length(line)); | |
1989 | + Delete(Rawtext, 1, Length(line)); | |
1990 | + pos := AnsiPos(INPUT_MARK, tmp); | |
1991 | + end; | |
1992 | +end; | |
1902 | 1993 | |
1903 | 1994 | //! ToXVÌANVÌUpdateCxg@ÈP̽ß^C}[Ư¶ÉµÄ¨ |
1904 | 1995 | procedure TEditorForm.UpdateSambaActionUpdate(Sender: TObject); |
@@ -2341,8 +2432,7 @@ begin | ||
2341 | 2432 | Result := Result + 'MDMD=' + GikoSys.Setting.BeCode + '; ' |
2342 | 2433 | + 'DMDM=' + GikoSys.Setting.BeUserID + '; '; |
2343 | 2434 | end; |
2344 | - | |
2345 | - end; | |
2435 | + end; | |
2346 | 2436 | |
2347 | 2437 | Result := 'Cookie: ' + Result + 'NAME=' + NameComboBox.Text + '; MAIL=' + MailComboBox.Text; |
2348 | 2438 |
@@ -264,7 +264,7 @@ const | ||
264 | 264 | ZERO_DATE: Integer = 25569; |
265 | 265 | BETA_VERSION_NAME_E = 'beta'; |
266 | 266 | BETA_VERSION_NAME_J = 'ÊÞÀ'; |
267 | - BETA_VERSION = 58; | |
267 | + BETA_VERSION = 59; | |
268 | 268 | BETA_VERSION_BUILD = ''; //!< debugÅÈÇ |
269 | 269 | APP_NAME = 'gikoNavi'; |
270 | 270 | BE_PHP_URL = 'http://be.2ch.net/test/p.php?i='; |
@@ -1,4 +1,4 @@ | ||
1 | -¡MRir Version1.00 ÊÞÀ58 Readme.txt | |
1 | +¡MRir Version1.00 ÊÞÀ59 Readme.txt | |
2 | 2 | |
3 | 3 | |
4 | 4 | ------------------------------ |
@@ -108,6 +108,9 @@ LICENSE | ||
108 | 108 | ------------------------------ |
109 | 109 | ð |
110 | 110 | ------------------------------ |
111 | +2008/XX/XX | |
112 | + Version ÊÞÀ59 | |
113 | + | |
111 | 114 | 2008/09/20 |
112 | 115 | Version ÊÞÀ58 |
113 | 116 | vr [ÌURL©ço^µÄ éOAvðN®·é@\ðÇÁ |