#----------<<<<< PSP CACHE SIGN >>>>>----------# $| = 1; package TA::Psp::P777777::P7777772E6173616869626565722E636F2E6A70::P68747470::P656E6A6F79::P726563697065::P736561726368::P7265636970652E7073702E68746D6C; use TA::Base; our @ISA = qw( TA::Base ); my $self = __PACKAGE__ -> new(); sub new { my $pkg = shift; return bless $pkg -> SUPER::new(), $pkg } sub DESTROY { my $self = shift; $SESSION -> DESTROY() if ref $SESSION; return $self -> SUPER::DESTROY(); } my %param = (); $param{ psp_library_name } = 'PSP::LIB::NoCache'; $param{ file } = '/www/execute/web-service/lib/lib_perl.mod_perl2/TA/PSP/NoCache.psp.html'; #=============================================================================# # BEGIN REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/TA/PSP/NoCache.psp.html #=============================================================================# $ENV{ QUERY_STRING } .= "&CACHE_STATUS=NO_CACHE"; # 304 送出を防止するダミー文字列 $HEADER -> setNoCache( 1 ); #=============================================================================# # END REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/TA/PSP/NoCache.psp.html #=============================================================================# #=============================================================================# # BEGIN REQUIRE : /www/www.asahibeer.co.jp/http/enjoy/recipe/search/template/image_map.tmp.html #=============================================================================# #=============================================================================# # END REQUIRE : /www/www.asahibeer.co.jp/http/enjoy/recipe/search/template/image_map.tmp.html #=============================================================================# my %param = (); $param{ psp_library_name } = 'PSP::AB::RECIPE::A::Format'; $param{ file } = '/www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE::A::Format.psp.html'; #=============================================================================# # BEGIN REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/Format.psp.html #=============================================================================# #=======================================================================# # 初期化 # #=======================================================================# $PARAM -> { WORD } = ""; $PARAM -> { NOT } = ""; $PARAM -> { LIMIT } = 15; $PARAM -> { SORT } = "RECIPE_INSERT_DATE DESC"; $PARAM -> { RECIPE_FOOD_B_CODE } = ""; $PARAM -> { RECIPE_FOOD_M_CODE } = ""; $PARAM -> { RECIPE_FOOD_L_CODE } = ""; $PARAM -> { RECIPE_DRINK_B_CODE } = ""; $PARAM -> { RECIPE_DRINK_M_CODE } = ""; $PARAM -> { RECIPE_DRINK_L_CODE } = ""; $PARAM -> { RECIPE_GENRE } = ""; $PARAM -> { RECIPE_DIVIS } = ""; $PARAM -> { RECIPE_SEASON } = ""; $PARAM -> { RECIPE_TIME } = ""; $PARAM -> { RECIPE_DIFF } = ""; $PARAM -> { RECIPE_WEEK } = ""; $PARAM -> { SEP } = "_S__SEP__S_"; #=======================================================================# # テーブル設定(調理時間テーブル) # #=======================================================================# $PARAM -> { TIME } = { # 1 => "5分", # 2 => "15分", # 3 => "30分", # 4 => "45分", # 5 => "60分", # 6 => "60分以上" # }; # #=======================================================================# # テーブル設定(季節テーブル) # #=======================================================================# $PARAM -> { SEASON } = { # 1 => "冬", # 2 => "春", # 3 => "夏", # 4 => "秋", # }; # #-----------------------------------------------------------------------# #=======================================================================# # 再構築 # #=======================================================================# my $sep = $PARAM -> { SEP }; $PARAM -> { SORT } = "RECIPE_DIFFICULTY" if( $CGI -> get( "S" ) eq "D" ); $PARAM -> { LIMIT } = $CGI -> get( "L" ) if( $CGI -> get( "L" ) =~ /^\d{2}$/ ); $PARAM -> { RECIPE_TIME } = $CGI -> get( "TIME" ) if( $CGI -> get( "TIME" ) =~ /^[1-6]$/ ); $PARAM -> { RECIPE_GENRE } = $CGI -> get( "GENRE" ) + 0 if( $CGI -> get( "GENRE" ) =~ /^\d\d\d$/ ); $PARAM -> { RECIPE_DIVIS } = $CGI -> get( "DIVIS" ) + 0 if( $CGI -> get( "DIVIS" ) =~ /^\d\d\d$/ ); $PARAM -> { RECIPE_SEASON } = $CGI -> get( "SEASON" ) if( $CGI -> get( "SEASON" ) =~ /^[1-4]$/ ); $PARAM -> { RECIPE_DIFF } = $CGI -> get( "DIFF" ) if( $CGI -> get( "DIFF" ) =~ /^[1-3]$/ ); $PARAM -> { RECIPE_WEEK } = $CGI -> get( "WEEK" ) if( $CGI -> get( "WEEK" ) eq '1' ); if( $CGI -> get( "WORD" ) ) { my $word = $CGI -> get( "WORD" ); $word =~ s/ / /g; $word =~ s/,+/ /g; $word =~ s/\s+/$sep/g; $PARAM -> { WORD } = $word; } if( $CGI -> get( "NOT" ) ) { my $word = $CGI -> get( "NOT" ); $word =~ s/ / /g; $word =~ s/,+/ /g; $word =~ s/\s+/$sep/g; $PARAM -> { NOT } = $word; } if( $CGI -> get( "FOOD" ) ) { if( $CGI -> get( "FOOD" ) =~ /^\d+$/ ) { my @word = $STR -> getBreak( "4", $CGI -> get( "FOOD" ) ); my $cnt = 0; foreach( @word ) { if( !$cnt ) { $PARAM -> { RECIPE_FOOD_B_CODE } = $_ + 0; } elsif( $cnt == 1 ) { $PARAM -> { RECIPE_FOOD_M_CODE } = $_ + 0; } else { $PARAM -> { RECIPE_FOOD_L_CODE } = $_ + 0; } $cnt++; } } } if( $CGI -> get( "DRINK" ) ) { if( $CGI -> get( "DRINK" ) =~ /^\d+$/ ) { my @word = $STR -> getBreak( "4", $CGI -> get( "DRINK" ) ); my $cnt = 0; foreach( @word ) { if( !$cnt ) { $PARAM -> { RECIPE_DRINK_B_CODE } = $_ + 0; } elsif( $cnt == 1 ) { $PARAM -> { RECIPE_DRINK_M_CODE } = $_ + 0; } else { $PARAM -> { RECIPE_DRINK_L_CODE } = $_ + 0; } $cnt++; } } } #=============================================================================# # END REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/Format.psp.html #=============================================================================# if (!$PARAM -> { RECIPE_FOOD_B_CODE } || ( $PARAM -> { RECIPE_FOOD_B_CODE } && $PARAM -> { WORD } )) { TA::Psp::printPsp ' '; my %param = (); $param{ psp_library_name } = 'PSP::AB::RECIPE::A::SearchCount'; $param{ file } = '/www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE::A::SearchCount.psp.html'; #=============================================================================# # BEGIN REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/SearchCount.psp.html #=============================================================================# $self -> create( "AB::PSP::RECIPE::A::SearchCount" ) -> init() -> execute( %param ); #=============================================================================# # END REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/SearchCount.psp.html #=============================================================================# } my %param = (); $param{ psp_library_name } = 'PSP::AB::RECIPE::A::Recipe'; $param{ file } = '/www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE::A::Recipe.psp.html'; #=============================================================================# # BEGIN REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/Recipe.psp.html #=============================================================================# $self -> create( "AB::PSP::RECIPE::A::Recipe" ) -> init() -> execute( %param ); #=============================================================================# # END REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/AB/PSP/RECIPE/A/Recipe.psp.html #=============================================================================# #=============================================================================# # BEGIN REQUIRE : /www/www.asahibeer.co.jp/http/enjoy/recipe/search/require/common.tmp.html #=============================================================================# # ********** 汎用ツール ********** sub createTable { return shift -> create("TA::DATA::Table") } sub createWhere { return shift -> create("TA::SQL::Where") } sub createSelect { return shift -> create("TA::SQL::Select") } sub createInsert { return shift -> create("TA::SQL::Insert") } sub createUpdate { return shift -> create("TA::SQL::Update") } sub createDelete { return shift -> create("TA::SQL::Delete") } sub createMysqlDb { return shift -> create("AB::MYSQL::Db") } sub createOracleDb { return shift -> create("AB::COMMON::Db") } my $select = $self -> createSelect() -> init(); my $insert = $self -> createInsert() -> init(); my $update = $self -> createUpdate() -> init(); my $delete = $self -> createDelete() -> init(); my $where = $self -> createWhere() -> init(); if ($ENV{ 'HTTP_HOST' } =~ /^www/) { $PARAM -> { 'CURRENT_HOST_DB' } = 'WWW'; } elsif ($ENV{ 'REQUEST_URI' } =~ /recipe_subw/) { $PARAM -> { 'CURRENT_HOST_DB' } = 'SUB'; } elsif ($ENV{ 'REQUEST_URI' } =~ /recipe_subs/) { $PARAM -> { 'CURRENT_HOST_DB' } = 'SUB'; } else { $PARAM -> { 'CURRENT_HOST_DB' } = 'WWW'; } # ************************************************** # # レシピ情報取得 # # ************************************************** # sub getRecipe { my $recipeCode = shift; $where -> init() -> set("Z.RECIPE_CODE", $recipeCode) -> add(); $select -> init() -> setTable("AB_T_RECIPE_ZUBAUMA_" . $PARAM -> { 'CURRENT_HOST_DB' } . " Z LEFT JOIN AB_RECIPE_" . $PARAM -> { 'CURRENT_HOST_DB' } . " RS ON RS.RECIPE_CODE = Z.RECIPE_CODE") -> add("Z.PUBLIC_DATE") -> add("Z.PRESENT_DATE_FROM") -> add("Z.PRESENT_DATE_TO") -> add("RS.RECIPE_NAME") -> add("RS.RECIPE_IMAGE1") -> add("RS.RECIPE_COPY") -> setWhere($where); $PARAM -> { MYSQL } = $self -> createMysqlDb() -> init(); return $PARAM -> { MYSQL } -> setSql($select) -> execute() ->getRs(); } #=============================================================================# # END REQUIRE : /www/www.asahibeer.co.jp/http/enjoy/recipe/search/require/common.tmp.html #=============================================================================# # ************************************************** # # レシピページ # # ************************************************** # # レシピ番号 $recipeCode = $PARAM -> { 'TOTAL_RS' } -> get( 'RECIPE_CODE' ); # ********** レシピ情報取得 ********** $recipeData = &getRecipe( $recipeCode ); # レポート対象 $today = $TIME -> init() -> getChar(); if ( $recipeData -> get( 'PUBLIC_DATE' ) ne '' && $today >= $recipeData -> get( 'PUBLIC_DATE' ) ){ $reportFlg = 1; } else { $reportFlg = 0; } # プレゼント対象 $today = $TIME -> init() -> getChar( 1 ); $now = $TIME -> init() -> getChar(); if ( $reportFlg == 1 && $recipeData -> get( 'PRESENT_DATE_FROM' ) ne '' && $recipeData -> get( 'PRESENT_DATE_TO' ) ne '' && $today >= $recipeData -> get( 'PRESENT_DATE_FROM' ) && $now < $recipeData -> get( 'PRESENT_DATE_TO' ). '100000' ){ $presentFlg = 1; } else { $presentFlg = 0; } my $ingre_parent = $PARAM -> { 'RECORD_INGRE' } -> select( 'RECIPE_INGRE_PARENT', 1 ) -> sort( 'RECIPE_INGRE_GROUP', 2 ); my $ingre_base = $PARAM -> { 'RECORD_INGRE' } -> select( 'RECIPE_INGRE_GROUP', 0 ); $ingre_base -> marge( $ingre_parent ) -> sort( 'SORT', 2 ); my $current_host_cap = $ENV{ 'HTTP_HOST' } =~ /^sub/ ? 'sub' : 'www'; my $current_host_sp = $ENV{ 'HTTP_HOST' } =~ /^sub/ ? 'sub' : ''; # 2015/5/8 作り方画像追加対応 $PARAM -> { 'IMG_DIR_MAKE_FINA' } = '/www/web-service/http/util/recipe/make_picture/final/'; $PARAM -> { 'IMG_DIR_MAKE_FINA_EXTERNAL' } = '/web-service/common/util/recipe/make_picture/final/'; $PARAM -> { 'IMG_DIR_MAKE_FINA' } .= $PARAM -> { 'TOTAL_RS' } -> get( 'RECIPE_CODE' ). '/'; $PARAM -> { 'IMG_DIR_MAKE_FINA_EXTERNAL' } .= $PARAM -> { 'TOTAL_RS' } -> get( 'RECIPE_CODE' ). '/'; my $make_picture_table = $self -> createTable() -> init(); if ( -f $PARAM -> { 'IMG_DIR_MAKE_FINA' }. 'PICTURE_LIST' ){ $make_picture_table -> read( $PARAM -> { 'IMG_DIR_MAKE_FINA' }. 'PICTURE_LIST' ); } # 2015/11/02 レシピキャンペーン対応 $PARAM -> { 'RECIPE_CODE_FILE' } = '/www/www.asahibeer.co.jp/http/enjoy/recipe/search/uchibaru/RECIPE_CODE'; my $recipe_code_table = $self -> createTable() -> init(); if ( -f $PARAM -> { 'RECIPE_CODE_FILE' } ){ $recipe_code_table -> read( $PARAM -> { 'RECIPE_CODE_FILE' } ); } # ポイントバナー画像置き場 my $point_banner = "/enjoy/recipe/point/" . $CGI -> get( "CODE" ) . "/ttl_point02_2.png"; my $point_banner_path = "/www/www.asahibeer.co.jp/http/" . $point_banner; # 動画ID取得 my $movie_id = ""; if ( $PARAM -> { 'TOTAL_RS' } -> get( "RECIPE_MOVIE" ) ) { $movie_id = $PARAM -> { 'TOTAL_RS' } -> get( "RECIPE_MOVIE" ); $movie_id =~ s/^https:\/\/youtu.be\///; $movie_id =~ s/\///; } TA::Psp::printPsp ' '; #=============================================================================# # BEGIN REQUIRE : /www/web-service/http/util/require/redirect/pc/redirect_recipesearch.tmp.html #=============================================================================# $PARAM -> { jump_to } = 'https://' . ( $ENV{ 'HTTP_HOST' } =~ /^sub/ ? 'sub' : 'www' ) . '.asahibeer.co.jp/enjoy/recipe/sp/recipe.psp.html'; my $jump_to_p = ''; $jump_to_p = '?CODE=' . $STR -> getEncodeHtml( $CGI -> get( 'CODE' ) ) if $CGI -> get( 'CODE' ); $jump_to_p .= '&sc_cid=' . $STR -> getEncodeHtml( $CGI -> get( 'sc_cid' ) ) if $CGI -> get( 'sc_cid' ); $jump_to_p =~ s/^&/\?/; # 鬆ュ縺ョ&繧?縺ォ螟画鋤 $PARAM -> { jump_to } .= $jump_to_p; my %param = (); $param{ psp_library_name } = 'PSP::ML::REDIRECT'; $param{ file } = '/www/execute/web-service/lib/lib_perl.mod_perl2/PSML/REDIRECT.psp.html'; $param{ smp } = $PARAM -> { jump_to }; #=============================================================================# # BEGIN REQUIRE : /www/execute/web-service/lib/lib_perl.mod_perl2/PSML/REDIRECT.psp.html #=============================================================================# sub createTable { return shift -> create( 'TA::DATA::Table' ) } $param{ title } ||= $param{ content }; $param{ title } ||= ""; $param{ title } =~ s/^\x20+//; $param{ title } =~ s/\x20+$//; $param{ title } =~ s/^(\x81\x40)+//; $param{ title } =~ s/(\x81\x40)+$//; $param{ mobile } = $param{ url } unless $param{ mobile }; #==========================================================================# # 端末情報構造体初期化 # #==========================================================================# $PARAM -> { TerminalInfo } = {}; #==========================================================================# # 端末機種判定 # #==========================================================================# my @user_agent = split /\//, $ENV{ HTTP_USER_AGENT }; #--------------------------------------------------------------------------# # i-mode # #--------------------------------------------------------------------------# if ( $user_agent[ 0 ] eq 'DoCoMo' ) { $PARAM -> { TerminalInfo } -> { Type } = 'i-mode'; my ( $version ) = split /\x20+/, $user_agent[ 1 ]; $PARAM -> { TerminalInfo } -> { Version } = int( $version ); $PARAM -> { TerminalInfo } -> { Type } = 'i-mode_2' if $PARAM -> { TerminalInfo } -> { Version } > 1; } #--------------------------------------------------------------------------# # EZweb 旧端末 # #--------------------------------------------------------------------------# elsif ( $user_agent[ 0 ] eq 'UP.Browser' ) { $PARAM -> { TerminalInfo } -> { Type } = 'ezweb' } #--------------------------------------------------------------------------# # EZweb WAP 2.0 対応端末 # #--------------------------------------------------------------------------# elsif ( $user_agent[ 0 ] =~ m/^KDDI/ ) { $PARAM -> { TerminalInfo } -> { Type } = 'ezweb_2' } #--------------------------------------------------------------------------# # ボーダフォン ( J-SKY ) # #--------------------------------------------------------------------------# elsif( $user_agent[ 0 ] eq 'J-PHONE' || $user_agent[ 0 ] eq 'VODAFONE' ) { $PARAM -> { TerminalInfo } -> { Version } = int( $user_agent[ 1 ] ); if ( $PARAM -> { TerminalInfo } -> { Version } >= 4 ) { $PARAM -> { TerminalInfo } -> { Type } = 'vodafone_2' } elsif ( $user_agent[ 0 ] eq 'SoftBank' ) { $PARAM -> { TerminalInfo } -> { Type } = 'vodafone_2' } else { $PARAM -> { TerminalInfo } -> { Type } = 'vodafone' } } #--------------------------------------------------------------------------# # ボーダフォン ( 3GC ) # #--------------------------------------------------------------------------# elsif( $user_agent[ 0 ] eq 'Vodafone' || $user_agent[ 0 ] =~ m/^MOT/ ) { $PARAM -> { TerminalInfo } -> { Type } = 'vodafone_2' } #--------------------------------------------------------------------------# # ソフトバンク # #--------------------------------------------------------------------------# elsif( $user_agent[ 0 ] eq 'SoftBank' ) { $PARAM -> { TerminalInfo } -> { Type } = 'vodafone_2' } #--------------------------------------------------------------------------# # H" # #--------------------------------------------------------------------------# elsif ( $user_agent[ 0 ] eq 'PDXGW' ) { $PARAM -> { TerminalInfo } -> { Type } = 'pdxgw' } #--------------------------------------------------------------------------# # ドットi # #--------------------------------------------------------------------------# elsif ( $user_agent[ 0 ] eq 'ASTEL' ) { $PARAM -> { TerminalInfo } -> { Type } = 'astel' } #--------------------------------------------------------------------------# # DDIPOCKET # #--------------------------------------------------------------------------# elsif ( $ENV{ HTTP_USER_AGENT } =~ m/DDIPOCKET/i ) { $PARAM -> { TerminalInfo } -> { Type } = 'ddi' } #--------------------------------------------------------------------------# # Lモード # #--------------------------------------------------------------------------# elsif ( $user_agent[ 0 ] eq 'L-mode' ) { $PARAM -> { TerminalInfo } -> { Type } = 'l-mode' } #--------------------------------------------------------------------------# # PDA ( CE ) # #--------------------------------------------------------------------------# elsif ( $ENV{ HTTP_USER_AGENT } =~ m/Windows CE/i ) { $PARAM -> { TerminalInfo } -> { Type } = 'wince' } #--------------------------------------------------------------------------# # PDA ( PALM ) # #--------------------------------------------------------------------------# elsif ( $ENV{ HTTP_USER_AGENT } =~ m/Palmscape/i ) { $PARAM -> { TerminalInfo } -> { Type } = 'palm' } #--------------------------------------------------------------------------# # PDA ( SHARP ) # #--------------------------------------------------------------------------# elsif ( $ENV{ HTTP_USER_AGENT } =~ m/sharp pda browser/i ) { $PARAM -> { TerminalInfo } -> { Type } = 'sharp' } #--------------------------------------------------------------------------# # PC # #--------------------------------------------------------------------------# else { $PARAM -> { TerminalInfo } -> { Type } = 'pc' } #==========================================================================# # 携帯端末判定 # #==========================================================================# $PARAM -> { TerminalInfo } -> { Mobile } = 0; $PARAM -> { TerminalInfo } -> { Mobile } = 1 if $PARAM -> { TerminalInfo } -> { Type } eq 'astel' || $PARAM -> { TerminalInfo } -> { Type } =~ m/^vodafone/ || $PARAM -> { TerminalInfo } -> { Type } =~ m/^ezweb/ || $PARAM -> { TerminalInfo } -> { Type } =~ m/^i-mode/ || $PARAM -> { TerminalInfo } -> { Type } eq 'pdxgw' || $PARAM -> { TerminalInfo } -> { Type } eq 'ddi'; #--------------------------------------------------------------------------# my $title = $param{ title }; my $mobile_url = $param{ mobile }; my $pc_url = $param{ pc }; my $smp_url = $param{ smp }; #--------------------------------------------------------------------------# $pc_url =~ s/^http:\/\/www\./http:\/\/sub\./ if $ENV{ HTTP_HOST } =~ m/^sub\./; $smp_url =~ s/^http:\/\/sp\./http:\/\/subsp\./ if $ENV{ HTTP_HOST } =~ m/^sub\./; # スマートフォン判定 my ( $file, $cnt, $name ) = ( '', '', '' ); if ( $PARAM -> { TerminalInfo } -> { Type } eq 'pc' ) { $file = $self -> createTable() -> read( '/www/execute/web-service/lib/lib_perl.mod_perl2/PSML/data/SMARTPHONE' ); $cnt = $file -> getCount(); for ( $i = 0; $i < $cnt; $i++ ) { $name = $file -> get( 'NAME', $i ); if ( $ENV{ HTTP_USER_AGENT } =~ m/$name/i ) { $PARAM -> { TerminalInfo } -> { SmartPhone } = 'smp'; } } } if ( $PARAM -> { TerminalInfo } -> { Mobile } ) { return $HEADER -> redirec