OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'Bb62'.
[gikonavigoeson/gikonavi.git] / ExternalThreadItem.pas
index 7079232..18d2c10 100644 (file)
@@ -31,7 +31,8 @@ type
                tipDownloadHost,                                // : string                     // \8d¡\82Ì\83z\83X\83g\82Æ\88á\82¤\8fê\8d\87\82Ì\83z\83X\83g
                tipAgeSage,                                                     // : TThreadAgeSage     // \83A\83C\83e\83\80\82Ì\8fã\82°\89º\82°
                tipURL,                                                                 // : string                     // \83X\83\8c\83b\83h\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é\8dÛ\82Ì URL
-               tipFilePath                                                     // : string                     // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
+               tipFilePath,                                                    // : string                     // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
+               tipJumpAddress                                                  // : Integer            // JUMP\90æ\83\8c\83X\94Ô\8d\86
        );
 
        // *************************************************************************
@@ -113,7 +114,7 @@ function ThreadItemDat2HTML(
 
 implementation
 
-uses ExternalBoardManager, GikoSystem, BoardGroup;
+uses ExternalBoardManager, GikoSystem, BoardGroup, HTMLCreate, MojuUtils;
 
 // *************************************************************************
 // TThreadItem \83N\83\89\83X\82Ì\83v\83\8d\83p\83e\83B\82ð\8eæ\93¾\82·\82é
@@ -168,6 +169,8 @@ begin
                        Result := DWORD( CreateResultString( threadItem.URL ) );
                tipFilePath:                                                                                                            // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
                        Result := DWORD( CreateResultString( threadItem.FilePath ) );
+               tipJumpAddress:
+                       Result := threadItem.JumpAddress;
        else
                Result := 0;
        end;
@@ -206,7 +209,8 @@ begin
                tipRound:                                                               // : Boolean            // \8f\84\89ñ\83t\83\89\83O
                        threadItem.Round                                := Boolean( param );
                tipRoundName:                                           // : string                     // \8f\84\89ñ\96¼
-                       threadItem.RoundName            := string( PChar( param ) );
+                       //threadItem.RoundName          := string( PChar( param ) );
+                       threadItem.RoundName            := PChar( param );
                tipIsLogFile:                                           // : Boolean            // \83\8d\83O\91\8dÝ\83t\83\89\83O
                        threadItem.IsLogFile            := Boolean( param );
                tipKokomade:                                            // : Integer            // \83R\83R\82Ü\82Å\93Ç\82ñ\82¾\94Ô\8d\86
@@ -225,8 +229,10 @@ begin
                        threadItem.AgeSage                      := TGikoAgeSage( param );
                tipURL:                                                                 // : string                     // \83X\83\8c\83b\83h\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é\8dÛ\82Ì URL
                        threadItem.URL                                  := string( PChar( param ) );
-               tipFilePath:                                            // : string                     // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
-                       threadItem.FilePath                     := string( PChar( param ) );
+               //tipFilePath:                                          // : string                     // \82±\82Ì\83X\83\8c\82ª\95Û\91\82³\82ê\82Ä\82¢\82é\83p\83X
+               //      threadItem.FilePath                     := string( PChar( param ) );
+               tipJumpAddress:
+                       threadItem.JumpAddress          := param;
        end;
 
 end;
@@ -289,31 +295,35 @@ var
        threadItem : TThreadItem;
        res : TResRec;
        no : string;
+       resLink : TResLinkRec;
 begin
 
        threadItem      := TThreadItem( inInstance );
        // \88ø\90\94\82ð\95ª\89ð
-       res                                     := GikoSys.DivideStrLine( string( inDatRes ) );
-    if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin
-        res.FBody              := GikoSys.AddAnchorTag( res.FBody );
-        res.FBody              := GikoSys.ConvRes( res.FBody, threadItem.ParentBoard.BBSID, ChangeFileExt( threadItem.FileName, '' ), 'bbs', 'key', 'st', 'to', 'nofirst', 'true',threadItem.URL );
-
-        no                                     := IntToStr( inResNo );
-
-        try
-            if GikoSys.Setting.UseSkin then begin
-                // \83X\83L\83\93
-                if inIsNew then
-                    Result := CreateResultString( GikoSys.SkinedRes(
-                        GikoSys.LoadFromSkin(
-                            GikoSys.Setting.GetSkinNewResFileName, threadItem, threadItem.SizeByte
-                        ), res, no
+       THTMLCreate.DivideStrLine( string( inDatRes ) , @res);
+       if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin
+               res.FBody               := THTMLCreate.DeleteLink(res.FBody);
+               resLink.FBbs    := threadItem.ParentBoard.BBSID;
+               resLink.FKey    := ChangeFileExt( threadItem.FileName, '' );
+               HTMLCreater.AddAnchorTag( @res );
+               HTMLCreater.ConvRes( @res, @resLink );
+
+               no                                      := IntToStr( inResNo );
+
+               try
+                       if GikoSys.Setting.UseSkin then begin
+                               // \83X\83L\83\93
+                               if inIsNew then
+                                       Result := CreateResultString( HTMLCreater.SkinedRes(
+                                               HTMLCreater.LoadFromSkin(
+                            GikoSys.GetSkinNewResFileName, threadItem, threadItem.Size
+                                               ), @res, no
                     ) )
                 else
-                    Result := CreateResultString( GikoSys.SkinedRes(
-                        GikoSys.LoadFromSkin(
-                            GikoSys.Setting.GetSkinResFileName, threadItem, threadItem.SizeByte
-                        ), res, no
+                                       Result := CreateResultString( HTMLCreater.SkinedRes(
+                                               HTMLCreater.LoadFromSkin(
+                            GikoSys.GetSkinResFileName, threadItem, threadItem.Size
+                        ), @res, no
                     ) );
             end else if GikoSys.Setting.UseCSS then begin
                 // CSS
@@ -385,7 +395,7 @@ begin
        try
                if GikoSys.Setting.UseSkin then begin
                        // \83X\83L\83\93
-                       skinHeader := GikoSys.LoadFromSkin( GikoSys.Setting.GetSkinHeaderFileName, threadItem, threadItem.SizeByte );
+                       skinHeader := HTMLCreater.LoadFromSkin( GikoSys.GetSkinHeaderFileName, threadItem, threadItem.Size );
                        if Length( optionalHeader ) > 0 then
                                skinHeader :=
                                        StringReplace( skinHeader, '</head>', optionalHeader + '</head><a name="top"></a>', [] );
@@ -441,7 +451,7 @@ begin
        try
                if GikoSys.Setting.UseSkin then begin
                        // \83X\83L\83\93
-                       skinFooter := GikoSys.LoadFromSkin( GikoSys.Setting.GetSkinFooterFileName, threadItem, threadItem.SizeByte );
+                       skinFooter := HTMLCreater.LoadFromSkin( GikoSys.GetSkinFooterFileName, threadItem, threadItem.Size );
                        if Length( optionalFooter ) > 0 then
                                skinFooter :=
                                        StringReplace( skinFooter, '</body>', optionalFooter + '</body>', [] );